8. November 2011
Erster Tag mit der ARDUINO-Plattform und für mich sowieso der erste Tag mit Elektronik. Löten gefällt mir. Aufgabe war Folgende: Mit drei Tastern wird eine ‘Ampelschaltung’ realisiert. Jeder der Taster schaltet eine LED ein und beim Druck auf einen anderen Taster erlischt die vorige und eine neue LED leuchtet. Material: 3 LED’s, Vorwiderstände, 3 Taster. Mit viel Hilfe von Eddi (danke!) brachte ich die drei Lämpchen tatsächlich zum Leuchten. Viel gelernt über Schaltkreise und entsprechende Ansteuerung.//Aufgabe 04.4 AMPELLICHTER #define LED_RED 13 #define BUTTON_RED 6 #define LED_ORANGE 12 #define BUTTON_ORANGE 7 #define LED_GREEN 11 #define BUTTON_GREEN 5 boolean buttonRED = false; // Boolsche Variable boolean buttonORANGE = false; boolean buttonGREEN = false; void setup() { pinMode(LED_RED, OUTPUT); pinMode(LED_ORANGE, OUTPUT); pinMode(LED_GREEN, OUTPUT); // Definition des LED Pins als Output / Ausgang pinMode(BUTTON_RED, INPUT); pinMode(BUTTON_ORANGE, INPUT); pinMode(BUTTON_GREEN, INPUT); // Definition des Button Pins als Input / Eingang digitalWrite(BUTTON_RED, HIGH); digitalWrite(BUTTON_ORANGE, HIGH); digitalWrite(BUTTON_GREEN, HIGH); // Aktivieren des Pullup Widerstandes an Pin 6 (BUTTON_PIN) } void loop() { //LAMPE ROT if(digitalRead(BUTTON_RED) == LOW) // ist Button gedrückt oder nicht? - wenn Button gedrückt wird, dann... { if(buttonRED == false) // wenn der Status AUS ist, dann... { buttonRED = true; buttonORANGE = false; buttonGREEN = false; //setze Status auf EIN delay(200); } else //wenn Status EIN ist, dann... { buttonRED = false; //setze den Status auf AUS delay(200); } } if(buttonRED == true) // wenn der Status EIN ist, dann... { digitalWrite(LED_RED, HIGH); } else // wenn der Status AUS ist, dann... { digitalWrite(LED_RED, LOW); } // LAMPE ORANGE if(digitalRead(BUTTON_ORANGE) == LOW) // ist Button gedrückt oder nicht? - wenn Button gedrückt wird, dann... { if(buttonORANGE == false) // wenn der Status AUS ist, dann... { buttonORANGE = true; buttonRED = false; buttonGREEN = false; //setze Status auf EIN delay(200); } else //wenn Status EIN ist, dann... { buttonORANGE = false; //setze den Status auf AUS delay(200); } } if(buttonORANGE == true) // wenn der Status EIN ist, dann... { digitalWrite(LED_ORANGE, HIGH); } else // wenn der Status AUS ist, dann... { digitalWrite(LED_ORANGE, LOW); } // LAMPE GREEN if(digitalRead(BUTTON_GREEN) == LOW) // ist Button gedrückt oder nicht? - wenn Button gedrückt wird, dann... { if(buttonGREEN == false) // wenn der Status AUS ist, dann... { buttonGREEN = true; buttonRED = false; buttonORANGE = false; //setze Status auf EIN delay(200); } else //wenn Status EIN ist, dann... { buttonGREEN = false; //setze den Status auf AUS delay(200); } } if(buttonGREEN == true) // wenn der Status EIN ist, dann... { digitalWrite(LED_GREEN, HIGH); } else // wenn der Status AUS ist, dann... { digitalWrite(LED_GREEN, LOW); } }