Tabla de contenido:
- Paso 1:
- Paso 2:
- Paso 3: Primeros pasos - Hardware
- Paso 4: Introducción - Software
- Paso 5: los LED bicolores
- Paso 6: la pantalla de 7 segmentos
- Paso 7:
- Paso 8:
- Paso 9:
- Paso 10: los botones
Video: Módulos de pantalla LED Arduino y TM1638: 11 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Si necesita una manera rápida y fácil de agregar alguna entrada y salida de usuario a un proyecto, estos módulos de visualización son interesantes y divertidos.
Contienen ocho dígitos LED rojos de 7 segmentos, ocho LED rojos / verdes y también ocho botones para la entrada del usuario. Las unidades también se pueden conectar en cadena, lo que permite hasta cinco a la vez, y se incluye un cable corto con cada módulo, así como algunos espaciadores y pernos cortos, como se muestra en la imagen.
Paso 1:
Los espaciadores son lo suficientemente largos para elevar la PCB por encima de una superficie, sin embargo, para montar las placas en cualquier lugar útil, necesitaría unos más largos. También es posible que desee quitar los enchufes IDC si desea montar el módulo cerca de la superficie de un panel. Esta sería una simple tarea de desoldar, ya que son enchufes de orificio pasante.
Paso 2:
La placa está controlada por un TM1638 IC.
Este es un LED y un controlador de interfaz IC de “Titan Micro Electronics”. También puede comprar estos circuitos integrados en PMD Way. También puede descargar la hoja de datos para obtener más detalles.
Paso 3: Primeros pasos - Hardware
Hardware: la conexión a una placa compatible con Arduino (u otra MCU) es bastante simple. Los pines se muestran en la parte posterior de la PCB y coinciden con la conexión del cable plano. Si miras el extremo del cable como tal.
El orificio superior derecho es el pin uno, el superior izquierdo es el pin dos, el inferior derecho nueve y el inferior izquierdo diez. Por lo tanto, los pines son:
- Vcc (5 V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- no conectado.
Para el uso de Arduino, los pines 1 ~ 4 son el mínimo necesario para usar un módulo. Cada módulo adicional requerirá otro pin digital conectado a STB2, STB3, etc. Más sobre esto más adelante. Tenga en cuenta que cada módulo configurado en brillo completo con cada LED encendido consume 127 mA, por lo que sería aconsejable usar energía externa con más de un módulo y otras conexiones con placas Arduino.
Paso 4: Introducción - Software
Software: descargue e instale la biblioteca T1638 desde aquí. Gracias y felicitaciones a rjbatista de gmail punto com por la biblioteca. Inicializar módulos en el croquis es simple. Incluya la biblioteca con:
#incluir
luego use uno de los siguientes para cada módulo:
Módulo TM1638 (x, y, z);
x es el pin digital Arduino conectado al pin 4 del cable del módulo, y es el pin digital Arduino conectado al pin 3 del cable del módulo, yz es el pin estroboscópico. Entonces, si tuviera un módulo con datos, reloj y luz estroboscópica conectados a los pines 8, 7 y 6, usaría:
Módulo TM1638 (8, 7, 6);
Si tuviera dos módulos, con la luz estroboscópica del módulo uno conectada a Arduino digital 6 y la luz estroboscópica del módulo dos conectada a la digital 5, usaría:
Módulo TM1638 (8, 7, 6); módulo TM1638 (8, 7, 5);
y así sucesivamente para más módulos. Ahora para controlar la pantalla …
Paso 5: los LED bicolores
Controlar los LED rojo / verde es fácil. Como referencia, están numerados del cero al siete de izquierda a derecha. Para encender o apagar un solo LED, use lo siguiente:
module.setLED (TM1638_COLOR_RED, x); // establece el número de LED x en redmodule.setLED (TM1638_COLOR_GREEN, x); // establece el número de LED x en módulo verde.setLED (TM1638_COLOR_RED + TM1638_COLOR_GREEN, 0); // establece el número de LED x en rojo y verde
Usar el método anterior puede ser simple, es algo ineficaz. Una mejor manera es abordar todos los LED en una declaración. Para hacer esto enviamos dos bytes de datos en hexadecimal a la pantalla. El MSB (byte más significativo) consta de ocho bits, cada uno de los cuales representa un LED verde encendido (1) o apagado (0). El LSB (byte menos significativo) representa los LED rojos.
Una forma fácil de determinar el valor hexadecimal para controlar los LED es simple, imagina que tienes una fila de LED: los primeros ocho son verdes y los segundos ocho son rojos. Establezca cada dígito en 1 para encendido y 0 para apagado. Convierta los dos números binarios a hexadecimal y use esta función:
module.setLEDs (0xgreenred);
Donde verde es el número hexadecimal de los LED verdes y rojo es el número hexadecimal de los LED rojos. Por ejemplo, para encender los primeros tres LED en rojo y los últimos tres en verde, la representación binaria será:
00000111 11100000 que en hexadecimal es E007.
Entonces usaríamos:
module.setLEDs (0xE007);
que produce la imagen como se muestra arriba.
Paso 6: la pantalla de 7 segmentos
Para borrar la pantalla numérica (pero no los LED a continuación), simplemente use:
module.clearDisplay ();
o para encender cada segmento Y todos los LED, use lo siguiente
module.setupDisplay (verdadero, 7); // donde 7 es la intensidad (de 0 ~ 7)
Para mostrar números decimales, use la función:
module.setDisplayToDecNumber (a, b, falso);
donde a es el número entero, b es la posición del punto decimal (0 para ninguno, 1 para el dígito 8, 2, para el dígito 7, 4 para el dígito 6, 8 para el dígito 4, etc.) y el último parámetro (verdadero / falso) activa o desactiva los ceros iniciales. El siguiente esquema demuestra el uso de esta función:
#include // define un módulo en el pin de datos 8, el pin de reloj 9 y el pin de luz estroboscópica 7 Módulo TM1638 (8, 9, 7); unsigned long a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); retraso (1); } para (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); retraso (1); }}
… Con los resultados mostrados en el video.
Paso 7:
Una de las características más interesantes es la capacidad de desplazarse por el texto en una o más pantallas. Para hacerlo, realmente no necesita una explicación como el boceto de demostración incluido:
tm_1638_scrolling_modules_example.pde
incluido con la biblioteca TM1638 se sigue fácilmente. Simplemente inserte su texto en la cadena de caracteres const , asegúrese de que los módulos estén conectados de acuerdo con la definición del módulo al comienzo del boceto y listo. Para ver los caracteres disponibles, visite la página de funciones. Tenga en cuenta que la pantalla tiene solo siete segmentos, por lo que es posible que algunos caracteres no se vean perfectos, pero en contexto le darán una buena idea: vea el video en este paso.
Paso 8:
Por último, también puede abordar individualmente cada segmento de cada dígito. Considere el contenido de esta matriz:
valores de bytes = {1, 2, 4, 8, 16, 32, 64, 128};
cada elemento representa los dígitos 1 ~ 8. El valor de cada elemento determina qué segmento del dígito se activa. Para los segmentos a ~ f, dp, los valores son 1, 2, 4, 6, 16, 32, 64, 128. Entonces, los resultados de usar la matriz anterior en la siguiente función:
module.setDisplay (valores);
será por la imagen.
Paso 9:
Naturalmente, puede combinar valores para cada dígito para crear sus propios caracteres, símbolos, etc. Por ejemplo, usando los siguientes valores:
valores de bytes = {99, 99, 99, 99, 99, 99, 99, 99};
Creamos según la imagen de este paso.
Paso 10: los botones
Los valores de los botones se devuelven como un valor de byte de la función:
module.getButtons ();
Como hay ocho botones, cada uno representa un bit de un número binario que se devuelve como un byte. El botón de la izquierda devuelve un decimal uno, y el de la derecha devuelve 128. También puede devolver pulsaciones simultáneas, por lo que pulsar los botones uno y ocho devuelve 129. Considere el siguiente esquema, que devuelve los valores de las pulsaciones de botones en forma decimal, luego muestra el valor:
#include // define un módulo en el pin de datos 8, el pin de reloj 9 y el pin de luz estroboscópica 7 Módulo TM1638 (8, 9, 7); botones de bytes; configuración vacía () {} bucle vacío () {botones = módulo.getButtons (); module.setDisplayToDecNumber (botones, 0, falso); }
y los resultados en el video.
Estos tableros de anuncios son útiles y, con suerte, encuentran un hogar en sus proyectos. Esta publicación presentada por pmdway.com, que ofrece todo para los fabricantes y entusiastas de la electrónica, con entrega gratuita en todo el mundo.
Recomendado:
Temperatura de la pantalla Arduino en la pantalla LED TM1637: 7 pasos
Temperatura de la pantalla Arduino en la pantalla LED TM1637: en este tutorial aprenderemos cómo mostrar la temperatura usando la pantalla LED TM1637 y el sensor DHT11 y Visuino
Cool Lighting for Fre (módulos LED): 9 pasos
Cool Lighting for Fre (módulos LED): en este instructivo hice pequeñas luces LED para algunos efectos de iluminación agradables. Usé baterías recicladas porque era gratis, pero puedes usar la batería que quieras
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos
Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Pantalla LCD I2C / IIC - Convierta una pantalla LCD SPI en una pantalla LCD I2C: 5 pasos
Pantalla LCD I2C / IIC | Convierta una pantalla LCD SPI en la pantalla LCD I2C: el uso de la pantalla lcd spi necesita demasiadas conexiones, lo cual es realmente difícil de hacer, así que encontré un módulo que puede convertir la pantalla lcd i2c en la pantalla lcd spi, así que comencemos
Cómo hacer un reloj en tiempo real con Arduino y pantalla TFT - Arduino Mega RTC con pantalla TFT de 3,5 pulgadas: 4 pasos
Cómo hacer un reloj en tiempo real usando Arduino y pantalla TFT | Arduino Mega RTC con pantalla TFT de 3.5 pulgadas: Visite mi canal de Youtube. Introducción: - En esta publicación voy a hacer un "Reloj en tiempo real" usando LCD táctil TFT de 3.5 pulgadas, Arduino Mega Módulo RTC 2560 y DS3231… .Antes de comenzar… verifique el video de mi canal de YouTube. Nota: - Si está usando Arduin