Controlar desde el Arduino, un Display LED de 7-Segmentos, a
través de un IC 74HC595, para mostrar un número de 0 a 9, dependiendo de la
posición del Potenciómetro.
1. TOMAMOS LOS ELEMENTOS Y LOS COLOCAMOS EN LA MESA
2. ACOPLAMIENTO DEL ESCUDO CON EL ARDUINO UNO
2. CONECTAMOS LOS CABLES AL ARDUINO
Mostrar un mensaje desplazándose de izquierda a derecha en
una matriz LED 8x8 a través de IC MAX7219 enviado desde un Arduino, pueden usar
una interfaz Processing.
Autor: Carolina Hurtado Arboleda
* /
// Siempre tenemos que incluir la biblioteca
#include "LedControl.h"
Texto Cadena = "Ingrese Texto:" ;
/ *
Ahora necesitamos un LedControl trabajar.
***** Estos números de pin es probable que no funcione con el hardware *****
pin 12 está conectado a la DataIn
pin 11 está conectado a la CLK
pin 10 está conectado a CARGAR
Tenemos un solo MAX72XX.
* /
LedControl lc = LedControl ( 12 , 11 , 10 , 1 ) ;
/ * Siempre esperamos un poco entre las actualizaciones de la pantalla * /
sin firmar larga DELAYTIME = 30
;
void setup ( ) {
Serial. comenzar ( 9600 ) ;
/ *
El MAX72XX está en modo de ahorro de energía en el arranque,
tenemos que hacer una llamada de atención
* /
lc. apagado ( 0 , false ) ;
/ * Establecer el brillo a un valor medio * /
lc. setIntensity ( 0 , 8 ) ;
/ * Y borrar la pantalla * /
. lc clearDisplay ( 0 ) ;
}
char abcMAY [ 36 ] = { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' , 'K' , 'L' , 'M' , 'N' , 'O' , 'P' , 'Q' , 'R' , 'S' , 'T' ,'U' , 'V' , 'W' , 'X' , 'Y' , 'Z' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' } ;
char abcMIN [ 36 ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' ,'u' , 'v' , 'w' , 'x' , 'y' , 'z' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' } ;
letras byte [ 36 ] [ 5 ] = { { B11111110 , B00010001 , B00010001 , B00010001 , B11111110 } , // A
{ 0xFF , 0x89 , 0x89 , 0x89 , 0x76 } , // B
{ B01111110 , B10000001 , B10000001 , B10000001 , B01000110 } , C //
{ 0xff , 0x81 , 0x81 , 0x81 , 0x7e } , // D
{ 0x7e , 0x89 , 0x89 , 0x89 , 0x89 } , // E
{ 0xff , 0x09 , 0x09 , 0x09 , 0x01 } , // F
{ 0x7e , 0x89 , 0x89 , 0x89 , 0xF2 } , // G
{ 0xFF , 0x18 , 0x18 , 0x18 , 0xff } , // H
{ B00000000 , B10000100 , B11111101 , B10000000 , B00000000 } , // I
{ 0x71 , 0x81 , 0x7f , 0x01 , 0x01 } , // J
{ 0xff , 0x10 , 0x2c , 0x42 , 0x81 } , // K
{ 0x7f , 0xC0 , 0x80 , 0x80 , 0x80 } , // L
{ 0xff , 0x06 , 0x0c , 0x06 , 0xff } , // M
{ B11111111 , B00000100 , B00001000 , B00010000 , B11111111 } , N //
{ B01111110 , B10000001 , B10000001 , B10000001 , B01111110 } , // O
{ 0xff , 0x09 , 0x09 , 0x09 , 0x06 } , // P
{ 0xBE , 0x41 , 0xA1 , 0x81 , 0x7e } , // Q
{ B11111111 , B00010001 , B00110001 , B01010001 , B10001110 } , R //
{ 0x86 , 0x89 , 0x89 , 0x89 , 0x71 } , // S
{ 0x01 , 0x01 , 0xff , 0x01 , 0x01 } , // T
{ B01111111 , B11000000 , B11000000 , B11000000 , B01111111 } , // U
{ 0x3f , 0x40 , 0x80 , 0x40 , 0x3f } , // V
{ 0x7f , 0x80 , 0x70 , 0x80 , 0x7f } , // W
{ 0xE3 , 0x14 , 0x08 , 0x14 , 0xE3 } , // X
{ 0x03 , 0x04 , 0xF8 , 0x04 , 0x03 } , // Y
{ 0xE1 , 0x91 , 0x89 , 0x85 , 0x83 } // Z
, { 0x00 , 0x82 , 0xff , 0x80 , 0x00 } , // 1
{ 0xC2 , 0xA1 , 0x91 , 0x89 , 0x86 } , // 2
{ 0x81 , 0x81 , 0x85 , 0x8B , 0x71 } , // 3
{ 0x18 , 0x14 , 0x12 , 0xff , 0x00 } , // 4
{ 0x8F , 0x89 , 0x89 , 0x89 , 0x71 } , // 5
{ 0x7c , 0x8A , 0x89 , 0x89 , 0x70 } , // 6
{ 0x01 , 0xf1 , 0x09 , 0x05 , 0x03 } , // 7
{ 0x76 , 0x89 , 0x89 , 0x89 , 0x76 } , // 8
{ 0x06 , 0x89 , 0x89 , 0x89 , 0x7e } , // 9
{ B01111110 , B11100001 , B10011001 , B10000111 , B01111110 } , // O
} ;
/ *
Este método mostrará los caracteres para el
palabra "Arduino" uno tras otro en la matriz.
(Se necesitan al menos leds 5x7 para ver todo el caracteres)
* /
void writeArduinoOnMatrix ( Cadena mensajea ) {
/ * Aquí es los datos de los caracteres * /
para ( int j = 0 ; j < . mensajea longitud ( ) ; j ++ ) {
para ( int k = 0 ; k < 36 ; k ++ ) {
si ( mensajea. charAt ( j ) == abcMAY [ k ] || mensajea. charAt ( j ) == abcMIN [ k ] ) {
Palabras ( letras [ k ] ) ;
}
}
}
}
void Palabras ( listd byte [ ] ) {
para ( int j = 7 ; j > - 4 ; j - ) {
para ( int i = 4 ; i > - 1 ; i - ) {
. lc setRow ( 0 , j + i , listd [ i ] ) ;
}
retardo ( DELAYTIME ) ;
para ( int o = 0 ; o < 8 ; o ++ ) {
lc. setRow ( 0 , O , 0 ) ;
}
}
}
void loop ( ) {
writeArduinoOnMatrix ( texto ) ;
}
void serialEvent ( ) {
mientras que ( de serie. disponible ( ) ) {
texto = de serie. readString ( ) ;
}
}