Christmas lights with Arduino

After long time since the last post and being back from my “journey” in Scotland it is time for new electronics projects. If you are wondering about the weather station I can anticipate that the project is on-going and soon there will be news (the PCB is almost completed)

In the mean time as a very fast project for the Christmas holidays I thought about replacing the old outdoor lights on the three with old fashioned bulbs with some LEDs, but as a good maker (well… let’s say electronic engineer [as in Italy, should be an MSc outside Italy] becasue maker is a bit too advance, I destroy thing more than make them) felt to go a step further and find something programmable.

With a really rapid research with google I found the NeoPixel from Adafruit, which uses a chip called WS2811 to drive a single RGB LED (or three single LEDs of any kind you want I add). This chip is programmable in serial and can be concatenated with other drivers to form a long sequence of LED. Its successor is the WS2812 which is integrated inside the LED, available in different sizes (see Adafruit)

Once decided the LED/driver I searched online for a programmable LED line for outdoor use and found this on Amazon (Apologies if it opens an italian webpage) from China and a 5V, 10A power supply. The power supply was chosen after a measure with a bench variable power supply and more than doubled the maximum current measured because it is always a good practice to overestimate the power needed for the supply to avoid to break it at the first use. (Also don’t trust the manufacturer of cheap power supply).

With a perfboard I realised the connections for the Arduino Leonardo I had around the house and wrote the code necessary to have some light effects. The code is availeble on github.

The code is really minimal in order to use the lowest memory possible which enables further effects to be added in future.
So far there are only a couple of effects and an Arduino sketch to test colours which does not work on my laptop (I don’t get the string messages I wrote in the code). Enjoy and have fun.

Ciao and happy 2017 to everyone.

Luci natalizie con Arduino

Dopo molto tempo dall’ultimo post ed essendo tornato dall’estero eccomi qui con nuovi progetti. Se vi state domandando se la stazione meteo sta procedendo vi anticipo che presto ci saranno delle novita`in arrivo (la PCB e` quasi completata).

Nel frattempo come progetto lampo per Natale ho pensato di togliere le vecchie luci a lampadina tradizionale e sostituirle con delle luci a LED, ma da buon maker (diciamo da ingegnere che maker e` troppo avanzato, io al massimo disfo) mi sono sentito in dovere di fare un passo in piu` e cercare qualcosa di programmabile.

Allora con una rapida ricerca ho trovato questi NeoPixel da Adafruit che usano un WS2811 per pilotare un LED RGB, la peculiarita` di questi chip sta nella possibilita` di concatenare piu` chip in serie e sfruttare la connessione seriale per creare delle file di LED. Il suo successore e` il WS2812 che e` integrato all’interno del LED stesso ed e` disponibile in diverse misure (sempre sul sito Adafruit).

Cercando quindi una fila di luci a LED programmabili ho trovato questo su Amazon dalla Cina e che fa proprio al caso mio, insieme a questo ho pure comprato un alimentatore (dopo aver testato la fila a LED) da 5V e 10A per alimentare 5 file di LED. L’alimentatore e` stato scelto con il doppio della potenza realmente necessaria per evitare che si bruci, essendo un alimentatore anchesso cinese e` bene sceglierne uno sovradimensionato perche’ fidarsi e` bene ma non fidarsi e` meglio.

Nel frattempo ho realizzato su una scheda “mille-fori” lo shield per l’Arduino Leonardo che avevo disponibile a casa e poi ho scritto il codice necessario per pilotare le file di LED. Il codice e` disponibile su github e spero vi sia utile.

Il codice e` minimale e cerca di riutilizzare il piu` possibile le variabili per usare il meno possibile la memoria. Per ora gli effetti sono pochi, mi ci vorrebbe un po’ di tempo per crearne degli altri ma se qualcuno di voi lettori ha qualche suggerimento fatevi avanti.

Un saluto e buon 2017 a tutti