Display 16 segmenti comandato con Arduino e TLC5940


Il programma accende, sul display, in sequenza i numeri da 0 a 9. Nella matrice md con 10 righe e 16 colonne ci sono i valori 1 (acceso) e 0 (spento) che determinano quali segmenti, collegati alle 16 (0-15) uscite del TLC5940 secondo lo schema dell'immagine sopra, vanno accesi per ottenere, sul display, i numeri da 0 a 9.
//Questo programma è di pubblico dominio
//di Giuseppe Tamanini 03/2016
#include "Tlc5940.h"
boolean md[10][16] {
{1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0},
{1,1,1,0,1,1,1,0,1,1,0,0,0,0,0,0},
{1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0},
{0,0,1,1,0,0,0,1,1,1,0,0,0,0,0,0},
{1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0},
{1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0},
{1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
{1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
{1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0}
};
int rig;
int col;
void setup()
{
Tlc.init();
}
void loop()
{
for (rig=0; rig<10; rig++) {
Tlc.clear();
for (col=0; col<16; col++) {
if (md[rig][col]!=0) {
Tlc.set(col, 4095);
} else {
Tlc.set(col, 0);
}
}
Tlc.update();
delay(500);
}
}
|