In questi giorni ho trovato sul sito dfrobot un interessante prodotto: Rainbow LED Ring V3 Arduino
In Italia il prodotto è acquistabile dal sito robot-domestici da cui ne ho subito ordinato uno in arrivo nei prossimi giorni, spero che con le festività della prossima settimana il corriere non decida di consegnarmelo per l’epifania 🙂 sarebbe comunque una bella sorpresa da parte della befana.
In attesa che il nuovo gioco arrivi ho iniziato a leggere la wiki che la dfrobot ha realizzato per il prodotto, trovo l’iniziativa della wiki un progetto davvero interessante e utile, per molti dei prodotti disponibili a catalogo hanno realizzato una wiki dedicata in cui trovi molte dlle info che normalmente ti aiutano non solo in fase di utilizzo del prodotto ma sopratutto in fase di scelta, quando ancora stai valutando se il prodotto è adatto alle tue esigenze.
Caratteristiche del Rainbow LED Ring V3 Arduino
il Rainbow LED Ring V3 Arduino è dotato di 12 led RGB di tipo smd controllabili senza la necessità di un microcontrollore come Arduino, questo è possibile grazie all’Atmega168P simile a quello di cui sono equipaggiate le shede Lilypad.
Nel wiki trovi le seguenti caratteristiche tecniche:
- CPU: Atmega 168P (Lilypad Board in Arduino IDE)
- Bootloader: Optiboot diecimila
- Supply voltage:5V
- Output voltage:5V
- Interface: Serial/I2C/Digital pins
- Push button x2
- 12 SMD RGB LED
- Firmware upgradable
- Stand-alone operation: No microcontroller needed for light script playback
- Diameter:61mm
In pratica la board è realizzata su di un PCB di 6,1cm di diametro su cui sono alloggiati i 12 led rgb smd e 2 bottoni.
Il Rainbow LED Ring V3 Arduino è programmabile come fosse una Lilypad con l’IDE Arduino, questo la rende indipendente da un arduino esterno in fase di funzionamento.
La programmazione del Rainbow LED Ring V3 Arduino
per programmare il Rainbow LED Ring V3 Arduino puoi utilizzare sia un’interfaccia FTDI sia una Arduino Uno, in quest’ultimo caso utilizzi la I2C di cui sia Arduino Uno sia la Rainbow LED Ring V3 Arduino sono dotate.
Prima di procedere alla programmazione devi collegare il Rainbow LED Ring V3 Arduino al computer usando ad esempio un interfaccia FTDI esegui i collegamenti secondo lo schema:
se vuoi utilizzare Arduino uno come interfaccia I2C per programmare la Rainbow LED Ring V3 Arduino puoi seguire lo schema seguente:
Scrivere lo sketch e l’invio all’Atmega168P presente sul Rainbow LED Ring V3 Arduino puoi utilizzare l’IDE di Arduino.
Sketch di esempio per Rainbow LED Ring V3 Arduino
sul wiki della dfrobot è presente la libreria e tutti i file di esempio del progetto. Scaricali da questo link
Seguendo le istruzioni pubblicate nella wiki scarica il software dal link riportato alla riga superiore, decomprimi il file e trovi:
individua la tua installazione di Arduino e copia all’interno della directory Libraries la cartella RGB_Ring_V3;
spostati nella dir \arduino-0022\hardware\arduino del tuo IDE Arduino;
nel file .rar scaricato e decompresso trovi una dir RGB_Ring_V3\boards and programmers-arduino\ che contiene il file boards.txt contenente le informazioni da aggiungere all’omonimo file presente nel path \arduino-0022\hardware\arduino
Important!
E’ importante che le istruzioni presenti nel file board.txt scaricato dal sito DFRobot siano aggiunte al file presente nel tuo IDE Arduino, SENZA sovrascrivere quelli esistenti.
Conclusa la procedura di copia dei file se hai l’IDE aperto chiudilo e riaprilo, troverai tra le board la nuova: “[Optiboot] Arduino Diecimila, Duemilanove, Nano, NG w/ ATmega168” nelle opziono Tools>Boards del menu dell’IDE.
Ho realizzato una piccola guida con scrren shot dell’operazione che devi eseguire per installare su mac OSX la board Rainbow LED Ring V3 Arduino come descritto sopra, trova la tua Applicazione: Arduino 1.0 o successivo
clicca con il tasto destro del mouse e seleziona “Mostra contenuto Pacchetto”:
naviga fino al path \arduino-xxxx\hardware\arduino fino al file board.txt:
aprilo con TextEditor ed incolla in fondo le righe prelevate dal file board.txt fornito con il tar del Rainbow LED Ring V3 Arduino.
Apri l’IDE Arduino e nel menu Tools -> Board dovresti trovare le nuove schede:
Nel file .rar che hai scaricato ci sono anche degli esempi di utilizzo della Rainbow LED Ring V3 Arduino, tuttavia se provi tali sketch e librerie scoprirai che essendo stati scritti con le direttive dell’IDE 0022 è necessario apportare delle modifiche sia alla libreria RGB_Ring_V3.h in quanto alla prima compilazione ricevereai errori simili ai seguenti:
In file included from RGB_Ring_V3.cpp:1: RGB_Ring_V3.h:5:22: error: WProgram.h: No such file or directory RGB_Ring_V3.h:6:24: error: WConstants.h: No such file or directory In file included from RGB_Ring_V3.cpp:1: RGB_Ring_V3.h: In function 'void random_leds()': RGB_Ring_V3.h:293: error: 'random' was not declared in this scope RGB_Ring_V3.h: In function 'void fader()': RGB_Ring_V3.h:303: error: 'delay' was not declared in this scope RGB_Ring_V3.h:307: error: 'delay' was not declared in this scope RGB_Ring_V3.h: In function 'void fader_hue()': RGB_Ring_V3.h:318: error: 'delay' was not declared in this scope RGB_Ring_V3.h: In function 'void swaywobble(uint8_t, uint8_t)': RGB_Ring_V3.h:379: error: 'delay' was not declared in this scope RGB_Ring_V3.h:385: error: 'delay' was not declared in this scope RGB_Ring_V3.h: In function 'void set_all_byte_hsv(uint8_t, uint16_t, uint8_t, uint8_t)': RGB_Ring_V3.h:563: error: 'B00000001' was not declared in this scope RGB_Ring_V3.cpp: In function 'void receiveEvent(int)': RGB_Ring_V3.pde:-1: error: 'class TwoWire' has no member named 'receive' As of Arduino 1.0, the Wire.receive() function was renamed to Wire.read() for consistency with other libraries. RGB_Ring_V3.pde:-1: error: 'class TwoWire' has no member named 'receive'
Nel prossimo articolo ti spiegherò quali modifiche eseguire e a che scopo per provare il tuo sketch.
Buon divertimento !!!
2 ping
[…] « Rainbow LED Ring V3 Arduino […]
[…] un mese fa con l’avvicinarsi del Natale ti ho parlato di una scheda che mi ha molto colpito, la Rainbow Ring V3 e ne ho ordinata una da robot-domestici.it, insieme a […]