Am 2.11.2013 fand wieder ein CoderDojo in München statt. Dabei haben wir auch Arduino Blinkenlights mit einem 32er LED Streifen gebastelt.

Arduino Blinkenlights

Arduino Blinkenlights

Hier ist das kurze Programm welches von den teilnehmenden Kinder erstellt wurde. Dabei werden die LEDs nacheinander an und ausgeschaltet und eine zufällige Farbe für die jeweilige LED gewählt.

/*
  LED Blinkenlights mit einem Arduino Uno, 1m LED LPD8806 Streifen mit 32 LEDs
  Copyright 2013 -mat- filid brandy, brandy@linuxpinguin.de
*/

// Alle noetigen Includes
#include "LPD8806.h"
#include "SPI.h"

// Wir legen die Pins fest, welche benutzt werden um mit dem LED Streifen zu reden.
// Am LED Streifen sind 4 Anschluesse, welche wie folgt angeschlossen werden:
// GND  - wird mit dem GND am Arduino Uno verbunden
// DI   - wird mit dem dataPin (11) am Arduino verbunden
// CI   - wird mit dem clockPin (13) am Arduino verbunden
// +5V  - wird mit dem +5V am Arduino Uno verbunden
int dataPin    = 11;
int clockPin   = 13;
int anzahlLEDs = 32;

// Unsere Wartezeiten
int dauerLEDan   = 20;
int dauerLEDaus  = 20;

// Wir sagen dem LED streifen, das er 32 LEDs hat und legen die Pins fest
LPD8806 strip = LPD8806(anzahlLEDs, dataPin, clockPin);

// Im setup() bereiten wir alle Komponenten vor
void setup() {

  // Der LED Streifen wird vorbereitet
  strip.begin();
  // Alle LEDs werden auf ausgeschaltet
  strip.show();

  // Der Zufallsgenerator wird vorbereitet
  randomSeed(analogRead(A0));
}

// In der loop() ist das eigentliche Programm, welches immer wieder in einer Schleife laeuft
void loop() {

  // Wir gehen alle LEDs von vorne bis hinten durch
  for ( int zaehler = 0; zaehler < anzahlLEDs ; zaehler++ ) {

    // Wir schalten die aktuelle LED auf eine zufaellige Farbe und schalten sie an.
    strip.setPixelColor(zaehler, random(0,127), random(0,127), random(0,127));
    strip.show();

    // Nun lassen wir die LEDs fuer die dauerLEDan leuchten
    delay(dauerLEDan);

    // Wir schalten die aktuelle LED wieder aus
    strip.setPixelColor(zaehler, 0, 0, 0);
    strip.show();

    // Nun lassen wir die LEDs fuer die dauerLEDaus nicht leuchten
    delay(dauerLEDaus);
  }

}

Hier sind noch die Bilder mit der Anschlussbelegung am LED Streifen und am Arduino:

LED Streifen Anschluesse

LED Streifen Anschluesse

Arduino Uno Beschaltung

Arduino Uno Beschaltung