sabato 26 marzo 2011

Radio Controlled RGB LED


English version below.

Il JeeNode è una delle innumerevoli varianti di Arduino. Le sue caratteristiche principali sono il fatto di avere a bordo un modulo wireless RFM12B, di avere un formato molto compatto e di mantenere piena compatibilità con l'ambiente integrato di sviluppo di Arduino.
Il modulo wireless permette a un insieme di JeeNode di comunicare tra loro ed eventualmente con un PC espandendo le applicazioni possibili nella direzione delle reti di sensori distribuiti (Wireless Sensor Network).

La nostra semplice applicazione prevede l'uso di due JeeNode: il primo legge lo stato di un pulsante e invia al secondo una tripletta di valori (R, G, B), il secondo riceve questa tripletta e imposta di conseguenza il colore dei LED RGB.
Il pulsante sul primo JeeNode serve a passare ciclicamente attraverso cinque modalità: nella prima la tripletta inviata  è  (255, 0, 0) (rosso), nella seconda (0, 255, 0) (verde), nella terza (0, 0, 255) (blu), nella quarta (255, 255, 255) (bianco) e nella quinta viene inviata ciclicamente una sequenza di triplette che fanno variare il colore dei LED dal rosso al violetto passando per le varie tonalità intermedie.


Il secondo JeeNode invia tre segnali PWM (usando la libreria SoftPWM) proporzionali ai valori R, G e B ad un driver ULN2003 che pilota i tre LED presenti all'interno di ciascun LED RGB. Di conseguenza il LED RGB si illumina del colore prescelto. Il driver ULN2003 si è reso necessario in quanto abbiamo usato una porzione di una striscia di LED RGB ad anodo comune alimentata a 12 Volts. Usando dei transistor di potenza discreti è possibile pilotare strisce di LED RGB anche di diversi metri di lunghezza.


I link per scaricare il firmware utilizzato:
jeeRGB_LED_tx.zip
jeeRGB_LED_rx.zip



Radio Controlled RGB LED from SuLuLab on Vimeo.



The JeeNode is one of the many variants of Arduino. Its main features are: an RFM12B wireless module on board, a very compact size and full compatibility with the Arduino Integrated Development Environment.
The wireless module enables a set of JeeNode to communicate with each other and possibly with a PC expanding the possible applications in the direction of distributed sensor networks (Wireless Sensor Network).

In our simple application we use two JeeNode: the first reads the status of a button and sends a triplet of values ​​(R, G, B) to the second, the second receives the triplet and set the RGB LED with the corrispondent color.
The button on the first JeeNode is used to cycle through five modes: in the first the sent triplet is (255, 0, 0) (red), in the second (0, 255, 0) (green), in the third (0, 0, 255) (blue), in the fourth (255, 255, 255) (white) and in the fifth a sequence of triplets is sent that change the LED color from red to violet through the various shades in between (cyclically).

The second JeeNode sends three PWM signals (using the SoftPWM library) proportional to the R, G and B values ​​to a ULN2003 driver that drives the three LEDs in each RGB LED. Consequently, the RGB LED lights of the chosen color. The ULN2003 driver is necessary because we used a portion of a common anode RGB LED strip powered by 12 volts. Using discrete power transistors is possible to control RGB LED strips also several meters in length.

Nessun commento:

Posta un commento