These days I found an interesting product on the website DFRobot: Rainbow LED Ring V3 Arduino
In Italy, the product can be purchased from the site-domestic robot which I immediately ordered one coming in the next days, I hope that with the holiday next week the carrier decides to deliver it to the epiphany would be a nice surprise on the part of the Epiphany.
While waiting for the new game arrivals, I started to read the wiki that the DFRobot has realized for the product, I find the initiative of a wiki project really interesting and useful, for many of the products available in the catalog have created a dedicated wiki where you can find many dlle info that normally help you not only in the use phase of the product, but especially in the process of choosing, while you are still considering whether the product is suitable for you.
Features of the Rainbow LED Ring V3 Arduino
Rainbow LED Ring V3 Arduino has 12 RGB LED type smd controllable without the need of a microcontroller such as Arduino, this is possible thanks all'Atmega168P similar to that of which are equipped the shede Lilypad.
In the wiki has the following specifications:
- CPU: Atmega 168P (Lilypad Board in Arduino IDE)
- Bootloader: Optiboot diecimila
- Supply voltage:5In
- Output voltage:5In
- Interface: Serial/I2C/Digital pins
- Push button x2
- 12 SMD RGB LED
- Firmware upgradable
- Stand-alone operation: No microcontroller needed for light script playback
In practice, the board is made up of a PCB 6,1cm diameter on which are housed the 12 led rgb smd e 2 buttons.
The Rainbow LED Ring V3 Arduino can be programmed like a Lilypad Arduino IDE with the, this makes it independent from an external arduino at operation.
The programming of the Rainbow LED Ring V3 Arduino
to program the Rainbow LED Ring V3 Arduino you can use either interface is a FTDI Arduino Uno, in the latter case, the use of which has I2C Arduino Uno is the Rainbow LED Ring V3 Arduino feature.
Before proceeding with the programming you have to connect the Rainbow LED Ring V3 Arduino to your computer using for example a FTDI interface performs the connections according to the diagram:
if you want to use one as Arduino I2C interface to program the Rainbow LED Ring V3 Arduino, you can follow the following scheme:
Writing and sketching sending all'Atmega168P on the Rainbow LED Ring V3 Arduino you can use the Arduino IDE.
Sketch an example for Rainbow LED Ring V3 Arduino
on the wiki DFRobot is the library, and all the sample files of the project. Download them from this link
Following the instructions published in the wiki download the software from the link at the top line, unzip the file and find:
identifies your Arduino installation directory and copy in the Libraries folder RGB_Ring_V3;
moved to the dir \arduino-0022\hardwarearduino Your Arduino IDE;
rar file downloaded and unzipped you can find a dir RGB_Ring_V3boards and programmers-arduino that contains the file boards.txt containing the information to be added to the homonymous file in your path! \arduino-0022\hardwarearduino
Completed the process of backing up files if you have the IDE open, close it and reopen it, You'll find among the new board: “[Optiboot] Arduino Diecimila, Duemilanove, Nano, NG w/ ATmega168” in the optioned Tools>Boards the menu dell'IDE.
I made a small guide with scrren shot of the operation you need to perform to install mac OSX on board the Rainbow LED Ring V3 Arduino as described above, find your Application: Arduino 1.0 or later
click with the right mouse button and select “Show package contents”:
navigate to the path \arduino-xxxxhardwarearduino fino al file board.txt:
open it with TextEditor and paste in the bottom of the lines taken from the tar file board.txt provided with Rainbow LED Ring V3 Arduino.
Open the Arduino IDE and the menu Tools -> Board should find the new cards:
In the rar file you downloaded there are also examples of the use of the Rainbow LED Ring V3 Arduino, However, if you try these sketches and libraries find that they were written with the directives of the IDE 0022 you need to make changes to both the library RGB_Ring_V3.h since the initial establishment ricevereai the following errors:
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(you)': 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'
In the next article I will explain what changes do and for what purpose to try your sketch.
Have fun !!!