kk logo

Beim LED-Rennen treten zwei Spieler gegeneinander an. Jeder steuert einen eigenen Lichtpunkt, der über eine Reihe von LEDs läuft. Mit jedem Tastendruck rückt die LED des Spielers ein Stück weiter Richtung Ziel. Wer seine LED zuerst bis ans Ende der Reihe bringt, gewinnt das Rennen!

 Spiel 11 aus der 200 Arduino Spiele Sammlung.
Arduino LED Rennen spiel Duell der Lichtpunkte 1

Die Schaltung besteht nur aus einem Arduino, zwei Tastern und einer 255 LED Matrix. 

Arduino LED Rennen spiel Duell der Lichtpunkte 2

Zum testen haben ich ddie beiden Taster auf ein mini Breadbord auf den Arduino gesteckt. 

Arduino LED Rennen spiel Duell der Lichtpunkte 3

 Hier noch der Arduino Code: 

 

#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel strip_pin9 = Adafruit_NeoPixel(300,9, NEO_GRB + NEO_KHZ800);
byte spiel = 0;
void Unterprogramm2();

byte spieler_2 = 1;
byte spieler_22 = 0;
byte spieler_222 = 0;
void Unterprogramm1();

byte spieler_1 = 1;
byte spieler_11 = 0;
byte spieler_111 = 0;
void Unterprogramm();

void setup() {
strip_pin9.begin();
strip_pin9.show();
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
strip_pin9.setBrightness(10);

Unterprogramm();

}

void loop() {
if (( spiel == 0 )) {

Unterprogramm1();
Unterprogramm2();
}
if (( ( spieler_111 >= 255 ) && ( spiel == 0 ) )) {

for (int i = 0; i < 260; i++) {
strip_pin9.setPixelColor(spiel,0 ,255 ,0 );
spiel = ( spiel + 1 );
}
strip_pin9.show();
spiel = 1;
delay( 1000 );
}
if (( ( spieler_222 <= 0 ) && ( spiel == 0 ) )) {

for (int i = 0; i < 260; i++) {
strip_pin9.setPixelColor(spiel,0 ,0 ,255 );
spiel = ( spiel + 1 );
}
strip_pin9.show();
spiel = 1;
delay( 1000 );
}
if (( ( spiel == 1 ) && ( !( digitalRead(2) ) && !( digitalRead(3) ) ) )) {

spiel = 0;
for (int i = 0; i < 260; i++) {
strip_pin9.setPixelColor(spiel,0 ,0 ,0 );
spiel = ( spiel + 1 );
}
strip_pin9.show();
Unterprogramm();
}
}

//spieler 2
void Unterprogramm2() {
if (!( digitalRead(3) )) {

spieler_2 = 1;
spieler_22 = 0;
}
if (( spieler_2 == 1 )) {

spieler_22 = ( spieler_22 + 1 );
}
if (( spieler_22 == 15 )) {

spieler_2 = 0;
spieler_22 = 0;
spieler_222 = ( spieler_222 - 1 );
strip_pin9.setPixelColor(spieler_222,0 ,0 ,255 );
strip_pin9.show();
}
}

//spieler 1
void Unterprogramm1() {
if (!( digitalRead(2) )) {

spieler_1 = 1;
spieler_11 = 0;
}
if (( spieler_1 == 1 )) {

spieler_11 = ( spieler_11 + 1 );
}
if (( spieler_11 == 15 )) {

spieler_1 = 0;
spieler_11 = 0;
spieler_111 = ( spieler_111 + 1 );
strip_pin9.setPixelColor(spieler_111,0 ,255 ,0 );
strip_pin9.show();
}
}

//start und rest
void Unterprogramm() {
spieler_1 = 0;
spieler_11 = 0;
spieler_111 = 0;
spieler_2 = 0;
spieler_22 = 0;
spieler_222 = 255;
spiel = 0;
strip_pin9.setPixelColor(spieler_111,0 ,50 ,0 );
strip_pin9.setPixelColor(spieler_222,0 ,0 ,50 );
strip_pin9.show();
}

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee

...

Denn du bist ein Unikat, einzig in deiner Art
Wir alle ecken an so wie in ein Quadrat
Du bist ein Unikat, du bist so wie du bist
Egal, was sie labern, wir geben kein'n Fick.

SDP, Unikat