Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TITULO: Display de 4 dígitos y 7 segmentos con controlador TM1637
- AUTOR:
- MARIANO DEL CAMPO GARCÍA (@2018) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
- - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
- - TWITTER: https://twitter.com/MarianoCampoGa
- - CORREO: [email protected]
- DESCRIPCIÓN DEL PROGRAMA
- Este programa muestra a través del display de 4 dígitos y 7 segmentos con controlador TM1637,
- números enteros, los caracteres especiales de espacio " " y signo negativo "-", y algunas letras
- como A, b, C, d, E y F. El programa puede mostrar tanto caracteres individuales dígito a dígito
- (MODO MANUAL) como matrices completas de 4 dígitos (MODO AUTOMÁTICO).
- ESQUEMA DE CONEXION
- +-----+
- +----[PWR]-------------------| USB |--+
- | +-----+ |
- | GND/RST2 [ ][ ] |
- | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
- | 5V/MISO2 [ ][ ] A4/SDA[ ] |
- | AREF[ ] |
- | GND[ ] |
- | [ ]N/C SCK/13[ ] |
- | [ ]IOREF MISO/12[ ] |
- | [ ]RST MOSI/11[ ]~|
- | [ ]3V3 +---+ 10[ ]~|
- | [ ]5v -| A |- 9[ ]~|
- | [ ]GND -| R |- 8[ ] |
- | [ ]GND -| D |- |
- | [ ]Vin -| U |- 7[ ] |
- | -| I |- 6[ ]~|
- | [ ]A0 -| N |- 5[ ]~|
- | [ ]A1 -| O |- 4[ ] |
- | [ ]A2 +---+ INT1/3[ ]~| Pin "DIO" del display de 4 dígitos TM1637
- | [ ]A3 INT0/2[ ] | Pin "CLK" del display de 4 dígitos TM1637
- | [ ]A4/SDA RST SCK MISO TX>1[ ] |
- | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
- | [ ] [ ] [ ] |
- | UNO_R3 GND MOSI 5V ____________/
- \_______________________/
- NOTAS:
- - La alimentación (VCC) y la masa (GND) del display de 4 dígitos TM1637, va directamente
- conectada a +3.3/5V y GND de Arduino respectivamente.
- */
- #include "TM1637.h" // Librería necesaria para el display de 4 dígitos TM1637
- #define CLK 2 // Pin CLK
- #define DIO 3 // Pin DIO
- // Declaración del objeto para el display de 4 dígitos
- TM1637 Display1(CLK,DIO);
- // Matriz de números que se van a mostrar
- int8_t Digits1[4] = {4,3,2,1};
- // Matriz de letras que se van a mostrar
- int8_t Digits2[4] = {0x0a,0xb,0xc,0x0d};
- // Matriz de dos "-" y dos espacios en blanco
- int8_t Digits3[4] = {0x10,0x13,0x10,0x13};
- void setup()
- {
- Display1.set(BRIGHT_TYPICAL); // BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7; (de 0 a 7)
- Display1.init(); // Inicializa display de 4 dígitos
- Display1.clearDisplay(); // Borra el display de 4 dígitos
- Display1.point(POINT_ON); // Enciende los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 0); // Digito 3 => 0
- delay(1000);
- Display1.point(POINT_OFF); // Apaga los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 1); // Digito 3 => 1
- delay(1000);
- Display1.point(POINT_ON); // Enciende los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 2); // Digito 3 => 2
- delay(1000);
- Display1.point(POINT_OFF); // Apaga los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 3); // Digito 3 => 3
- delay(1000);
- Display1.point(POINT_ON); // Enciende los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 4); // Digito 3 => 4
- delay(1000);
- Display1.point(POINT_OFF); // Apaga los dos puntos centrales
- Display1.display(0, 0); // Digito 0 => 0
- Display1.display(1, 0); // Digito 1 => 0
- Display1.display(2, 0); // Digito 2 => 0
- Display1.display(3, 5); // Digito 3 => 5
- delay(1000);
- Display1.clearDisplay(); // Borra el display
- delay(1000);
- }
- void loop()
- {
- // MODO AUTOMÁTICO
- Display1.display(Digits1); // Muestra la matriz Digits1
- delay(2000);
- Display1.display(Digits2); // Muestra la matriz Digits2
- delay(2000);
- Display1.display(Digits3); // Muestra la matriz Digits3
- delay(2000);
- // MODO MANUAL
- Display1.display(0, 6); // Digito 0 => 6
- Display1.display(1, 7); // Digito 1 => 7
- Display1.display(2, 8); // Digito 2 => 8
- Display1.display(3, 9); // Digito 3 => 9
- delay(2000);
- Display1.display(0, 0x13); // Digito 0 => " " (Vacío)
- Display1.display(1, 0x10); // Digito 1 => "-" (Negativo)
- Display1.display(2, 0x13); // Digito 2 => " " (Vacío)
- Display1.display(3, 0x10); // Digito 3 => "-" (Negativo)
- delay(2000);
- Display1.display(0, 0x0e); // Digito 0 => E
- Display1.display(1, 0x0f); // Digito 1 => F
- Display1.display(2, 0x0e); // Digito 2 => E
- Display1.display(3, 0x0f); // Digito 3 => F
- delay(2000);
- }
Advertisement
Add Comment
Please, Sign In to add comment