So you got an Arduino Micro and an Aldi LED strip for christmas and want to know how to get started with it. Here is a little project for you. At the end you will see the strand test.
You will need the LED strip, a breadboard, some wires, a soldering iron, a sharp knife or scissors and an Ardinuo (Micro or Uno).
First you need to free the strip from the water protection at the end. You will need to cut it gently of with the help of the knife or the scissors.
After this you solder four wires to the contacts, which we later will use to connect to the power supply and the Arduino on the bread board.
The wire connected to the Vcc will be connected to the + and the wire connected to the GND right below the Vcc, will be connected to the – on the power plug connector.
This will deliver the 12V power to the strip, without arming the Arduino.
The next GND and the DI are connected to the bread board with the Ardunio, where the GND goes to the GND pin and the DI goes to digital Pin 6.
LED Strip | Arduino/Power plug |
---|---|
VCC | Power plug + |
GND | Power plug – |
GND | Arduino GND |
DI | Arduino Pin 6 |
Connect the Arduino with the micro USB cable to the computer. We now have to install the modified Neopixel library first. Therefore we need to download the following:
After download and unpacking you need to copy the Adafruit_NeoPixel.cpp
from the first one into the container of the second one. The second container then needs to be installed in the libraries folder of your Arduino IDE installation.
Done that and restarted the Arduiono IDE, you will now be able to run the following program:
#include <Adafruit_NeoPixel.h> // Parameter 1 = number of pixels in strip // Parameter 2 = pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_RGB Pixels are wired for RGB bitstream // NEO_GRB Pixels are wired for GRB bitstream // NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels) // NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip) Adafruit_NeoPixel strip = Adafruit_NeoPixel(50, 6, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' } void loop() { // Some example procedures showing how to display to the pixels: colorWipe(strip.Color(255, 0, 0), 10); // Red colorWipe(strip.Color(0, 255, 0), 10); // Green colorWipe(strip.Color(0, 0, 254), 10); // Blue rainbow(2); rainbowCycle(1); } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } void rainbow(uint8_t wait) { uint16_t i, j; for(j=0; j<256; j++) { for(i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, Wheel((i+j) & 255)); } strip.show(); delay(wait); } } // Slightly different, this makes the rainbow equally distributed throughout void rainbowCycle(uint8_t wait) { uint16_t i, j; for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel for(i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } } // Input a value 0 to 255 to get a color value. // The colours are a transition r - g - b - back to r. uint32_t Wheel(byte WheelPos) { if(WheelPos < 85) { return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if(WheelPos < 170) { WheelPos -= 85; return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } }
will try now..
one note: the second link is wrong. you write
https://gitub.com/adafruit/Adafruit_NeoPixel
instead of
https://github.com/adafruit/Adafruit_NeoPixel
one “h” is missing. 😀
Thanks for spotting it. Is now fixed.
-mat-
I get an error compiling.
I fixed it. Just moved the .h and .cpp file