So.....Decorating stuff with Arduino's THIS HOLIDAY!?

/*

SO please tell How you people use it to generate some great LED effects or anything like that?

*/

I got a 5m reel of LEDS:

I'm running the LEDbeltKit sketch virtually unmodified (I increased the number of LEDs to 160).

I soldered together a RBBB kit as the driver (to save using a "real" Arduino to drive it) and put that inline between a power supply and the LEDs, inside a shrunk-wrapped tube. That demo sketch runs through a whole lot of different effects like chasing LEDs, fading, blinking, different colours etc. It looks nice. :slight_smile:

Great sounds like it really is beautiful , any possibility of posting a vid?

I'll see what I can do, I need to wait for it to get dark again. Also the mounting of the LEDs isn't perfect, so I had to fling the LED strip over a curtain rail. But the effect is still OK. :slight_smile:

Well, out here it's real dark right now, so...

Would have been dark by now?

I'm planning on making Christmas ornaments with Adafruit neopixel rings and an ATtiny85 raw processor inside to run the rings. I'll probably put a family picture inside of the ring. I'm looking up USB power supplies right now to allow the rings to go on the tree.

NI$HANT:
/*

SO please tell How you people use it to generate some great LED effects or anything like that?

*/

I love your description (next to your avatar), looking to find a girl who likes you AND your Arduino boards :smiley:

If you want GREAT effects, spend the money and buy some RGB (addressable) LED strips, wrap them around what you want and program them, the shift register is embedded inside the LED making it so easy to wire up, what puts me off any kind of good LED show is the wiring, just 5 RGB LED's (15 wires there to address each color) so I think an addressable RGB strip is best way to go...

That or, say a load of different LED strips (and having no control over each individual LED) and light them up as you need.

NI$HANT:
Would have been dark by now?

Not yet. In Australia is is early evening. In summer. So it won't get really dark until late. And I might wait until I have the Xmas tree nearby otherwise it will look a bit boring.

I've never got used to "Summer" down under.

I've been in this country now (Australia) for 12/13 years, and yet every year come Dec, it's warmer, brighter, sunny and even though your brain knows this, it's still an odd feeling because you associate summer time with summer, not winter and certainly not christmas, you spend the cold months being miserable here then you're looking forward to summer... not Christmas..

it's all a little weird ....

People from the northern side of the world use Christmas as an excuse to cuddle up, next to a fire, keep warm drink the cherry, brandy, go outside to keep your beer cold in -8c so a lot of the enjoyment for christmas (for me at least) is time you get off from work, so you don't have to get up in miserable cold weather, take a break enjoy christmas.....

Since everyone's loving summer (when xmas hits) and getting over the winter spell into warm weather, all that ambiance is gone... on the other hand if you love to party, get drunk and walk around in shorts for christmas, then yeah you'd love it..

But for me, unless it's cold and maybe snowing, I just can't fully get into the spirit of xmas.

I'm looking up USB power supplies right now to allow the rings to go on the tree.

Great!
USB power , any specific reasons why just the USB power?

I love your description (next to your avatar), looking to find a girl who likes you AND your Arduino boards smiley-grin

Thanks man! atleast somebody like this, I would love to be loved by a girl now, I'm turning 26 this 19th Dec and I've been single since times immemorial and believe me I'm a definite nerd but not at all a shabby one, I look good :grin:

Not yet. In Australia is is early evening. In summer. So it won't get really dark until late. And I might wait until I have the Xmas tree nearby otherwise it will look a bit boring.

I never knew that in that continent its sooo hot! Even here in India its cold!

NI$HANT:

I'm looking up USB power supplies right now to allow the rings to go on the tree.

Great!
USB power , any specific reasons why just the USB power?

Mainly it is cheap. But also, I need 5v for the rings, and USB phone chargers include a power regulator.

I need to make 6 rings for relatives, so I need 6 power supplies that people can use on their Christmas trees. Since the rings cost $10 each, I feel the need to economize elsewhere. So I'm using raw ATtiny85 chips (at $1.40 each) rather than say Gemma's ($8 each), and I'm planning on using either cheap power supplies from a computer surplus store, or USB phone charger cables. I probably have a few charger bricks floating around that I can donate to the cause, but I will need to get a few more.

cjdelphi:
... you spend the cold months being miserable here then you're looking forward to summer... not Christmas..

it's all a little weird ....

People from the northern side of the world use Christmas as an excuse to cuddle up, next to a fire, keep warm drink the cherry, brandy, go outside to keep your beer cold in -8c so a lot of the enjoyment for christmas (for me at least) is time you get off from work, so you don't have to get up in miserable cold weather, take a break enjoy christmas.....

The weird thing about being down here is that we have inherited all the English traditions. Even though Xmas Day might be 45º C (113 ºF) we have Santas wandering around in their furry coats, and we serve roast turkey, and plum pudding. All nice, warming stuff. If it is freezing outside. Which it isn't.

I helped with the code and another member of the forum did the sequence.

http://forum.arduino.cc/index.php?topic=200226.0

/*
  "Jingle Bells" Melody
 
 Plays "Jingle Bells"
 
 circuit:
 * 8-ohm speaker on digital pin 7
  
 */
#include "pitches.h"

#define led0 B0001
#define led1 B0010
#define led2 B0100
#define led3 B1000

int ledPins[] = { 
  3,6,9,11 };       // an array of pin numbers to which LEDs are attached
int pinCount = 4;           // the number of pins (i.e. the length of the array)

// notes in the melody:
int melody[] = {
  NOTE_D4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_D4, NOTE_D4, NOTE_D4,
  NOTE_D4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_E4,
  NOTE_E4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_FS4,
  NOTE_D5, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_B4, NOTE_D4,
  NOTE_D4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_D4, NOTE_D4, NOTE_D4,
  NOTE_D4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_E4, NOTE_E4,
  NOTE_E4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_D5, NOTE_D5, NOTE_D5,
  NOTE_E5, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_G4,
  NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4,
  NOTE_B4, NOTE_D5, NOTE_G4, NOTE_A4, NOTE_B4,
  NOTE_C5, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4,
  NOTE_B4, NOTE_A4, NOTE_A4, NOTE_B4, NOTE_A4, NOTE_D5,
  NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4,
  NOTE_B4, NOTE_D5, NOTE_G4, NOTE_A4, NOTE_B4,
  NOTE_C5, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4,
  NOTE_D5, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_G4 };

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {

  8, 8, 8, 8, 3, 16, 16,
  8, 8, 8, 8, 2,
  8, 8, 8, 8, 2, 
  8, 8, 8, 8, 3, 8,
  8, 8, 8, 8, 3, 16, 16,
  8, 8, 8, 8, 3, 8,
  8, 8, 8, 8, 8, 8, 8, 8,
  8, 8, 8, 8, 2,
  8, 8, 4, 8, 8, 4,
  8, 8, 6, 16, 2,
  8, 8, 6, 16, 8, 8, 8, 16, 16,
  8, 8, 8, 8, 4, 4,
  8, 8, 4, 8, 8, 4, 8, 8, 6, 16, 2,
  8, 8, 6, 16, 8, 8, 8, 16, 16,
  8, 8, 8, 8, 2 };

byte LEDs[]={
   B0010,   B0100,   B1000,   B0001,   B1111,       B0001,    B0001,
   B0001,   B1000,   B0100,   B0010,   B1111,
   B0010,   B1000,   B0100,   B0001,   B1111,
   B0001,   B0100,   B1000,   B0010,   B1111,       B0010,
   B0010,   B0100,   B1000,   B0001,   B1111,       B0001,    B0001,
   B0001,   B1000,   B0100,   B0010,   B1111,       B0010,
   B0010,   B0100,   B1000,   B0001,   B1001,     B0110,    B1100,       B0011,
   B1010,    B0101,    B1010,     B0101,    B1111,
   B0110,    B0110,    B0110,     B1001,    B1001,      B1001,
   B0010,   B0100,   B1000,   B0001,   B1111,
   B0110,    B0110,    B0110,     B0110,    B0110,      B1001,    B1001,       B1001,      B1001,
   B0010,   B0100,   B1000,   B0001,   B0010,    B1111,
   B0110,    B0110,    B0110,     B1001,    B1001,     B1001,
   B0010,   B0100,   B1000,   B0001,   B1111,
   B0110,    B0110,    B0110,     B0110,    B0110,     B1001,     B1001,       B1001,      B1001,
   B1111,       B1111,       B1100,    B0011,    B1111};

void setup() {
  for (int i=0;i<pinCount;i++)
  {
    pinMode(ledPins[i],OUTPUT);
    digitalWrite(ledPins[i], LOW);
  }
  // iterate over the notes of the melody:
  for (int thisNote = 0; thisNote < 100; thisNote++) {

    // to calculate the note duration, take one second 
    // divided by the note type.
    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
    int noteDuration = 1800/noteDurations[thisNote];
    // I found that by lengthening the noteDuration,
    // I was able to "slow" the song down.
    tone(7, melody[thisNote],noteDuration);
  
    LEDon(thisNote);

    // to distinguish the notes, set a minimum time between them.
    // the note's duration + 30% seems to work well:
    delay(noteDuration);
    LEDoff(thisNote);

    int pauseBetweenNotes = noteDuration * 0.30;
    delay(pauseBetweenNotes);
    // stop the tone playing:
    noTone(7);
  }
}

void loop() {
  // no need to repeat the melody.
}

int currentLEDpin=3;
void LEDon(int thisNote)
{
  if ((LEDs[thisNote]&led0)!=0) digitalWrite(ledPins[0],HIGH);
  if ((LEDs[thisNote]&led1)!=0) digitalWrite(ledPins[1],HIGH);
  if ((LEDs[thisNote]&led2)!=0) digitalWrite(ledPins[2],HIGH);
  if ((LEDs[thisNote]&led3)!=0) digitalWrite(ledPins[3],HIGH);
}

void LEDoff(int thisNote)
{
  if ((LEDs[thisNote]&led0)!=0) digitalWrite(ledPins[0],LOW);
  if ((LEDs[thisNote]&led1)!=0) digitalWrite(ledPins[1],LOW);
  if ((LEDs[thisNote]&led2)!=0) digitalWrite(ledPins[2],LOW);
  if ((LEDs[thisNote]&led3)!=0) digitalWrite(ledPins[3],LOW);
}

There is also the not-so-religious chemistree you can make to feel festive. Just google images of chemistree.

I helped with the code and another member of the forum did the sequence.

Great sir. But why not use progmem? And why simple int array?

Good work though

My contribution to the holiday spirit:

1arduino.JPG

NI$HANT:

I helped with the code and another member of the forum did the sequence.

Great sir. But why not use progmem? And why simple int array?

Good work though

The other member is still learning about arrays and other C language features so I'm surprised to see the progress already. The progmem will be used maybe in the next iteration.

My contribution to the holiday spirit:

Hi retrolefty,

Why not use a minimalist arduino or a pro mini to make things small and hidden under the greenery?
Or you just shown it to show us that you used Arduino

@liudr sir yes in the upcoming iterations things would get better.