int rot1 = 1; //die erste rote LED liegt am pin 13 an.
int orange1 = 2; //die Variable ist zur einfacheren orientierung gedacht.
int gelb1 = 3;
int gruen1 = 4;
int blau1 = 5;
int weiss1 = 6;
int rot2 = 7;
int orange2 = 8;
int gelb2 = 9; //für die LEDs gilt das bis hier.
int ldrr1 = A0; //der erste LDR liegt am pin A0 an.
int ldro1 = A1; //die Variable ist zur einfacheren orientierung gedacht.
int ldrge1 = A2;
int ldrgr1 = A3;
int ldrb1 = A4;
int ldrw1 = A5; //für die LDRs gilt das bis hier.
int ldrr2 = A6;
int ldro2 = A7;
int ldrge2 = A8;
int helligkeitr1; //um die Helligkeit zu messen brauchen wir ebenfalls Variablen.
int helligkeito2;
int helligkeitge3;
int helligkeitgr4;
int helligkeitb5;
int helligkeitw6; //bis hier °-°
int helligkeitr7;
int helligkeito8;
int helligkeitge9;
int zufallszahl;
void setup() {
Serial.begin (9600);
}
void loop() {
helligkeitsmessung ();
spielenderot ();
spielendeorange ();
spielendegelb ();
spielendegruen ();
spielendeblau ();
spielendeweiss ();
spielenderott ();
spielendeorangee ();
spielendegelbb ();
}
void helligkeitsmessung (){
helligkeitr1 = analogRead (ldrr1); //Hier werden den LDRs Steckplätze zugewiesen, und dem Arduino befohlen, die anliegende Spannung an den jeweiligen ports zu messen.
helligkeito2 = analogRead (ldro1);
helligkeitge3 = analogRead (ldrge1);
helligkeitgr4 = analogRead (ldrgr1);
helligkeitb5 = analogRead (ldrb1);
helligkeitw6 = analogRead (ldrw1); //bis hier
helligkeitr7 = analogRead (ldrr2);
helligkeito8 = analogRead (ldro2);
helligkeitge9 = analogRead (ldrge2);
}
void spielenderot () {
if (helligkeitr1 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
}
else {
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
}
}
void spielendeorange () {
if (helligkeito2 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendegelb () {
if (helligkeitge3 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendegruen () {
if (helligkeitgr4 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendeblau () {
if (helligkeitb5 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendeweiss () {
if (helligkeitw6 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielenderott () {
if (helligkeitr7 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendeorangee () {
if (helligkeito8 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
void spielendegelbb () {
if (helligkeitge9 <= 400){
digitalWrite (rot1, HIGH);
digitalWrite (orange1, HIGH);
digitalWrite (gelb1, HIGH);
digitalWrite (gruen1, HIGH);
digitalWrite (blau1, HIGH);
digitalWrite (weiss1, HIGH);
digitalWrite (rot2, HIGH);
digitalWrite (orange2, HIGH);
digitalWrite (gelb2, HIGH);
delay (1000);
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
else {
digitalWrite (rot1, LOW);
digitalWrite (orange1, LOW);
digitalWrite (gelb1, LOW);
digitalWrite (gruen1, LOW);
digitalWrite (blau1, LOW);
digitalWrite (weiss1, LOW);
digitalWrite (rot2, LOW);
digitalWrite (orange2, LOW);
digitalWrite (gelb2, LOW);
}
}
Was ist deine Frage?
Sie sollten wahrscheinlich Arrays studieren.
➜ https://www.cplusplus.com/doc/tutorial/arrays/
und die Verwendung der Switch/Case Anweisung. Ein Blick in das BWOD Example könnte auch hilfreich sein.
Oder habe ich eine Fragestellung übersehen?
Du hast vergessen, die OUTPUT Pins mit pinMode(pin, OUTPUT);
in setup
einzuschalten.
Deine digitalWrite
Aufrufe schalten so lediglich den PULLUP-Widerstand des Eingangs
ein und aus, das wird deine LEDs wahrscheinlich nur zu einem schwachen Glimmen verleiten.
Warum werden immer alle LEDs gleichzeitig ein oder ausgeschaltet?
Warum machst Du einen neuen Thread auf?
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.