Pannello a 10x10 led RGB comandati da Arduino
I led con l'integrato di controllo WS2801 li potete trovare nel negozio Ebay tedesco prototypr in striscia da 50 pezzi a 44 Euro comprese le spese di spedizione.
I led sono alimentati in parallelo e vengono accesi tramite l'Arduino con due soli segnali: uno di clock e uno dati. I led possono essere accesi ognuno con un colore diverso.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/ws2801.png)
Le strisce di led vanno alimentate a parte con una alimentatore da 5V di potenza appropriata (io ho usato un alimentatore switching da 50W in grado di erogare fino a 10A) sui fili rosso (+5V) e giallo (massa).
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/alimentatore.png)
Sull'Arduino vanno collegati i fili verde sul pin 2 (Serial data input) e blu sul pin 3 (Data clock input).
Va collegato un filo di massa dal GND dell'Arduino insieme al giallo dei led.
Il programma, scritto da me, in Gambas 3 su Ubuntu Linux 14.04, produce le immagini in movimento sul pannello inviando le informazioni in seriale tramite la porta all'Arduino.
Permette di disegnare manualmente fotogramma per fotogramma oppure creare automaticamente i frame per far scorrere, da destra verso sinistra, il testo inserito nella texbox apposita.
Si può segliere il colore di primo piano e di sfondo, riempire il frame del colore di primo piano o di sfondo, spostare a sinistra e adestra di una colonna il disegno corrente, spostarsi avanti e indietro o al primo e all'ultimo fotogramma e aggiungere e cancellare fotogrammi.
Il programma permette anche di salvare o aprire una sequenza o di inserirne una già creata in precedenza in coda.
Dopo aver connesso il pc con l'Arduino si potrà inviare la sequenza per cederla apparire sul pannello.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/finestra.png)
Il programma in Gambas lo potete scaricare nellla sezione Download.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7270371_640.JPG)
Elenco materiale per la realizzazione della scatola:
-
18 listelli in legno da 10x10x48
-
2 listelli in legno da 10x80x50
-
2 listelli in legno da 10x80x49
-
18 listelli legno compensato da 4x50x48
-
1 pannello legno compensato da 4x480x480
-
1 pannello plexiglass opalizzato da 2,5x480x480
-
colore bianco opaco
-
colore nero opaco
In tutti i 18 listelli in legno da 10x10x48 vanno creati degli intagli come da disegno:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/Pezzo1.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part1_640.png)
I 18 pezzi (9+9) vanno incastrati in modo da ottenere una grata.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_chiuso_1_1_1_640.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part1_1_640.png)
Qui la vedete già colorata di bianco.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7170357_640.JPG)
Anche nei 18 listelli legno compensato da 4x50x48 vanno creati degli intagli:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/Pezzo2.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part2_640.png)
Anche questi 18 pezzi (9+9) vanno incastrati in modo da ottenere una grata.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part2_1_1_640.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part2_1_640.png)
Ecco il risultato:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7170356_640.JPG)
Ora dobbiamo realizzare il contorno:
Nei 2 listelli in legno da 10x80x50 dovremo creare due intagli.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/Pezzo4.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part4_640.png)
Nei 2 listelli in legno da 10x80x49 dovremo creare due maschi.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/Pezzo3.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part3_640.png)
I 4 pezzi vanno poi incollati e incastrati.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part3-4_1_1_640.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part3-4_1_640.png)
La cornice finita:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7170358_640.JPG)
Realizziamo ora il fondo forato dove andranno inseriti i led con il pannello di legno compensato da 4x480x480.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/Pezzo6.png)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_part5_640.png)
Il fondo finito:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7250362_1_640.JPG)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/PannelloLed10x10_640.png)
Ecco il pannello finito visto da davanti
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7250361_640.JPG)
e da dietro
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7250362_640.JPG)
Ora inseriamo i led nei rispettivi fori partendo da destra a sinistra sulle righe dispari e da sinistra a destra sulle righe pari. Gli ho incollati usando la colla a caldo aspettando, uno per uno, che la colla sia indurita.
Questi sono i primi 25. Io ho usato due strisce da 25 e una da 50. In questo caso, essendo partito dal fondo, i led sono rovesciati (da sinistra a destra sulla prima e la terza riga e viceversa sulla seconda): si nota dal connettore maschio sull'ultimo led. Sui piccoli circuiti stampati c'è una freccia che indica il verso del segnale.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7290376.JPG)
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7250367_640.JPG)
Le strisce vanno collegate con gli appsosti connettori. L'alimentazione va portata sui conduttori all'inizio di ogni striscia.
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7260370_640.JPG)
Ecco, infine, il pannello terminato con montata anche la lastra in plexiglass:
![](http://www.filoviva.it/sections/10_Progetti/25_pannello_a_led_rgb/P7250363_640.JPG)
Ecco l'IDE per Arduino:
#include "SPI.h"
#include "WS2801.h"
int SDI = 2;
// Serial data input int CKI = 3;
// Data clock input int byteIniziale;
int pixel; byte red;
byte green;
byte blue;
WS2801 strip = WS2801(100, SDI, CKI);
void setup() {
Serial.begin(115200);
strip.begin();
strip.show();
}
void loop() {
//Esiste un dato sulla seriale?
if (Serial.available() > 0) {
byteIniziale = Serial.read( );
if (byteIniziale == 105) {
pixel = Serial.parseInt();
red = Serial.parseInt();
green = Serial.parseInt();
blue = Serial.parseInt();
/*Serial.print("pixel=");
Serial.print(pixel);
Serial.print("rgb=");
Serial.print(red);
Serial.print(green);
Serial.println(blue);*/
colorAppear (Color(red, green, blue));
}
if (pixel==99) {
strip.show();
Serial.print("f");
}
}
}
void colorAppear (uint32_t c) {
strip.setPixelColor(pixel, c);
}
// Creating a 24 bit color value from R,G,B
uint32_t Color(byte r, byte g, byte b) {
uint32_t c;
c = r;
c <<= 8;
c |= g;
c <<= 8;
c |= b;
return c;
}
Sia il programma che la libreria li potete scaricare nella sezione download.
Giuseppe Tamanini
|