Markdown source

#Gestione pannelli a led RGB con Raspberry


<div class="row">
	<div class="col-md-9">
		<div class="text-success lead">
		Appunti sul funzionamento dei pannelli a Led RGB usando Raspberry Pi model B
		ed il software rpi-rgb-led-matrix di Henner Zeller
		</div>
	</div>
	<div class="col-md-3">
		<a href="https://github.com/hzeller/rpi-rgb-led-matrix">
		<img src="./henner.jpg">
		</a>
	</div>
</div>

<img src="./banner.jpg" title="Esempi di pannelli a 4 moduli">

## Cosa si può fare rpi-rgb-led-matrix

Rpi-rgb-led-matrix è un progetto creato da Henner Zeller che consente di pilotare dei
pannelli RGB a led direttamente dai pin di I/O della Raspberry Pi senza 
dover usare nessun ulteriore controller.

Con questo sistema si possono pilotare, a detta dell'autore, fino a tre righe
di 12 pannelli ognuna con una Raspberry Pi 2 Model B.

Quello che si può visualizzare sono immagini statiche, gif animate, scritte e grafica dinamiche. 
Non è possibile mandare video. Per i video occorre dell'hardware aggiuntivo di cui discuteremo in 
un altro articolo.

Tutti gli schemi elettrici e la documentazione per pilotare pannelli
è descritta sul repository GitHub di Henner Zeller disponibile su questo
indirizzo:

* [rpi-rgb-led-matrix](https://github.com/hzeller/rpi-rgb-led-matrix)

## Cosa serve per provare in pratica

* Un PC (Linux o Windows) o un Mac
* Una Raspberry Pi model B (meglio se di tipo 2)
* Una microSD da almeno 2GB almeno classe 4
* Una alimentatore per Raspberry
* Una alimentatore per Pannello RGB
* Almeno un pannello RGB con relativi cavetti
* Una connessione di rete

E' possibile acquistare buona parte del materiale elencato in fondo a questo articolo. ad
eccezione dell'adattatore tra il connerrore Raspberry ed il connettore del 
pannello RGB che andrà filato a mano.

## Come funziona un pannello RGB 32x32

<img class="float"  src="./ledpanel_p6.jpg"/>

I pannelli RGB hanno un connettore di ingresso a 16 pin dove 
inviare i dati da visualizzare ed un connettore di uscita a 16 pin 
dove inviare i dati per il pannello successivo.

Più pannelli possono essere messi in cascata e connessi tra loro tramite
cavi flat a 16 pin.

L'alimentazione a 5 volt viene fornita su un connettore a parte. Ogni pannello
può consumare quando acceso tutto bianco alla massima intensità fino a 4 ampere.

I segnali sul connettore dati sono:

* Tre linee dati per i colori R0, G0 e B0 del primo blocco di 16 linee
* Tre linee dati per i colori R1, G1 e B1 del secondo blocco di 16 linee
* Una linea di clock (CLK) 
* Una linea di strobe (STD)
* Una linea di output enable (OE)
* Quattro linee dati (A,B,C and D) per selezionare la riga a cui
inviare i dati Rx,Gx and Bx

Il pannello è logicamente diviso in due sezioni:

* Le prime 16 linee composte ognuna da 32 led a 3 colori
* Le secondo 16 linee composte ognuna da 32 led a 3 colori

Questo è uno schema a blocchi delle struttura interna di un pannello RGB

<img class="float"  src="./ledpanel_scheme.jpg"/>

## Connessioni elettriche

Sul repository [rpi-rgb-led-matrix](https://github.com/hzeller/rpi-rgb-led-matrix) 
sono descritte molto bene le interconnessioni elettriche tra la Raspberry Pi 
ed i pannelli RGB. Per i nostri esperimenti io ho usato le seguenti connessioni per 
poter per 4 pannelli su singola riga (128x32 pixel).

<img src="./raspberry2rgb.jpg" width="1024px">

E' possibile realizzare le connessioni usando una basetta millefori come illustrato in questa foto:

<img src="./adapter.jpg" >

Oppure aspettare qualche giorno e acquistare l'adattatore a tre vie prodotto da Acme Systems.

#Esempi

<ul class="nav nav-tabs">
	<li class="nav active"><a href="#led-image-viewer" data-toggle="tab">led-image-viewer</a></li>
	<li class="nav"><a href="#led-matrix" data-toggle="tab">led-matrix</a></li>
	<li class="nav"><a href="#raspberry_cubo" data-toggle="tab">Cubo luminoso</a></li>
</ul>

<div class="tab-content">
	<div class="tab-pane fade in active" id="led-image-viewer">
		@include='led-image-viewer'
	</div>
	<div class="tab-pane fade in" id="led-matrix">
		@include='led-matrix'
	</div>
	<div class="tab-pane fade in" id="raspberry_cubo">
		@include='raspberry_cubo'
	</div>
</div>

<hr/>

##Ringraziamenti

<a href="http://www.eliografica.com">
<img src="./eliografica.jpg">
</a>

Ringrazio <b>Alessio Camaioni</b> ([www.eliografica.com](http://www.eliografica.com)) per il supporto 
nella stesura di questo articolo ed il disegno di alcune delle immagini in esso riportare.



Le attività del TanzoLab si svolgono ogni mercoledi sera, salvo casi speciali, dalle ore 18:30 presso i locali della Acme Systems srl e consistono in:

  • Talk monotematici a cura di professionisti in vari settori tecnologici
  • Workshop pratici su elettronica embedded, produzione e informatica
  • Progettazione e realizzazione di nuovi prodotti embedded per l'IT

Le attività vengono coordinate tramite questo sito, in cui vengono pubblicati tutti i lavori svolti o in via di sviluppo, e tramite un gruppo Telegram con cui per interagire direttamente via chat con gli altri membri.