9. November 2011
Aufgaben 1. Lasst eine LED im Sekundentakt blinken Material: LED// Deklarieren von Pins #define LED_PIN 13 // Deklarieren von variablen //void setup() Wird einmal zu Beginn ausgeführt void setup() { // Deklarieren wie die Pins benutzt werden pinMode(LED_PIN, OUTPUT); } //void loop() Wird in einer Schleife ausgeführt void loop() { digitalWrite(LED_PIN, HIGH); // Output auf EIN schalten delay(1000); // Angabe in Millisekunden ( 1000 millis = 1 Sekunden) digitalWrite(LED_PIN, LOW); // Output auf AUS schalten delay(1000); }2. Über einen Taster wird eine LED geschaltet Material: LED, Vorwiderstand, 1 Taster
![](../../../../files/2011/11/Foto6-1024x768.jpg)
#define LED_PIN 13 #define BUTTON_PIN 6 void setup() { pinMode(LED_PIN, OUTPUT); pinMode(BUTTON_PIN, INPUT); digitalWrite(BUTTON_PIN, HIGH); } void loop() { if(digitalRead(BUTTON_PIN) == LOW) { digitalWrite(LED_PIN, HIGH); }else{ digitalWrite(LED_PIN, LOW); } }3. Ein Druck auf einen Taster schaltet eine LED ein, bei erneutem Druck wird sie wieder ausgeschaltet. Material: LED, Vorwiderstand, 1 Taster
#define LED_PIN 13 #define BUTTON_PIN 6 // boolean buttonState; // void setup() { pinMode(LED_PIN, OUTPUT); pinMode(BUTTON_PIN, INPUT); digitalWrite(BUTTON_PIN, HIGH); buttonState = false; } void loop() { if(digitalRead(BUTTON_PIN) == LOW) { if(buttonState == false) { digitalWrite(LED_PIN, HIGH); buttonState = true; delay(500); }else{ digitalWrite(LED_PIN, LOW); buttonState = false; delay(500); } } }4. 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 Ampel
![](../../../../files/2011/11/IMG_7830-1024x768.jpg)
![](../../../../files/2011/11/IMG_7831-1024x768.jpg)
#define LED_PIN 13 #define LED_PIN2 12 #define LED_PIN3 11 #define BUTTON_PIN 6 #define BUTTON_PIN2 5 #define BUTTON_PIN3 4 // boolean buttonState; boolean buttonState2; boolean buttonState3; // void setup() { pinMode(LED_PIN, OUTPUT); pinMode(LED_PIN2, OUTPUT); pinMode(LED_PIN3, OUTPUT); pinMode(BUTTON_PIN, INPUT); digitalWrite(BUTTON_PIN, HIGH); pinMode(BUTTON_PIN2, INPUT); digitalWrite(BUTTON_PIN2, HIGH); pinMode(BUTTON_PIN3, INPUT); digitalWrite(BUTTON_PIN3, HIGH); buttonState = buttonState2 = buttonState3 = false; } void loop() { if(digitalRead(BUTTON_PIN) == LOW) { buttonState2 = buttonState3 = false; digitalWrite(LED_PIN2, LOW); digitalWrite(LED_PIN3, LOW); if(buttonState == false) { digitalWrite(LED_PIN, HIGH); buttonState = true; delay(500); }else{ digitalWrite(LED_PIN, LOW); buttonState = false; delay(500); } }else if(digitalRead(BUTTON_PIN2) == LOW) { buttonState = buttonState3 = false; digitalWrite(LED_PIN, LOW); digitalWrite(LED_PIN3, LOW); if(buttonState2 == false) { digitalWrite(LED_PIN2, HIGH); buttonState2 = true; delay(500); }else{ digitalWrite(LED_PIN2, LOW); buttonState2 = false; delay(500); } }else if(digitalRead(BUTTON_PIN3) == LOW) { buttonState = buttonState2 = false; digitalWrite(LED_PIN2, LOW); digitalWrite(LED_PIN, LOW); if(buttonState3 == false) { digitalWrite(LED_PIN3, HIGH); buttonState3 = true; delay(500); }else{ digitalWrite(LED_PIN3, LOW); buttonState3 = false; delay(500); } } }Version 2
#define LED_G 13 #define LED_R 12 #define LED_Y 11 #define BUTTON_G 6 #define BUTTON_R 5 #define BUTTON_Y 4 // boolean green; boolean red; boolean yellow; // void setup() { pinMode(LED_G, OUTPUT); pinMode(LED_R, OUTPUT); pinMode(LED_Y, OUTPUT); pinMode(BUTTON_G, INPUT); digitalWrite(BUTTON_G, HIGH); pinMode(BUTTON_R, INPUT); digitalWrite(BUTTON_R, HIGH); pinMode(BUTTON_Y, INPUT); digitalWrite(BUTTON_Y, HIGH); green = red = yellow = false; } void loop() { if(digitalRead(BUTTON_G) == LOW) { green = true; yellow = false; red = false; }else if(digitalRead(BUTTON_Y) == LOW) { green = false; yellow = true; red = false; }else if(digitalRead(BUTTON_R) == LOW) { green = false; yellow = false; red = true; } digitalWrite(LED_R, red); digitalWrite(LED_G, green); digitalWrite(LED_Y, yellow); }