Dando sentido del tacto a los robots

La tecnología GelSight permite a los robots medir la dureza de los objetos y manipular herramientas pequeñas

Hace ocho años, el grupo de investigación de Ted Adelson en el Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL) de MIT reveló una nueva tecnología de sensores, llamada GelSight, que utiliza el contacto físico con un objeto para proporcionar un mapa tridimensional notablemente detallado de su superficie.

Ahora, al montar sensores GelSight en las pinzas de los brazos robóticos, dos equipos del MIT le han dado a los robots una mayor sensibilidad y destreza. Los investigadores presentaron su trabajo en dos artículos en la Conferencia Internacional sobre Robótica y Automatización.

En un artículo, el grupo de Adelson usa los datos del sensor GelSight para permitir que un robot juzgue la dureza de las superficies que toca, una habilidad crucial si los robots domésticos deben manejar objetos cotidianos.

En el otro, Robot Locomotion Group de Russ Tedrake en CSAIL utiliza sensores GelSight para permitir que un robot manipule objetos más pequeños de lo que era posible antes.

El sensor GelSight es, de alguna manera, una solución de baja tecnología para un problema difícil. Consiste en un bloque de elastómero transparente, el “gel” en el nombre de sensor, una cara del cual está recubierta con pintura metálica. Cuando la cara cubierta de pintura se presiona contra un objeto, se ajusta a la forma del objeto.

La pintura metálica hace que la superficie del objeto sea reflectiva, por lo que su geometría se vuelve mucho más fácil de inferir para los algoritmos de visión de computadora. Montados en el sensor opuesto a la cara recubierta de pintura del bloque elástico, hay tres luces de colores y una sola cámara.

“[El sistema] tiene luces de colores en diferentes ángulos, y luego tiene este material reflectivo, y al mirar los colores, la computadora … puede descubrir la forma 3D y qué es esa cosa”, explica Adelson, profesora de Ciencias de la Visión en el Departamento de Cerebro y Ciencias Cognitivas.

En ambos conjuntos de experimentos, se montó un sensor GelSight en un lado de una pinza robótica, un dispositivo parecido a la cabeza de una pinza pero con superficies de agarre planas en lugar de puntas puntiagudas.

Puntos de contacto

Para un robot autónomo, medir la suavidad o dureza de los objetos es esencial para decidir no solo dónde y qué tan difícil es agarrarlos, sino también cómo se comportarán cuando los mueva, apile o coloque en diferentes superficies. La detección táctil también podría ayudar a los robots a distinguir objetos que se ven parecidos.

En trabajos anteriores, los robots han intentado evaluar la dureza de los objetos colocándolos sobre una superficie plana y empujándolos suavemente para ver cuánto dan. Pero esta no es la principal forma en que los humanos miden la dureza. Más bien, nuestros juicios parecen basarse en el grado en que el área de contacto entre el objeto y nuestros dedos cambia a medida que lo presionamos. Los objetos más blandos tienden a aplanarse más, aumentando el área de contacto.

Los investigadores del MIT adoptaron el mismo criterio. Wenzhen Yuan, una estudiante graduada en ingeniería mecánica y primera autora del artículo del grupo de Adelson, usó moldes de confitería para crear 400 grupos de objetos de silicona, con 16 objetos por grupo. En cada grupo, los objetos tenían las mismas formas pero diferentes grados de dureza, que Yuan medía usando un instrumento industrial estándar.

Ella luego presionó un sensor GelSight contra cada objeto manualmente, y registró cómo iba cambiando el patrón de contacto, en esencia produciendo una corta película para cada objeto. Para estandarizar el formato de los datos y mantener el tamaño de los datos manejable, extrajo cinco cuadros de cada película, espaciados uniformemente en el tiempo, lo que describe la deformación del objeto que se presionó.

Finalmente, alimentó los datos a una red neuronal, que buscaba automáticamente las correlaciones entre los cambios en los patrones de contacto y las mediciones de dureza. El sistema resultante toma cuadros de video como entradas y produce un puntaje de dureza con una precisión muy alta. Yuan también realizó una serie de experimentos informales en los que sujetos humanos palparon frutas y verduras y los clasificaron según su dureza. En todos los casos, el robot equipado con GelSight llegó a las mismas conclusiones.

A Yuan se le unieron en el documento sus dos asesores de tesis, Adelson y Mandayam Srinivasan, investigador científico senior en el Departamento de Ingeniería Mecánica; Chenzhuo Zhu, estudiante de la Universidad de Tsinghua que visitó el grupo de Adelson el verano pasado; y Andrew Owens, quien realizó su doctorado en ingeniería eléctrica y ciencias de la computación en el MIT y ahora es postdoctorado en la Universidad de California en Berkeley.

Visión obstruida

El documento de Robot Locomotion Group nació de la experiencia del grupo con el Desafío de Robótica (DRC) de la Agencia de Proyectos de Investigación Avanzada de la Defensa, en el que equipos académicos y de la industria compitieron para desarrollar sistemas de control que guiarían a un robot humanoide a través de una serie de tareas relacionadas con una emergencia hipotética.

Normalmente, un robot autónomo utiliza algún tipo de sistema de visión por computadora para guiar su manipulación de objetos en su entorno. Dichos sistemas pueden proporcionar información muy confiable sobre la ubicación de un objeto, hasta que el robot recoge el objeto. Especialmente si el objeto es pequeño, gran parte de él será ocluido por la pinza del robot, lo que hace que la estimación de la ubicación sea mucho más difícil. Por lo tanto, exactamente en el punto en el que el robot necesita conocer la ubicación del objeto con precisión, su estimación se vuelve poco confiable. Este fue el problema al que se enfrentó el equipo de MIT durante el DRC, cuando su robot tuvo que levantar y encender un taladro eléctrico.




“Puedes ver en nuestro video para el DRC que pasamos dos o tres minutos encendiendo el taladro”, dice Greg Izatt, un estudiante graduado en ingeniería eléctrica y ciencias de la computación y primer autor del nuevo artículo. “Sería mucho mejor si tuviéramos una estimación precisa y actualizada de dónde se realizó ese ejercicio y dónde estaban nuestras manos en relación con él”.

Es por eso que Robot Locomotion Group se dirigió a GelSight. Izatt y sus coautores: Tedrake, el profesor de ingeniería eléctrica y ciencias de la computación de Toyota, aeronáutica y astronáutica, e ingeniería mecánica; Adelson; y Geronimo Mirano, otro estudiante graduado en el grupo de Tedrake, que diseñaron algoritmos de control que utilizan un sistema de visión computarizada para guiar la pinza del robot hacia una herramienta y luego pasar la estimación de la ubicación a un sensor GelSight una vez que el robot tiene la herramienta en mano.

En general, el desafío con este enfoque es reconciliar los datos producidos por un sistema de visión con los datos producidos por un sensor táctil. Pero GelSight se basa en una cámara, por lo que su salida de datos es mucho más fácil de integrar con datos visuales que los datos de otros sensores táctiles.

En los experimentos de Izatt, un robot con una pinza equipada con GelSight tuvo que agarrar un destornillador pequeño, sacarlo de una funda y volverlo a su lugar. Por supuesto, los datos del sensor GelSight no describen el destornillador completo, solo una pequeña parte de él. Pero Izatt descubrió que, mientras la estimación del sistema de visión de la posición inicial del destornillador era precisa en unos pocos centímetros, sus algoritmos podrían deducir qué parte del destornillador estaba tocando el sensor GelSight y así determinar la posición del destornillador en la mano del robot.

“Creo que la tecnología GelSight, así como otros sensores táctiles de gran ancho de banda, tendrán un gran impacto en la robótica”, dice Sergey Levine, profesor asistente de ingeniería eléctrica y ciencias de la computación en la Universidad de California en Berkeley. “Para los seres humanos, nuestro sentido del tacto es uno de los factores clave en nuestra sorprendente destreza manual. Los robots actuales carecen de este tipo de destreza y tienen una capacidad limitada para reaccionar a las características de la superficie cuando manipulan objetos. Si se imagina buscar un interruptor de luz en la oscuridad, extraer un objeto de su bolsillo o cualquiera de las otras muchas cosas que puede hacer sin siquiera pensar, todo se basa en la detección táctil.”

“El software finalmente está alcanzando las capacidades de nuestros sensores”, agrega Levine. “Los algoritmos de aprendizaje automático inspirados por las innovaciones en el aprendizaje profundo, y la visión por computadora puede procesar los ricos datos sensoriales de sensores como GelSight para deducir las propiedades de los objetos. En el futuro, veremos este tipo de métodos de aprendizaje incorporados en el entrenamiento de las habilidades de manipulación de inicio a final, que hará que nuestros robots sean más diestros y capaces, y tal vez nos ayuden a comprender algo sobre nuestro propio sentido del tacto y control motor”.

Artículos relacionados:

FlexShapeGripper: el agarre de la lengua de un camaleón


Usando electricidad y agua, un nuevo tipo de motor puede poner microrobots en movimiento

Los actuadores microhidráulicos, más delgados que un tercio del ancho del cabello humano, están demostrando ser los motores más potentes y eficientes a microescala.

Mire a su alrededor y probablemente verá algo que funciona con un motor eléctrico. Potentes y eficientes, mantienen gran parte de nuestro mundo en movimiento, desde nuestras computadoras hasta refrigeradores y ventanas automáticas en nuestros autos. Pero estas cualidades se hacen difíciles cuando estos motores se reducen a tamaños más pequeños que un centímetro cúbico.

“A escalas muy pequeñas, se obtiene un calentador en lugar de un motor”, dijo Jakub Kedzierski, personal del Grupo de Tecnologías de Química, Microsistema y Nanoescala del Laboratorio Lincoln del MIT. Hoy en día, no existe ningún motor que sea altamente eficiente y poderoso a la vez que microscópico. Y eso es un problema, porque los motores a esa escala son necesarios para poner en movimiento los sistemas miniaturizados: micro guías que pueden apuntar los láseres con una fracción de un grado a lo largo de miles de kilómetros, drones diminutos que pueden meterse entre escombros para encontrar sobrevivientes, o incluso bots que pueden arrastrarse por el tracto digestivo humano.

Para ayudar a sistemas de energía como estos, Kedzierski y su equipo están creando un nuevo tipo de motor llamado actuador microhidráulico. Los actuadores se mueven con un nivel de precisión, eficiencia y potencia que aún no ha sido posible a microescala. Un artículo que describe este trabajo fue publicado en Science Robotics.

Los actuadores microhidráulicos utilizan una técnica llamada electrohumectación para lograr el movimiento. El electrohumectado aplica una tensión eléctrica a las gotas de agua sobre una superficie sólida para distorsionar la tensión superficial del líquido. Los actuadores aprovechan esta distorsión para forzar a las gotas de agua dentro del actuador a moverse, y con ellas, a todo el actuador.

“Piensa en una gota de agua en una ventana; la fuerza de la gravedad la distorsiona y se mueve hacia abajo”, dijo Kedzierski. “Aquí, usamos voltaje para causar la distorsión, que a su vez produce movimiento”.

El actuador está construido en dos capas. La capa inferior es una lámina de metal con electrodos estampados en ella. Esta capa está cubierta con un dieléctrico, un aislante que se polariza cuando se aplica un campo eléctrico. La capa superior es una lámina de polyimida, un plástico fuerte, que tiene perforados canales poco profundos. Los canales guían la trayectoria de docenas de gotas de agua que se aplican entre las dos capas y se alinean con los electrodos. Para evitar la evaporación, el agua se mezcla antes con una solución de cloruro de litio, que reduce la presión de vapor del agua lo suficiente como para que las gotas del tamaño de un micrómetro duren meses. Las gotas mantienen su forma redondeada (en lugar de ser aplastadas entre las capas) debido a su tensión superficial y su tamaño relativamente pequeño.

El actuador cobra vida cuando se aplica voltaje a los electrodos, aunque no a todos a la vez. Se realiza en un ciclo de activación de dos electrodos por gota a la vez. Sin voltaje, una sola gota de agua descansa neutralmente en dos electrodos, 1 y 2. Pero al aplicar un voltaje a los electrodos 2 y 3, de repente la gota se deforma, estirándose para tocar el electrodo energizado 3 y se retira del electrodo 1.

Esta fuerza horizontal en una gota no es suficiente para mover el actuador. Pero con este ciclo de voltaje aplicado simultáneamente a los electrodos debajo de cada gota en la matriz, la capa de polyimida completa se desliza para apaciguar la atracción de las gotas hacia los electrodos energizados. Al continuar haciendo circular el voltaje, las gotitas siguen caminando sobre los electrodos y la capa continúa deslizándose; si se corta la tensión, y el actuador se detiene en sus pistas. El voltaje, entonces, se convierte en una herramienta poderosa para controlar con precisión el movimiento del actuador.

Pero, ¿cómo queda el actuador frente a otros tipos de motores? Las dos métricas para medir el rendimiento son la densidad de potencia, o la cantidad de potencia que produce el motor en relación con su peso y eficiencia, o la medida de la energía desperdiciada. Uno de los mejores motores eléctricos en términos de eficiencia y densidad de potencia es el motor del sedán Tesla Modelo S. Cuando el equipo probó los actuadores microhidráulicos, descubrieron que estaban justo detrás de la densidad de potencia del Modelo S (a 0,93 kilovatios por kilogramo) y el rendimiento de eficiencia (con una eficiencia del 60 por ciento a la densidad de potencia máxima). Superaron ampliamente los actuadores piezoeléctricos y otros tipos de microactuadores.

“Estamos entusiasmados porque estamos cumpliendo con ese punto de referencia, y aún estamos mejorando a medida que escalamos a tamaños más pequeños”, dijo Kedzierski. Los actuadores mejoran en tamaños más pequeños porque la tensión de la superficie sigue siendo la misma independientemente del tamaño de las gotas de agua, y las gotas más pequeñas dejan espacio para que aun más gotas entren en el actuador y ejerzan su fuerza horizontal. “La densidad de potencia simplemente se dispara. Es como tener una cuerda cuya fuerza no se debilita a medida que se adelgaza”, agregó.

El último actuador, el que está más cerca del modelo S de Tesla, tenía una separación de 48 micrómetros entre las gotas. El equipo ahora está reduciendo eso a 30 micrómetros. Proyectan que, a esa escala, el actuador coincidirá con el Tesla en densidad de potencia y, a 15 micrómetros, lo superará.

La reducción de los actuadores es solo una parte de la ecuación. El otro aspecto en el que el equipo está trabajando activamente es la integración 3D. En este momento, un solo actuador es un sistema de dos capas, más delgado que una bolsa de plástico y flexible como ella, también. Quieren apilar los actuadores en un sistema similar a un andamio que pueda moverse en tres dimensiones.

Kedzierski imagina un sistema semejante que imita la matriz muscular de nuestro cuerpo, la red de tejidos que permite a nuestros músculos lograr un movimiento instantáneo, potente y flexible. Diez veces más potentes que el músculo, los actuadores se inspiraron en los músculos de muchas maneras, desde su flexibilidad y ligereza hasta su composición de componentes sólidos y fluidos.

Y así como el músculo es un excelente actuador en la escala de una hormiga o un elefante, estos actuadores microhidráulicos también podrían tener un impacto poderoso no solo a microescala, sino en la macroescala.

“Uno podría imaginar”, dijo Eric Holihan, quien ha estado ensamblando y probando los actuadores, “la tecnología aplicada a los exoesqueletos”, construida con los actuadores como un músculo real, configurado en juntas flexibles en lugar de engranajes. O un ala de avión podría cambiar de forma con comandos eléctricos, con miles de actuadores deslizándose uno sobre el otro para cambiar la forma aerodinámica del ala.

Mientras sus imaginaciones se agitan, el equipo enfrenta desafíos en el desarrollo de grandes sistemas de actuadores. Un desafío es cómo distribuir la potencia en ese volumen. Un esfuerzo paralelo en el laboratorio, que está desarrollando microbaterías para integrarse con los actuadores, podría ayudar a resolver ese problema. Otro desafío es cómo empaquetar los actuadores para eliminar la evaporación.

“La confiabilidad y el empaque continuarán siendo las preguntas predominantes que se nos plantean sobre esta tecnología hasta que demostremos una solución”, dijo Holihan. “Esto es algo que esperamos atacar frontalmente en los próximos meses”.

Fuente: MIT NEWS




¿Un FPGA en un Arduino?

Arduino anunció recientemente una nueva línea de productos, y uno de ellos, el MKR Vidor 4000, incluye un FPGA. ¿Qué harán los diseñadores con el poder de un FPGA en sus manos?

Un FPGA en un Arduino

Arduino es una popular herramienta de creación de prototipos por varias razones. En primer lugar, no requiere un programador voluminoso y caro (como los chips PIC) y se puede programar a través de USB. En segundo lugar, las placas Arduino son de código abierto y, debido a esto, hay muchos fabricantes de placas Arduino que ofrecen precios competitivos. En tercer lugar, los Arduinos son famosos por su robusto entorno de shields y soporte de bibliotecas, lo que hace que el uso de dispositivos complejos como los chips de Ethernet sea cosa fácil.

A medida que progresó la tecnología, también lo hizo el Arduino. En el lanzamiento de las nuevas placas Arduino se reflejan muchas tendencias de la industria. Por ejemplo, la introducción del Arduino Yun agregó capacidades de Wi-Fi, y el Arduino Duo marcó el comienzo con procesadores más potentes. La miniaturización se concretó con el Arduino Nano, y con el LilyPad se introdujo la electrónica portátil. Pero todas estas mejoras involucran hardware especializado que realiza tareas únicas, como comunicaciones por RF o bajo consumo de energía.

Ahora que los FPGA se están volviendo más baratos y más accesibles, Arduino está a punto de lanzar un Arduino con un FPGA incorporado, el MKR Vidor 4000. La parte “MKR” de su nombre se pronuncia como “Maker” (“Creador”), y Massimo Banzi, cofundador de Arduino, se refiere a él como una placa de “factor de forma de creador”. Esto no es sorprendente, ya que generalmente se acepta que Arduino está diseñado para creadores, y no es de especial interés para los profesionales de ingeniería electrónica.

El FPGA

El FPGA incluido es un Intel Cyclone 10CL016, y el sitio web de Arduino afirma que el FPGA contiene 16.000 elementos lógicos, 504 Kb de RAM, 56 multiplicadores 18×18 de hardware para aplicaciones DSP de alta velocidad, etc. El sitio web también establece que los pines FPGA pueden dar salidas de hasta 150MHz, y que también pueden configurarse como puertos de comunicaciones comunes como UART, I2C y SPI. Si es cierto, este complemento FPGA podría ser extremadamente útil para los diseñadores que desean crear sistemas digitales de alta velocidad que necesitan capturar datos y procesarlos rápidamente (como los procesadores de señales digitales).

Sin embargo, ¿cuántos aficionados realmente necesitan usar un FPGA?

¿Cómo ayudará esto a los diseñadores?

El acceso a un FPGA permite que los diseñadores creen circuitos personalizados para conectarse al Arduino, lo que puede eliminar la necesidad de circuitos externos. También permite cargarle las funciones de E/S del Arduino al FPGA, pero conlleva el costo de requerir una línea de comunicación entre el FPGA y el Arduino (a menos que el FPGA y la CPU estén integrados en el mismo paquete, en cuyo caso los dos pueden tener líneas de E/S especiales para su comunicación).

Los FPGA, sin embargo, son dispositivos complejos y, a menudo, se programan en lenguajes como HDL y Verilog, que no son aptos para personas no muy arriesgadas. Si bien Arduino anunció que están diseñando un sistema de compilación basado en la nube que facilitará el uso del FPGA, esto aún está por verse. La mayoría de las veces que un sistema se hace más fácil de usar, sacrifica su poder, capacidad y control. Dicho esto, el Vidor 4000 podría ser una herramienta educativa invaluable para aquellos que desean comenzar con FPGA.

¿Más al estilo pi?

El Vidor 4000 no solo cuenta con la inclusión de un FPGA; también tiene varios dispositivos de E/S que lo hacen parecer más a un Pi que a un Arduino.

El Vidor 4000 incluye también un módulo Wi-Fi Nina W102, un chip criptográfico ECC508, un conector micro HDMI, un conector MIPI para cámara y un conector rápido MiniPCI con hasta 25 pines programables por el usuario. Estas características, especialmente el Wi-Fi incorporado, crean una plataforma de IoT potencialmente popular que puede realizar tareas increíblemente complejas. Con el chip criptográfico incorporado, la verificación SSL y HTTPS se convertirán en una tarea trivial y ayudarán a descargar las tareas de seguridad del microcontrolador principal.

Si bien este dispositivo no será tan poderoso como un Raspberry Pi, definitivamente es más pequeño y está más enfocado en el hardware, algo en lo que la Pi se queda atrás.

Placas competidoras para creadores con FPGA

El Vidor 4000, obviamente, no es la primera placa en salir con capacidades FPGA, pero tampoco es la primera construida teniendo en cuenta la compatibilidad con Arduino. Otro producto ya en el mercado, XLR8, es una tarjeta de desarrollo compatible con Arduino que está basada en FPGA, incluye un microcontrolador integrado de instrucción AVR de 8 bits y es programable a través del IDE de Arduino.

El XLR8 está preconfigurado con “bloques xcelerator”, que son bloques que están especialmente diseñados para manejar tareas específicas. Los bloques con los que viene preinstalada la unidad incluyen un bloque matemático de punto flotante, un servocontrol, un controlador NeoPixel y un ADC mejorado.

La integración de los FPGA en un proyecto Arduino sin duda creará una nueva ola de proyectos e ideas que podrán construir los aficionados, pero los FPGA son dispositivos complejos. Sin embargo, los usuarios de Arduino pueden comenzar a diseñar su propio hardware desde cero y los FPGA incluidos en los microcontroladores pueden cambiar la forma en que se construyen los circuitos.

La nueva placa MKR Vidor 4000 lleva la complejidad de los FPGA a los que no son ingenieros electrónicos.




Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)

A veces lo que se toma con despreocupación, o quizás con falta de conocimientos, al publicarse en un medio tan multitudinario como Internet afecta a otros. Se encuentran afirmaciones totalmente opuestas entre sí “a vuelta de página” (en el caso de Internet, un enlace que sigue a otro en la búsqueda de Google). En este caso, por lo que he visto, la duda surge de publicaciones en los sitios de venta, incluso en los más grandes. Y se trata de la numeración del módulo de encoder rotativo de la serie de Keyes.

Encontrarán fotos rotuladas KY-007, y también KS-007. Al mismo tiempo, me encuentro artículos que muestran listas “oficiales” de Keyes en las cuales NO EXISTE el módulo KY-007. El que venden con esta numeración se trataría en realidad del KY-040, y este sí existe en su catálogo.

Esto para aclarar confusiones si usted compró un módulo que numeraron como KY-007, aclarando a continuación en el título de la venta con un número 040, sin prefijo. Si hace una búsqueda en algún sitio de venta, encontrará un título escrito así.

Hechas las aclaraciones, y para seguir con la publicación ordenada de la serie de módulos, paso a explicar de qué se trata un encoder (o codificador) rotativo (o si prefiere, giratorio).

En principio, los invito a ver el artículo Codificadores de posición angular que aporta muchos conceptos que pueden ser de utilidad. En este caso se trata de un codificador incremental. Este diseño tiene dos salidas levemente defasadas, gracias a lo cual se puede saber en qué dirección gira el eje. Además, han agregado un pulsador que se activa al presionar el eje verticalmente.

Las salidas del módulo están nombradas con las denominaciones CLK (salida A del codificador), DT (salida B del codificador), y SW (correspondiente a “Switch”, o llave/pulsador en castellano). Los otros dos pines que completan son la alimentación + y la tierra o común GND.

Los contactos de la plaqueta están identificados con una leyenda impresa. Es fácil conectar el encoder.

Si se utilizara el decodificador en forma independiente, sus contactos son:

Diagrama de conexiones en la plaqueta KY-040:


Internamente, dos contactos levemente desplazados se deslizan sobre una placa cuyos sectores están conectados a tierra (GND). Como siempre uno de los dos cerrará circuito primero, se puede saber en qué sentido se está girando el codificador monitoreando cuál de las dos líneas se conecta primero a GND (yendo de ALTO a BAJO). Dependiendo del sentido de giro, será primero A o B. Los dos resistores que tiene la placa mantienen las señales en un valor ALTO cuando no hay contacto.

Diagrama mecánico simplificado

Un codificador rotatorio tiene un número fijo de posiciones por revolución. Estas posiciones se sienten fácilmente como pequeños “clics” cuando se acciona el codificador. El diagrama muestra menos contactos para simplicidad visual, pero el concepto de funcionamiento es idéntico si la cantidad es mayor. Por ejemplo, el módulo de Keyes que uso en esta prueba tiene treinta de estas posiciones, aunque entiendo que la cantidad puede variar según el modelo o partida. Esto no modificará los resultados para nuestro uso.


Como en toda llave con contactos mecánicos, la señal no será totalmente limpia. Habrá una serie de rebotes muy rápidos cuando se juntan las partes metálicas, y también algunos al desconectarse. Esto se debe prever en el programa, introduciendo un breve retardo cuando se detecta que una de las señales cambia de valor, y luego se la lee de nuevo para comprobar que efectivamente se ha estabilizado. A este método se le llama debounce en inglés, lo cual significa (no tenemos una palabra para esto) “eliminación de rebote”. Esta denominación se debe a que por elasticidad de los contactos metálicos, por lo general se produce una serie de rebotes de aquel contacto que es móvil hasta que la conexión se establece definitivamente.




El efecto es menor si los contactos se deslizan un sobre otro, como en el caso de este codificador, pero sí existen ruidos y se deben tanto a efectos de rebote como a que los bordes metálicos, a nivel microscópico, no son absolutamente lisos.

Si no se toma esta precaución, los ruidos causarán que la lectura de una vuelta completa del codificador arroje diferentes números.

Programa Básico, Conexión con el Arduino

Para investigar sobre implementaciones más avanzadas recomiendo ver la biblioteca KY-040-Encoder-Library—Arduino de Bill Williams.

Artículos relacionados:

Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)
Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)

Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)

Este módulo zumbador piezoeléctrico Keyes KY-006 puede producir una gama de tonos de sonido dependiendo de la frecuencia de entrada.

Especificaciones:

El módulo KY-006 consiste en un emisor piezoeléctrico de sonido pasivo, que puede reproducir tonos entre 1,5 a 2,5 kHz al encenderlo y apagarlo en diferentes frecuencias usando retardos o PWM.

Voltaje de funcionamiento: 1,5 ~ 15V DC
Rango de generación de tonos: 1,5 ~ 2.5kHz
Dimensiones: 18,5 mm x 15 mm

Diagrama de conexión:

La entrada de señal (S) se conecta al pin digital 9 en el Arduino y masa (indicado por ) a GND. El pin medio no se utiliza.

Uso del piezoeléctrico con la función tone()

Descripción:

La función tone() genera una onda cuadrada de la frecuencia especificada (y un ciclo de trabajo del 50%) en un pin digital del Arduino. Se puede especificar una duración; de lo contrario, la señal continúa hasta que se realiza una llamada a la función noTone(). El pin se puede conectar a un zumbador piezoeléctrico u otro altavoz para reproducir tonos.

Solo se puede generar un tono a la vez. Si ya se está reproduciendo un tono en un pin diferente, la llamada a tone() no tendrá ningún efecto. Si el tono se reproduce en el mismo pin, la llamada establecerá una nueva frecuencia.

El uso de la función tone() interferirá con la salida PWM en los pines 3 y 11 (en placas que no sean Mega).

No es posible generar tonos inferiores a 31 Hz. Para detalles técnicos, vea las notas de Brett Hagman.

NOTA: si desea reproducir diferentes tonos en múltiples pines, debe llamar a la función noTone() en un pin antes de llamar a tone() en el siguiente pin.

Sintaxis:

tone(pin, frecuencia)
■ tone(pin, frecuencia, duración)

Parámetros:

pin: el pin sobre el que generar el tono
frecuencia: la frecuencia del tono en hercios – unsigned int
duración: la duración del tono en milisegundos (opcional) – unsigned long

Feliz cumpleaños

Para Elisa

Canción de Star Wars

Brilla, brilla, pequeña estrella

Módulo de emisor piezoeléctrico pasivo – KY-006: Dibujo de la pieza para el editor Fritzing

Artículos relacionados:

Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)
Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)