Code
----------------------------------------------------------------------------------------------------------------------------
#include <Adafruit_NeoPixel.h>
int start = 0 ;
int startlinks = 0 ;
int startrechts = 0 ;
int a;
int fehlerlinks = 0 ;
int fehlerrechts = 0 ;
int helligkeit = 0 ;
Adafruit_NeoPixel strip_pin5 = Adafruit_NeoPixel(8,5, NEO_RGB + NEO_KHZ800);
void Unterprogramm9();
void Unterprogramm();
void Unterprogramm12();
void Unterprogramm1();
void Unterprogramm2();
void Unterprogramm3();
void Unterprogramm8();
void setup()
{
pinMode( 3 , INPUT);
pinMode( 2 , INPUT);
pinMode( 10 , INPUT);
pinMode( 9 , INPUT);
pinMode( 11 , INPUT);
pinMode( 12 , INPUT);
pinMode( 7 , OUTPUT);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
strip_pin5.begin();
strip_pin5.show();
Unterprogramm();
Unterprogramm8();
}
void loop()
{
if (( ( !( digitalRead(10) ) || !( digitalRead(12) ) ) && ( ( start ) == ( 0 ) ) ))
{
Unterprogramm8();
start = 1 ;
startlinks = 1 ;
startrechts = 1 ;
digitalWrite( 7 , HIGH );
for (a=1; a<= ( 3 ); ++a )
{
tone(6, 500, 500);
delay( 1000 );
}
tone(6, 800, 1000);
delay( 1000 );
digitalWrite( 7 , LOW );
}
Unterprogramm1();
Unterprogramm2();
Unterprogramm3();
}
void Unterprogramm12()
{
digitalWrite( 7 , HIGH );
tone(6, 900, 3000);
delay( 3000 );
digitalWrite( 7 , LOW );
}
void Unterprogramm9()
{
fehlerlinks = 5 ;
startrechts = 5 ;
startlinks = 5 ;
fehlerrechts = 5 ;
start = 0 ;
}
void Unterprogramm()
{
fehlerlinks = 5 ;
startrechts = 0 ;
startlinks = 0 ;
fehlerrechts = 5 ;
helligkeit = 180 ;
start = 0 ;
}
void Unterprogramm3()
{
if (( !( digitalRead(2) ) && ( ( fehlerrechts ) == ( 0 ) ) ))
{
Unterprogramm9();
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(0,0 ,0 ,120 );
strip_pin5.setPixelColor(1,0 ,0 ,120 );
strip_pin5.setPixelColor(2,0 ,0 ,120 );
strip_pin5.setPixelColor(5,0 ,120 ,0 );
strip_pin5.setPixelColor(6,0 ,120 ,0 );
strip_pin5.setPixelColor(7,0 ,120 ,0 );
strip_pin5.show();
Unterprogramm12();
}
if (( !( digitalRead(3) ) && ( ( fehlerlinks ) == ( 0 ) ) ))
{
Unterprogramm9();
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(5,0 ,0 ,120 );
strip_pin5.setPixelColor(6,0 ,0 ,120 );
strip_pin5.setPixelColor(7,0 ,0 ,120 );
strip_pin5.setPixelColor(0,0 ,120 ,0 );
strip_pin5.setPixelColor(1,0 ,120 ,0 );
strip_pin5.setPixelColor(2,0 ,120 ,0 );
strip_pin5.show();
Unterprogramm12();
}
}
void Unterprogramm1()
{
if (( !( digitalRead(10) ) && ( ( startrechts ) == ( 1 ) ) ))
{
fehlerrechts = 0 ;
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(0,120 ,0 ,0 );
strip_pin5.setPixelColor(1,120 ,0 ,0 );
strip_pin5.setPixelColor(2,120 ,0 ,0 );
strip_pin5.show();
}
if (( !( digitalRead(12) ) && ( ( startlinks ) == ( 1 ) ) ))
{
fehlerlinks = 0 ;
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(5,120 ,0 ,0 );
strip_pin5.setPixelColor(6,120 ,0 ,0 );
strip_pin5.setPixelColor(7,120 ,0 ,0 );
strip_pin5.show();
}
}
void Unterprogramm2()
{
if (( ( ( startrechts ) == ( 1 ) ) && !( digitalRead(9) ) ))
{
fehlerrechts = 1 ;
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(0,0 ,120 ,0 );
strip_pin5.setPixelColor(1,0 ,120 ,0 );
strip_pin5.setPixelColor(2,0 ,120 ,0 );
strip_pin5.show();
}
if (( ( ( startlinks ) == ( 1 ) ) && !( digitalRead(11) ) ))
{
fehlerlinks = 1 ;
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(5,0 ,120 ,0 );
strip_pin5.setPixelColor(6,0 ,120 ,0 );
strip_pin5.setPixelColor(7,0 ,120 ,0 );
strip_pin5.show();
}
}
void Unterprogramm8()
{
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(0,0 ,0 ,0 );
strip_pin5.setPixelColor(1,0 ,0 ,0 );
strip_pin5.setPixelColor(2,0 ,0 ,0 );
strip_pin5.setPixelColor(3,0 ,0 ,70 );
strip_pin5.setPixelColor(4,0 ,0 ,70 );
strip_pin5.setPixelColor(5,0 ,0 ,0 );
strip_pin5.setPixelColor(6,0 ,0 ,0 );
strip_pin5.setPixelColor(7,0 ,0 ,0 );
strip_pin5.show();
}