Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Digital Input/Output

8. November 2011

Erste Arbeit mit dem Arduino (UNO) Board. Aufgabe: 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 #define LED_PIN_YL 13 #define LED_PIN_GR 12 #define LED_PIN_RED 11 #define BUTTON_PIN6 6 #define BUTTON_PIN5 5 #define BUTTON_PIN4 4 boolean buttonStateYL = false; // boolische varable boolean buttonStateGR = false; boolean buttonStateRED = false; void setup () { pinMode(LED_PIN_YL, OUTPUT); // definition des LED ausgang pinMode(LED_PIN_GR, OUTPUT); pinMode(LED_PIN_RED, OUTPUT); pinMode(BUTTON_PIN6, INPUT); //definition des buttons Pins als Input/eingang digitalWrite(BUTTON_PIN6, HIGH); // aktivieren des pullup widerstandes an PIN6 6 (Button Pin) pinMode(BUTTON_PIN5, INPUT); digitalWrite(BUTTON_PIN5, HIGH); pinMode(BUTTON_PIN4, INPUT); digitalWrite(BUTTON_PIN4, HIGH); } void loop() { if(digitalRead(BUTTON_PIN6) == LOW) //wenn button gedueckt wird dann..... { if(buttonStateYL == false) // wenn der status AUS ist, dann.... { buttonStateYL = true; //setze den Status aus EIN buttonStateGR = false; buttonStateRED = false; digitalWrite(LED_PIN_YL, HIGH); digitalWrite(LED_PIN_GR, LOW); digitalWrite(LED_PIN_RED, LOW); delay(200); } else // Wenn der Status EIN ist, dann... { buttonStateYL = false; // setze den status auf AUS digitalWrite(LED_PIN_YL, LOW); delay(200); } } if(digitalRead(BUTTON_PIN5) == LOW) { if(buttonStateGR == false) { buttonStateGR = true; //setze den Status aus EIN buttonStateRED = false; buttonStateYL = false; digitalWrite(LED_PIN_GR, HIGH); digitalWrite(LED_PIN_RED, LOW); digitalWrite(LED_PIN_YL, LOW); delay(200); } else { buttonStateGR = false; // setze den status auf AUS digitalWrite(LED_PIN_GR, LOW); delay(200); } } if(digitalRead(BUTTON_PIN4) == LOW) { if(buttonStateRED == false) { buttonStateRED = true; //setze den Status aus EIN buttonStateGR = false; buttonStateYL = false; digitalWrite(LED_PIN_RED, HIGH); digitalWrite(LED_PIN_GR, LOW); digitalWrite(LED_PIN_YL, LOW); delay(200); } else { buttonStateRED = false; // setze den status auf AUS digitalWrite(LED_PIN_RED, LOW); delay(200); } } }