Interstate 75 è una scheda driver alimentata da RP2040 per pannelli in stile HUB75, i pannelli a matrice di LED che a volte vengono usati per comporre grandi cartelloni o insegne a LED a scorrimento. L’idea del produttore è quella di creare un dispositivo che possa essere inserito in modo ordinato nella parte posteriore di un pannello, con il minimo bisogno di hardware aggiuntivo.
In questo tutorial vi mostreremo come effettuare i collegamenti e come iniziare a prendere familiarità con il pilotaggio e la relativa programmazione.
Elenco dei componenti
- 1 x interstate 75
- 1x cavo USB-C (per la programmazione).
- Uno (o più) pannelli a matrice di LED RGB
- Se il vostro progetto prevede più pannelli, è concepito per dare molta luminosità o non deve avere collegamenti via computer, avrete bisogno di un alimentatore esterno da 5 V collegato ai terminali a vite dell’Interstate 75.
Alimentazione
Potete alimentare l’Interstate 75 e i pannelli collegati tramite i terminali a vite o (se richiede una quantità modesta di energia) tramite il connettore USB-C. Fate molta attenzione a questo aspetto, perché i pannelli a matrice di LED sono parecchio richiedenti dal punto di vista energetico: a livello nominale, un pannello 64×64 può assorbire fino a 4 ampere di elettricità. In realtà, potreste cavarvela con molto meno, se lo usate ad esempio per cose come la visualizzazione di testo o numeri.
Se il vostro progetto dovesse presentare glitch, sfarfallio o l’Interstate 75 si riavvia costantemente, il primo indiziato è sicuramente l’alimentatore che potrebbe essere sottodimensionato.
Collegamento di un pannello
Per questo tutorial, supponiamo di avere un singolo pannello e che il tutto sia alimentato tramite il connettore USB-C sull’Interstate 75. Non abbiamo avuto problemi ad alimentare un singolo pannello dal nostro computer, ma se volete assicurarvi che le porte USB del vostro computer siano protette da un eccesso di corrente, vi consigliamo di collegare l’Interstate 75 a un hub alimentato o a un alimentatore esterno da 5 V.
Se il vostro progetto prevede più pannelli, è meglio iniziare collegandone uno soltanto per assicurarsi che tutto funzioni.
I pannelli HUB75 hanno connettori a 16 pin di ingresso e uscita dati sul retro: dovrete collegare l’Interstate 75 al connettore di ingresso dati. Le parti posteriori dei pannelli dovrebbero avere delle frecce che potete usare per vedere la direzione in cui i dati dovrebbero fluire attraverso il pannello.
Ecco le parti posteriori dei pannelli che immagazziniamo con i dati nel connettore contrassegnati in rosso. Come precisato dal venditore, marcature e layout possono variare leggermente da lotto a lotto.
Fatto questo, potete collegare l’header pre-saldata sull’Interstate 75 al connettore di ingresso dati sul pannello.
Collegamento del cavo di alimentazione
Per alimentare il pannello, dovrete collegare i connettori a forcella sul cavo di alimentazione rosso e nero fornito con il pannello ai connettori a vite sull’Interstate 75, rosso sul + e nero sul -. Assicuratevi di avere la polarità corretta! Allentate le viti e inserite la forcella tra la vite e il montante di metallo, quindi serrare le viti e dare un piccolo strattone ai fili per verificare che siano tenuti saldamente in posizione. Sembra banale, ma è una procedura che andrebbe seguita alla lettera e applicata ogni volta che si presenta un assemblaggio di questo tipo.
L’altra estremità del cavo ha una spina bianca: collegatela al connettore di alimentazione sul pannello (contrassegnato con “alimentazione” su alcuni pannelli, o solo VCC e GND su altri). La parte ritagliata di questo connettore significa che dovrebbe anche girare in un solo senso, anche se non c’è nulla di male nel controllare che i fili rossi entrino in VCC e il filo nero sia collegato a GND.
Assieme al pannello, vengono forniti dei piedini magnetici: sono utili se volete attaccare il vostro progetto a una superficie metallica come una bacheca o uno scaffale.
Collegamento di più pannelli
In questo tutorial non forniremo una grande quantità di dettagli sul concatenamento di più pannelli, ma potete utilizzare i cavi grigi forniti con i pannelli stessi: basta collegare un’estremità di questo cavo al connettore di uscita dati libero sul primo pannello e l’altra estremità nel connettore di ingresso dati del pannello successivo all’interno della catena.
Ogni pannello avrà bisogno di alimentazione, quindi dovrete collegare un altro connettore a forcella ai terminali a vite o creare una sorta di disposizione del cablaggio personalizzata.
Come detto in apertura di articolo, se state utilizzando più di un pannello, vi consigliamo vivamente di collegare un alimentatore esterno mentre programmi l’Interstate 75 (o scollegare l’alimentazione dai pannelli), sebbene i computer e gli alimentatori moderni dovrebbero avere circuiti di protezione sulle porte USB.
MicroPython
I driver della matrice LED nella build C++/MicroPython utilizzano gli I/O programmabili e il DMA di RP2040 per aggiornare rapidamente i LED in background, riducendo al minimo l’utilizzo della CPU e massimizzando la profondità del colore. La libreria fornita vi consentirà di impostare i singoli pixel su un valore di colore RGB o HSV (alcuni esempi su come utilizzare queste semplici funzioni per fare cose interessanti, come orologi e testo scorrevole, sono stati inseriti all’interno della libreria).
Accensione del LED RGB integrato
Per verificare che la scheda funzioni correttamente e che voi abbiate la versione corretta di MicroPython installata, potete provare a illuminare il LED RGB integrato dell’Interstate 75 in rosso con il seguente codice: potete inserirlo riga per riga nel REPL (che è il ‘Shell inferiore ‘ box in Thonny) o fare copia/incolla nella casella in alto e premere il pulsante verde Esegui per salvare il codice sulla Interstate 75. Se scegliete di salvarlo, vi verrà richiesto un nome file.
Ecco qui un esempio di codice:
1 2 3 4 5 |
import hub75 from pimoroni import RGBLED led = RGBLED(hub75.LED_R, hub75.LED_G, hub75.LED_B) led.set_rgb(255, 0, 0) |
I tre numeri dopo set_rgb sono un codice colore RGB (Red Green Blue) e ogni numero deve essere compreso tra 0-255.
Per verificare che la scheda funzioni correttamente e che tu abbia la versione corretta di MicroPython installata, puoi illuminare il LED RGB integrato dell’Interstate 75 in rosso con il seguente codice: puoi inserirlo riga per riga nel REPL (che è il ‘Shell inferiore ‘ box in Thonny) o copia e incolla il tutto nella casella in alto e premi il pulsante verde Esegui per salvare il codice sulla tua Interstate 75. Se scegli di salvarlo, ti verrà richiesto un nome file.
I tre numeri dopo set_rgb sono un codice colore RGB (Red Green Blue) e ogni numero deve essere compreso tra 0-255.
Avete mai fatto un sogno tanto realistico da sembrarvi vero? Beh, se per quel che riguarda le matrici siete del tutto “inconsapevoli”e volete iniziare dalle basi, vi consigliamo di giocare con il REPL (è la casella in basso in Thonny, dove inserite il codice riga per riga). Per prima cosa, dobbiamo prendere la pillola rossa e… inizializzare la matrice!
Ecco come farlo per un pannello 64 x 64: inserite il codice seguente riga per riga, modificando la larghezza e l’altezza in modo che corrispondano alle dimensioni del pannello.
1 2 3 4 5 6 7 |
import hub75 WIDTH = 64 HEIGHT = 64 matrix = hub75.Hub75(WIDTH, HEIGHT) matrix.start() |
Per illuminare un pixel di un colore particolare, dobbiamo fare due cose: primo, dobbiamo usare la funzione set_rgb per specificare quale pixel vogliamo illuminare e di che colore e, secondo, dobbiamo usare la funzione flip() per aggiornare la matrice e visualizzare effettivamente il pixel che abbiamo impostato.
I pixel sono organizzati dalle loro coordinate x/y dall’angolo in alto a sinistra, quindi il pixel in alto a sinistra è 0, 0 e il pixel in basso a destra è 16, 6. Ricordtevi che, in Python, le cose sono numerate da 0 anziché da 1 .
I colori dei pixel sono specificati da un valore di colore RGB. Ogni colore può essere rappresentato mescolando una determinata quantità di Rosso, Verde e Blu da 0 a 255, il che significa che potete ottenere oltre 16 milioni di colori diversi! Ad esempio, il rosso puro è 255, 0, 0 e il bianco è 255, 255, 255.
Accendiamo di rosso il pixel in alto a sinistra, digitando quanto segue:
1 2 |
matrix.set_rgb(0, 0, 255, 0, 0) matrix.flip() |
Per cancellare tutti i pixel che avete impostato, puoi utilizzare la funzione clear(), seguita da flip():
1 2 |
matrix.clear() matrix.flip() |
Facile no? Allacciatevi la cintura, ragazzi, che da adesso di meraviglie ne vedrete un bel po’ [Semicit.]
Gli altri esempi li lasciamo a voi. Volete acquistare Interstellar ’75? Potete guardare qui e farla vostra per 14 sterline circa!
Iscrivetevi ai nostri gruppi Telegram
Link utili