LED Stripe wechsel blinken am Arduino UNO R3

In diesem Beitrag möchte ich dir zeigen wie du mit zwei 8fach LED Stripes einen kleinen Wechsel Blinker im Polizei Style am Arduino UNO R3 programmieren kannst.

zwei 8fach LED Stripes am Arduino UNO R3

Ein ähnliches Projekt habe ich dir bereits mit 8mm LEDs und dem Arduino Nano im Beitrag Weekend Project: US Polizeilicht mit 8mm LEDs vorgestellt.

DIY US Polizeilicht

Dieses mal möchte ich dir jedoch zeigen wie du dieses mit zwei LED Stripes umsetzen kannst.

Benötigte Ressourcen für dieses Projekt

Für den Nachbau dieses Projektes, benötigst du:

Aufbau der Schaltung

Wie man ein LED Stripe am Arduino UNO R3 programmiert habe ich dir bereits im Beitrag LED Stripe am Arduino UNO steuern gezeigt, hier wollen wir nun ein zweites Modul anschließen.

Wir benötigen für den Aufbau lediglich 10 Breadboardkabel mit welche die 8fach LEDs wie folgt am Arduino UNO R3 angeschlossen werden:

Schaltung - zwei 8fach LED Stripes am Arduino UNO R3
Schaltung – zwei 8fach LED Stripes am Arduino UNO R3

Programmieren in der Arduino IDE

Für die Programmierung des Programmes, verwende ich die Arduino IDE und habe zuvor die Bibliothek “FastLED” über den Bibliotheksverwalter installiert.

Arduino IDE - Bibliotheksverwalter - Bibliothek "FastLED"
Arduino IDE – Bibliotheksverwalter – Bibliothek “FastLED”

Wenn die benötigte Bibliothek installiert ist, können wir mit nachfolgendem Programm, dass Wechsel blinken zweier LED Stripes ausführen.

// Importieren der Bibliothek "FastLED"
#include <FastLED.h>

// Wieviele LEDs sind auf dem LED Stripe?
#define NUM_LEDS 8

// digitaler Pin an welchem der LED Stripe angeschlossen ist
#define LEFT_STRIPE_DATA_PIN 3
#define RIGHT_STRIPE_DATA_PIN 4

const int PAUSE = 125;

// Ein Array mit den LEDs
CRGB leds[NUM_LEDS*2];

void setup() {
  FastLED.addLeds<WS2812B, LEFT_STRIPE_DATA_PIN, GRB>(leds, 0, NUM_LEDS);
  FastLED.addLeds<WS2812B, RIGHT_STRIPE_DATA_PIN, GRB>(leds, NUM_LEDS, NUM_LEDS);
}

void loop() {
  // Aufleuchten der LEDs von 0 bis 7 in der Farbe "rot"
  lightUpStripe(0, 7, CRGB::Red);
  // Aufleuchten der LEDs von 8 bis 16 in der Farbe "blau"
  lightUpStripe(8, 16, CRGB::Blue);
}

void lightUpStripe(int from, int to, CRGB color){
  //Schleife von "from" bis "to" um die LEDs einer Farbe "color" zuzuweisen.
  for(int i=from;i<= to;i++){
    leds[i] = color;
  }
  // schreiben und anzeigen der gesetzen Farbe an den LEDs
  FastLED.show();
  // eine kleine Pause von 125 ms.
  delay(PAUSE);

  //Schleife von "from" bis "to" um die LEDs die Farbe "schwarz" zuzuweisen.
  for(int i=from;i<= to;i++){
    leds[i] = CRGB::Black;
  }
  FastLED.show();
  delay(PAUSE);  
}

Wenn das obige Programm nun ausführt, dann wird zunächst die linke Seite in “rot” und danach die rechte Seite in “blau” aufleuchten.

Den Intervall des Blinkens kann man über die Konstante “PAUSE” steuern, je größer der Wert, desto länger ist die Pause.

Video

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.