Archivo de la categoría: Plaquetas

Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)

Bien, yo hubiese obviado hacer un artículo sobre este módulo: es un pulsador, lo mismo que tomar dos cables y unirlos para enviar una señal. Pero bueno, es parte del kit de “sensores” para Arduino, es el que sigue en orden en la secuencia númerica de Keyes, así que aquí está.

El módulo Keyes KY-004 es una plaqueta con un pulsador y una resistencia que, cuando no se pulsa el interruptor, mantiene la línea en 0V, y cuando se lo pulsa envía un nivel alto. Si no estuviese el resistor, la línea de entrada de un microcontrolador quedaría flotante, y por una entrada flotante ingresa ruido. Es decir, no se puede saber qué puede leer el microcontrolador si uno quiere ingresar ese dato.

Módulo KY-004:

El módulo consta de un interruptor táctil o botón pulsador FZ1713 y una resistencia.

Capacidad del contacto: 50mA 12V CC
Temperatura: -25° C a 105° C
Vida de los contactos: 100.000 ciclos.
Fuerza de operación: 180/230 ± 20gf
Dimensiones: 18,5 mm x 15 mm

Conexión:

La línea central se conecta a +5V, la línea marcada con un signo a GND, y la salida está marcada con la letra S. Para conectarlo al Arduino se une a la línea digital 2 de la plaqueta.

Módulo de llave pulsadora – KY-004: 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)




KY-003 Módulo de Sensor Magnético por efecto Hall (Kit de sensores Keyes 3)

Descripción:

El detector magnético Keyes KY-003 contiene un circuito integrado 3144UA-S diseñado para detectar campos magnéticos. Cuando se le aproxima el campo magnético de un objeto (por ejemplo un imán) indica esta detección cerrando a tierra el pin «S«, que es el colector de un transistor NPN sin resistor de polarización. El método de funcionamiento está basado en el efecto Hall.

El pin «S» es el de la señal de detección y corresponde al pin de la derecha de la foto de arriba, el pin del centro es el positivo de la alimentación, y el pin de la izquierda es el negativo (marcado “”).

Diagrama de conexiones del módulo:

Especificaciones:

■ La tensión de trabajo es desde 4,5 a 24 Voltios VDC
■ Consume 3 mA en reposo y 8 mA cuando detecta un campo magnético
■ La tensión de la señal de salida depende de la conexión del resistor de polarización (pull-up): 3,3V, 5V
■ La temperatura de trabajo va desde -40 a 85 grados C.
■ Dimensiones: 18,5 mm x 15 mm

3144EUA-S : Integrado de medición de campo magnético por efecto Hall

El circuito integrado 3144EUA-S, sensible al magnetismo por efecto Hall, y en esta versión comercial puede operar a temperaturas de hasta 85º C. El sensor está diseñado como un interruptor que se enciende/apaga en presencia de un campo magnético. Colocando un imán cerca de él, su salida se activará. La polaridad del campo magnético influye en la acción de conmutación.

El dispositivo incluye un regulador de voltaje interno que le permite operar con voltajes de alimentación de 4,5 a 24 voltios, diodo de protección de inversión de batería, generador de voltaje Hall cuadrático, circuito de compensación de temperatura, amplificador de pequeña señal, disparador Schmitt y salida de colector abierto que puede conducir hasta 25 mA. Con la salida adecuadamente polarizada por un resistor, se puede utilizar con circuitos lógicos bipolares o CMOS.

El A3144– es un reemplazo mejorado para el UGN/UGS3120–. El primer carácter del sufijo del número de pieza determina el rango de temperatura de funcionamiento del dispositivo.

El sufijo ‘E–’ es para el rango de temperatura industrial y automotriz de -40 ° C a + 85 ° C.

Características y beneficios

■ Superior estabilidad a la temperatura para aplicaciones automotrices o industriales
■ Operación de 4,5 V a 24 V. Solo necesita un suministro no regulado
■ Salida de colector abierto de 25 mA. Compatible con lógica digital
■ Protección contra inversión de la alimentación
■ Se activar con imanes permanentes pequeños disponibles comercialmente
■ Confiabilidad por ser de estado sólido
■ Tamaño pequeño
■ Resistente al estrés físico

Diagrama de conexión

No es necesario un Arduino para obtener una lectura de este sensor, ya que se puede conectar un led con un resistor que asegure que no circule más corriente que la que puede manejar el integrado (que es de 25 mA).

El sensor se puede conectar de manera directa con este circuito:

El led se encenderá cuando el sensor sea activado por un campo magnético.

Pero si necesita ingresar la señal a un sistema microcontrolado, conecte la línea de alimentación (centro) a +5 y tierra () a GND. Conecte la señal (S) al pin digital 2 en el Arduino.

Con este circuito el Arduino encenderá el LED incluido en la placa Arduino cuando se detecte un campo magnético.

Código de ejemplo




KY-003 Módulo de Sensor Magnético por efecto Hall: 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 detector de vibración KY-002 (Kit de sensores Keyes 2)

Descripción:

El módulo KY-002 de Keyes para Arduino permite la detección de impactos y vibraciones.

El módulo detector de vibración KY-002 consta de un resorte y un poste conductor central con una resistencia de 10K conectada a la alimentación positiva. Ante golpes y vibraciones, el resorte reacciona desplazándose de su centro y cerrando el circuito a tierra. Por esto la salida es inversa: un nivel ALTO significa que no hay detección, y un nivel BAJO que sí existe impacto o vibración.

Especificaciones:

  • Voltaje de operación: 3,3V – 5V
  • Dimensiones: 18,5 mm x 15 mm

Conecte la línea de alimentación (pin central) del KY-002 a +5V del Arduino. Conecte el pin de tierra marcado al pin GND del Arduino. Conecte el pin de señal marcado S al pin digital 2 del Arduino.

Diagrama de la placa KY-002:

Módulo Detector de Vibración KY-002: Dibujo de la pieza para el editor Fritzing

Conexión con el Arduino:

Pin S de KY-002 al pin digital 2 del Arduino.
Pin central (línea de alimentación) de KY-002 al +5V de Arduino.
Pin – de KY-002 a GND de Arduino.

Atención: hay módulos en los que la salida S está cambiada por el negativo (GND), y viceversa. No es un gran problema porque las conexiones tienen un leyenda visible en la placa. La literatura original de Keyes muestra ambas configuraciones, de modo que es posible que ellos fabriquen los dos módulos. Este artículo está basado en el módulo que teníamos de modelo para las pruebas. El símbolo de Fritzing (no el de esta imagen —que está corregido—, sino el original que se obtiene en el enlace) indica invertidas la salida S y el GND. Sólo la línea central de alimentación se mantiene en el mismo lugar en ambas configuraciones. Antes de conectar, observe siempre las notaciones grabadas en la plaqueta que usted adquiera, y conecte S al pin 2 del Arduino y el pin marcado con el símbolo a GND del Arduino.

Programa de ejemplo:

El siguiente programa de Arduino genera un parpadeo del led incluido en la placa Arduino cuando se detecta movimiento al golpear o sacudir el módulo KY-002. Se utiliza el pin digital 2 del Arduino como entrada de la señal del sensor.

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 sensor de temperatura KY-001 (Kit de sensores Keyes 1)

Descripción:

El módulo de sensor de temperatura para Arduino Keyes KY-001 permite la medición de la temperatura ambiente entregando datos mediante un bus serie digital (llamado One Wire, o “Un Cable” en español).

En realidad, sólo es una plaqueta base con conector de tres pines para el sensor de temperatura DS18B20, y el único agregado de circuito es un led con su resistor para indicar que está encendido.

Especificaciones:

El módulo de sensor de temperatura KY-001 es compatible con plataformas de microcontrolador populares como Arduino, Raspberry Pi y Esp8266.

  • Voltaje de operación: 3,0V a 5,5V
  • Rango de medición de temperatura: -55° C a 125° C
  • Rango de precisión de medición: ± 0,5° C
  • Dimensiones: 18,5 mm x 15 mm

Circuito integrado DS18B20:

Diagrama de conexión del módulo:

Pin S de KY-001 al pin digital 2 del Arduino.
Pin central (línea de alimentación) de KY-001 al +5V de Arduino.
Pin – de KY-001 a GND de Arduino.

Enlaces a las bibliotecas y otros datos necesarios para el ejemplo de programa en Arduino para el KY-001:

Módulo Sensor de Temperatura KY-001: Dibujo de la pieza para el editor Fritzing
Biblioteca Dallas para control de temperatura por Miles Burton.
Biblioteca OneWire por PJRC.
Hoja de datos del DS18B20 por Maxim Integrated.





Programa de ejemplo:

El siguiente programa de Arduino utiliza la biblioteca OneWire para comunicarse por línea serie con el KY-001, y así descargará la temperatura leída por el dispositivo.

Suba el programa y observe los datos en el Monitor Serie del IDE de Arduino.

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)

ESP8266 (WiFi): Hacer que parpadee un LED desde el IDE de Arduino

¿Qué es un ESP8266?

El ESP8266 es un chip con capacidad Wi-Fi con un stack TCP/IP completo y un microcontrolador, fabricado por Espressif, una empresa China. El primer chip se hizo conocido el mercado con el módulo ESP-01, desarrollado por la empresa AI-Thinker. Este pequeño módulo permite a otros microcontroladores conectarse a una red inalámbrica Wi-Fi y realizar conexiones simples con TCP/IP usando comandos al estilo Hayes (comandos AT).

Diversos modelos de módulos que utilizan el ESP8266

Características

•   CPU RISC de 32-bit: Tensilica Xtensa LX106 con un reloj de 80 MHz. El reloj de la CPU y la memoria flash puede duplicarse por overclocking en algunos dispositivos. La CPU puede funcionar a 160 MHz y la memoria flash puede trabajar entre 40 MHz y 80 MHz. Varía según la versión del chip.
•   RAM de programa de 64 KB, RAM de datos de 96 KB
•   Capacidad de memoria externa flash QSPI de 512 KB a 4 MB (puede manejar hasta 16 MB)
•   IEEE 802.11 b/g/n Wi-Fi
     o Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y una red de adaptación de impedancias
     o Soporte de autenticación WEP y WPA/WPA2
•   16 pines GPIO (Entradas/Salidas de propósito general)
•   Interfaces SPI, I²C,
•   Interfaz I²S con DMA (comparte pines con GPIO)
•   Pines dedicados a UART, más una UART únicamente para transmisión que puede habilitarse a través del pin GPIO2
•   1 conversor ADC de 10-bit

El ESP8266 se puede programar desde el IDE de Arduino. Para eso hay que instalar lo que se llama un plugin, en el que está incluido todo lo necesario para compilar y subir programas que fueron escritos tal como si fuesen .INO de Arduino.

Debemos incorporar librerías y los programas de manejo de las placas con el chip ESP8266 a nuestro IDE. Para hacerlo, debemos indicarle la URL desde donde se obtienen.

Para hacerlo, debemos abrir el menú Archivo, y luego Preferencias.

Veremos este panel, en la parte inferior el recuadro de texto rotulado Gestor de URLs Adicionales de Tarjetas. Dentro de él, usando copiar y pegar, se debe introducir el texto indicado aquí:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

(copie y pegue en el recuadro):

Luego pulse en el botón Ok.

Ahora debemos ir al menú Herramientas, luego Placa.

Y finalmente Gestor de Tarjetas, se abrirá una ventana como la que sigue, en la cual escribimos, en el recuadro superior de filtro/busqueda, “ESP8266” (antes de terminar de escribir ya aparecerá el Gestor de Tarjetas que buscamos, que indica que fue creado por “ESP8266 Community”. Allí pulsamos sobre Instalar:

Al abrir nuevamente Herramientas, y luego Placa, deslizamos la lista para ver lo que aparece al final de ella (abajo), y vemos que ya existen las opciones referidas a los ESP8266:

Ejemplo de programa:

Trabajaremos en este ejemplo dos modelos de placa que utilizan el chip ESP8266: ESP-01 y NodeMCU (ESP-12E).

El NodeMCU es una placa de desarrollo que contiene el módulo ESP-12E incorporado, más todos los elementos necesarios de apoyo para comunicarse con ella, entre éstos un conector USB, regulador de voltaje, botón de reinicio, un botón “flash” que se utiliza para programar el módulo, hileras de pines enchufables, etc.

Diseñaremos un circuito simple para hacer parpadear un LED en los ESP utilizando el IDE de Arduino para programarlos. La pregunta que uno se puede hacer es ¿por qué siempre lo primero que se enseña es a hacer que parpadee un LED? Y no es mala pregunta. La respuesta es que si podemos hacer parpadear un LED usando un pin de salida de un dispositivo, quiere decir que podemos encender o apagar cualquier dispositivo electrónico. Sólo es necesario, si conectamos algo a ese pin, que el consumo que necesita ese aparato para funcionar no supere lo que puede entregar el pin de salida de nuestro sistema. Pero esto no es condicionante: se soluciona —como en cualquier circuito electrónico— adaptando el voltaje y la corriente con componentes simples, como transistores, MOSFET o relés. Y entonces ya estamos encendiendo y apagando ya sea un LED, una lámpara o un horno eléctrico.

En los ESP, a las entradas y salidas se les llama GPIO, sigla que viene de las palabras en inglés General Purpuse Input/Output, en castellano Entrada/Salida de Propósito General.

Acerca de la asignación de GPIOs, la siguiente tabla es una referencia rápida sobre cómo asignar los GPIOs de ESP8266 en el código Arduino.

Aquí está la ubicación de cada pin la placa física:

ESP-01

NodeMCU / ESP-12E

Importante: en la siguiente sección, llamada «Cómo escribir el programa en el IDE de Arduino», cuando definimos: salida = 0 nos referimos al GPIO 0, y si definimos: salida = 2 nos referimos a GPIO 2. En el firmare interno del ESP se define así. No hay que preocuparse por esto, simplemente recordar que 0 se refiere a GPIO 0 y 2 se refiere a GPIO 2.

Cómo escribir el programa en el IDE de Arduino

El programa para hacer parpadear un LED es muy simple:

Cómo funciona el programa:

  • 1. Creamos una variable entera (int) llamada salida = 2 que hace referencia a GPIO 2
  • 2. En setup(), usamos la función pinMode(salida, OUTPUT) para configurar el GPIO 2 como una SALIDA (OUTPUT). Este código de inicialización se ejecuta una sola vez.
  • 3. A continuación, en loop() (función bucle), utilizamos dos funciones digitalWrite() y delay().
    Es una sección de código que se repite una y otra vez hasta que se quite la alimentación del ESP o se le cambie el programa.
  • 4. Enciende el LED durante 1 segundo (1000 milisegundos) usando digitalWrite(salida, HIGH) y espera de 1 segundo con delay(1000).
  • 5. Luego apaga el LED usando digitalWrite(salida, LOW) y espera de 1 segundo con delay(1000).
  • 6. El programa continúa indefinidamente, repitiendo los pasos 4. y 5.

Veremos que el LED parpadea, un segundo encendido, un segundo apagado.




Escribiendo el programa en el ESP8266

La opción más fácil es cuando se escribe código para el ESP8266 dentro del NodeMCU/ESP-12E, que tiene implementada la comunicación USB, y por lo tanto la manera de programar el chip. En cambio, al trabajar con el módulo ESP-01 (o algún otro modelo de ESP) es necesario tener un módulo conversor de USB a TX/RX, como un FTDI.

NodeMCU con ESP12E:

Subir código en este módulo es mucho más simple, ya que tiene incorporados los circuitos auxiliares necesarios para la programación. Sólo hay que enchufar el módulo a través del cable USB a la computadora sin que sea necesaria ninguna conexión adicional.

En el menú Herramientas del IDE de Arduino seleccione como Placa “NodeMCU 1.0 (ESP-12E Module)” y a continuación, también en el menú Herramientas, elegir el COM a que esté conectado el NodeMCU. No es necesaria más configuración. Se verá así (observar la línea debajo de todo en la ventana, que indica el dispositivo y el puerto COM):

El COM en su computadora no va a ser exactamente el COM9, aunque se puede dar la casualidad que lo sea. Será el COM virtual que el sistema operativo haya creado al conectar el módulo de ESP a su USB.

Después de comprobar estos detalles de configuración del IDE, utilice el botón “Subir” en el IDE y espere hasta que indique que ya ha completado la programación.

Para conectar el LED al NodeMCU utilice el siguiente circuito. El LED lleva un resistor de 220 Ohm en serie. La conexión va a GND y a la pata D4 del NodeMCU (GPIO 2).

NOTA: EL CIRCUITO A CONTINUACIÓN ES UN EJEMPLO EN EL QUE SE CONECTA ALGO A UN PIN EXTERNO. EL MODELO MÁS HABITUAL DE NODEMCU EN EL MERCADO YA TIENE UN LED CONECTADO EN EL GPIO 2 Y OTRO EN GPIO 16, INCLUIDOS EN LA PLACA. SI LO DESEA, ANTES DE ARMAR EL CIRCUITO PRUEBE CON LA PLACA SOLA. PRUEBE UNA VEZ USANDO salida = 2, Y OTRA USANDO salida = 16. FUNCIONARÁ EN AMBOS CASOS, CON DOS LEDS DISTINTOS SI SU MODELO NO TIENE ESTE LED INCORPORADO, CABLEE EL CIRCUITO DE ABAJO.

Luego de cargar el programa al ESP8266, si todo salió bien veremos parpadear el LED cada 1 segundo.

Parpadeo con GPIO 2

 

Parpadeo con GPIO 16

 

Prueba usando el módulo ESP-01

Para subir código a un ESP-01 hay que establecer una comunicación USB a través de un conversor de USB a niveles TTL (que maneje voltajes de 3,3V) a la conexión serie TX/RX del ESP8266, con un módulo como el que se ve en la figura. Hay muchos modelos, pero es recomendable buscar uno que tenga un chip FTDI y que en su placa facilite la conversión de voltajes de 5V a 3,3V (que es el voltaje con el que funciona el ESP8266).

Es importante remarcar que lo primero que debemos hacer, al comprarlo, y antes de conectarlos, es buscar el selector de voltajes de 5V a 3,3V. Debemos asegurarnos de que el módulo FTDI esté fijado en el modo de operación a 3,3V, como muestra la imagen de abajo.

El circuito de abajo indica las conexiones que debemos hacer para establecer la comunicación del ESP-01, a través del módulo FTDI, hacia el conector USB, para lograr la comunicación serie.

La conexiones son:

      • RX ► TX
      • TX ► RX
      • CH_PD ► 3,3V
      • GPIO 0 ► GND
      • VCC ► 3,3V
      • GND ► GND

Nota: en el circuito de la imagen de arriba, GPIO 0 está conectado a GND. Esto es porque queremos subir código. Al subir un programa por primera vez desde el IDE del Arduino se requiere que el ESP grabe en su flash un nuevo firmware —firmware es un software de bajo nivel, interno, que permite controlar circuitos eléctricos—. En uso normal (cuando no estamos grabando en la memoria flash un firmware nuevo) el pin GPIO 0 se conecta a VCC (3,3V).

En el caso de que usted tenga necesidad de instalar un driver en una PC con Windows porque no le reconoce el módulo en un puerto COM, sea este u otro con chip FTDI, el sitio oficial para conseguirlos es: http://www.ftdichip.com/Drivers/VCP.htm. Si compra uno nuevo, pregunte siempre al vendedor. Muchas veces tienen las soluciones en un enlace en su página web de ventas.

Normalmente, si usted está conectado online, el driver se instala automáticamente.

Preparando su IDE de Arduino

Una vez que conectamos el ESP8266 a través del módulo FTDI a su computadora, corra el IDE de Arduino. Abra el menú Herramientas y seleccione la Placa: “Generic ESP8266 Module”. Las configuraciones estándar deberían verse así:

El número de puerto COM que aparezca listado va a depender de cada computadora, e incluso puede cambiar alguna otra vez que conecte otro ESP, ya que ese número lo determina dinámicamente el sistema operativo.

En este momento ya se puede pulsar “Subir” en el IDE Arduino. Pasará un tiempo hasta que aparezca la indicación de que el programa ha sido subido.

El funcionamiento final: Circuito para el ESP-01 y el LED

Luego de haber subido el código al módulo, desconecte de la computadora y recablee siguiendo el diagrama a continuación:

Al conectar los 3,3V de alimentación al ESP-01, todo estará listo. Si las cosas salieron bien, el LED debería parpadear encendiéndose y apagándose cada 1 segundo.


Para cualquier consulta, comuníquese conmigo en el grupo de facebook https://www.facebook.com/groups/GrupoRobotsDidacticos/