Interrupt: Farbenspiel mit einem NeoPixel-Ring

Lesezeit: 5 Minuten

Seite als PDF

Ziel des Projekts

Die bei­den Taster sollen je eine Folge von leuch­t­en­den LEDs in ver­schiede­nen Far­ben aus­lösen. Dabei soll der jew­eils andere Taster den Pro­gram­ma­blauf unter­brechen und „seine“ Folge leuch­t­en­der LEDs starten.

  • rechter Taster: die LEDs bewe­gen sich im Uhrzeigersinn

Info zu RGB-LEDs

Der NeoPix­el-Ring beste­ht aus mehreren miteinan­der ver­bun­de­nen RGB-LEDs. Jede besitzt einen eige­nen Con­troller und kann einzeln anges­teuert wer­den. Er benötigt nur einen dig­i­tal­en Ein­gang. Der NeoPix­el-Ring ist in ver­schiede­nen Bau­for­men zwis­chen 12 und 60 LEDs erhältlich.

Die Pro­gram­mierung unter­schei­det sich nicht. Es muss nur die Anzahl der LEDs angepasst wer­den.

RGB ist eine Mis­chung der Far­ben Rot, Grün und Blau. Jede Farbe kann von 0 bis 255 geset­zt wer­den, die Werte wer­den durch Kom­ma­ta getren­nt.

 🔗RGB-Codes (extern­er Link abgerufen am 29.06.25)

Beispiele:

Benötigte Bauteile:

  • NeoPix­el-Ring
  • 2 Taster
  • Leitungs­drähte

Der Schaltplan

(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Achte auf die Pol­ung. Sie kann bei den NeoPix­el-Rin­gen ver­schieden­er Her­steller unter­schiedlich sein.

Jede LED kann einzeln ange­sprochen wer­den.

Die Zäh­lung begin­nt mit 0!

Benötigte Bibliothek:

Sketch ⇒ Bib­lio­thek ein­binden ⇒ Bib­lio­theken ver­wal­ten

Funktionen der Bibliothek Adafruit_NeoPixel (Auswahl)

Schlüs­sel­wortAktion
begin()LED-Ring starten
numPix­els()Anzahl der LEDs lesen
show()LED-Ring ein­schal­ten
clear()LED-Ring auss­chal­ten
setPixelColor(LED-Nummer, rot, grün, blau)Farbe ein­er LED set­zen
LED-Num­mer
rot -> 0 — 255
grün -> 0 — 255
blau -> 0 — 255
set­Bright­ness()Hel­ligkeit set­zen (0–255)
Color(rot, grün, blau)Farbe für alle LEDs set­zen
rot -> 0 — 255
grün -> 0 — 255
blau -> 0 — 255

Beispiel rot:
int Farbe = LEDStreifen.Color(255, 0, 0);

Beispiel grün:
int Farbe = LEDStreifen.Color(0, 255, 0);

Beispiel blau:
int Farbe = LEDStreifen.Color(0, 0, 255);
fill(Farbe, Start, Ende)Farbe für die mit Start und Ende beze­ich­neten Pix­el set­zen

Beispiele:

Farbwechsel

Jagdeffekt

Ein Pro­gram­ma­blauf kann nur unter­brochen wer­den, wenn jedem Taster ein Inter­rupt zuge­ord­net wird.

attach­In­ter­rupt()

Das Programm

Variable und Bibliotheken

Definiere die Vari­ablen und binde die benötigte Bib­lio­thek ein. Beachte die Kom­mentare.

Der setup-Teil

Der loop-Teil

Verwendete Funktionen

Die Funk­tion Zufalls­Farbe() ermit­telt zufäl­lige Farb­w­erte.

Jet­zt fehlen noch die Funk­tio­nen LED­Schal­tenRechts() und LED­Schal­tenLinks(). Sie tun nichts anderes als den Zus­tand der Taster mit true/false zu markieren.


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Verwandte Anleitungen:


    Letzte Aktualisierung: Nov. 13, 2025 @ 12:48