jueves, 11 de noviembre de 2010

Dispositivos HIM


Hoy les traigo lo que es un dispositivo HID, cual es su principal ventaja y algunos de los dispositivos HID que existen, espero les sea de utilidad.

Un dispositivo de interfaz humana o HID por sus siglas en inglés (Human Interface Device), es un tipo de dispositivo para computadores que interactúa directamente con los humanos, y que toman entradas de humanos, y que también pueden entregar una salida a los humanos. El termino "HID" comúnmente se refiere a la especificación USB-HID.
Las principales motivaciones para HID eran las de permitir innovaciones en los dispositivos de entrada a la computadora y simplificar el proceso de instalar esos dispositivos. Antes de HID, los dispositivos normalmente se ajustaban a muy estrictos protocolos para el ratón, teclados y joystricks. Cualquier innovación en el hardware, requería sobrecargar el uso de datos en un protocolo existente o la creación de un nuevo driver y la evangelización de un nuevo protocolo para los desarrolladores de aplicación. En contraste con todos los dispositivos HID, entregan paquetes autodescriptivos que pueden contener una infinidad variada de tipos de datos y formatos. Un solo driver HID en la computadora parsea los datos y permite una asociación dinámica de datos de entrada y salida (I/O) con la funcionalidad de la aplicación. Este tiene habilitado la innovación rápida y proliferación de nuevos dispositivos de interfaz humana.
Los objetivos principales y subyacentes de la definición de clase HID son:
  • Ser lo más compacto posible para ahorrar espacio de datos del dispositivo.
  • Permitir la aplicación de software para omitir información desconocida.
  • Ser extensible y robusto.
  • Que soporte la anidación y las colecciones.
  • Ser autodescriptivo para permitir aplicaciones de software genéricas.

HID comunes:
-Teclado
-Joystick
-Tableta de Gráficos

HID menos comunes:

-Volantes
-Pedales
-Wii-remote
La mayoría de los sistemas operativos reconocen dispositivos estándares USB HID, como lo son los teclados y los ratones, sin necesidad de un controlador especial. Cuando se conectan, generalmente se despliega un mensaje en la pantalla diciendo que "un dispositivo HID-compliant ha sido reconocido"
En resúmen un dispositivo HID es aquel que puede ser reconocido en cualquier computadora sin necesidad alguna de instalar algún driver, es decir la computadora lo reconoce casi al instante, esto facilita el uso para las personas y hace que estos dispositivos se puedan usar donde sea sin necesidad de bajar drivers y perder el tiempo instalando programas para utilizar los dispositivos.

Fuente:
http://es.wikipedia.org/wiki/HID

Lo que aprendí en Tercer Parcial!

Hola amigos blogueros, hoy les traigo varios de los conocimientos que adquirí durante tercer parcial, espero los encuentren interesantes. Allá vaaaaan!




Arduino/Switch





Para comenzar, un switch sirve para dar paso a la corriente o no, y esto lo hace mediante el contacto de una placa que permite el paso de la corriente o no.

Por lo tanto si la placa no está en contacto con la placas o bases que envía y la que  recibe la corriente, se podría decir que está en  “off” o de transferencia cero




Si la placa hace contacto con las bases de transferencia y recepción de corriente se consideraría que el estado del switch es “on” o 1








Tierra=GND= - =false =0
Positivo= vcc (voltaje)= +  = true =1
Corriente= positivo
Con el arduino se puede realizar una pequeña prueba con el switch y esto consiste en que conectes al arduino un cable en algún pin de tipo output  o salida para que por medio de ese pin se produzca una corriente que previamente se debió de haber programado (más abajo se muestra un ejemplo de cómo mandar la orden a un pin y que de este se produzca una corriente de salida)

En mi caso, en la clase realizamos la conexión en el pin 22, por lo que por medio de este pin se transferirán dos valores, lo que tienes que hacer es revisar el valor que saca y asignarle una acción de acuerdo a ese valor.










NO= NORMALY OPEN
NC:NORMALY CLOSE
C: COMUN


Primero que nada hay que conectar la tierra al "c"
Posteriormente  si el switch no está siendo  presionado:
"NC" va a leer un 1 (esta recibiedo 5 volts.)
“NO” lee cero.

Pero si lo presionas:
 "NC" ya no recibe corriente
 "NO" es el que recíbe los 5volts. 

Algo así queda la conexión.





Rebotes.

El switch puede que parezca que tiene un funcionamiento perfecto, pero la verdad es que cuando un switch hace contacto con sus contra partes conductoras realmente tiene una especie de rebote que provoca que la energía se transfiera pase y no pase en milésimas de segundo hasta establecerse en un punto de transferencia.
Esto se debe a que las superficies de contacto no están 100% lisas, provocando que algunas partes hagan contacto antes que otras, dando como resultado una especie de rebote.
¿Por qué no lo detectamos nosotros en los dispositivos?
Esto se debe a que normalmente los dispositivos tienen una especie de delay  y un verificador de estado antes de realizar la acción designada al botón.
Para ser un poco más claro dejare un ejemplo con los video juegos , específicamente hablando de los controles. ¿No les ha pasado que después de un tiempo los controles dejan de funcionar bien los botones? ¿o que su reacción es más lenta con el tiempo? Esto se debe al desgaste de las placas o que tengan una superficie cuya textura se encuentra más rugosa de lo  normal provocando que la reacción o el delay de este sea más tardado debido a que primero se tiene q mantener en un punto fijo antes de mandar el impulso o la orden de ejecutar la acción programada.
Espero esta explicación sobre el “rebote” de energía en el switch les sea de utilidad.




 Encender un led con el arduino

Para comenzar esta entrada hay que recordar que los leds suelen requerir entre 3 y 4 volts dependiendo el color y el tamaño de este, ya que recordamos comencemos y el arduino por su naturaleza envía 5 volts por lo que para esta práctica se empleó una resistencia para que el voltaje del arduino no afectara de forma perjudicial al led.

Después  de este recordatorio y aclaraciones comencemos.

Primero que nada, debes contar con el programa del  arduino que se encuentra en esta página:


Este programa nos permitirá programar, compilar y  posteriormente cargar en el microcontrolador de la tarjeta arduino el programa que queramos.

Antes de comenzar a utilizar el arduino es bueno saber en que puerto esta siendo conectado el arduino, para esto se tiene que  ir a propiedades del dispositivo para ver a que puerto está conectado (com1, com2, com3 …).
Ya que detectaste en que puerto esta conectado en el programa arduino vas a tools/serial_port/ com#
Posteriormente  vas a tolos/board y escoges el tipo de arduino que utilizas
Ahora sí, basándonos en el programa ejemplo que se encuentra en el programa “arduino” para encender un led, utilizamos el siguiente  código:

void setup() {              

  pinMode(22, OUTPUT);  
 // en esta parte del programa van las entradas y salidas a utilizar.
// Existen 3 tipos de pines q se pueden utilizar  son los análogos (entrada), P.W.M(salidas) y digitales  (puede ser usado como de entrada y //de salida)
}

void loop() {
  digitalWrite(22, HIGH);   //manda la señal de encendido con HIGH
  delay(1000);              // retrasa el tiempo de ejecucion de la siguiente línea en milisegundos
  digitalWrite(22, LOW);    // manda la señal de apagado  con el LOW
  delay(1000);              
}

Hay dos maneras de conectar el led con el arduino

1:




2:



Cuando se quiere controlar muchos LEDS, es más útil la segunda opción y consiste en:
·       Conectar el pin que quieres con un cable hacia la misma fila que la resistencia.
·       La otra punta de la resistencia se conecta a la fila que la patita positiva del led
·       Por ultimo con otro cable se conecta la patita negativa del led a la negativa o GND del arduino.



Lo compilas y le das upload.



Conversión analógico-digital y control de cervomotor.



El modelo del servomotor que empleamos mi clase para esta platica decía que poseía una resistencia de 1k



Cuando se conecta el potenciometro al multimetro para medir la resistencia.



 los puntos negros son las clavijas conectadas.


Después de explicar brevemente le funcionamiento del potenciómetro y el multímetro en conjunto.

Vamos a las conexiones con la fuente

-En la fuente se colocó una corriente de 5 volts.
- Posteriormente con una configuración en la que colocamos los cables al potenciómetro, se logra realizar una conexión que disminuye o aumente la corriente (en mi caso disminuyo a la mitad ) como se muestra en la imagen, el multímetro al final midió la mitad, 2.5v.



       



Una de las funciones que tienen estos tipos de potenciómetros de perilla es el elevar el volumen de un dispositivo de audio.
-
OTRO EJERCICIO-CONVERTIR DATO ANALÓGICO A DIGITAL







Para este ejercicio, el arduino debe estar programado de la siguiente manera:


void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue, DEC);
}