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.

04 Digital Input / Output

8. November 2011

Aufgaben

1. Lasst eine LED im Sekundentakt blinken Material: LED 2. Über einen Taster wird eine LED geschaltet Material: LED, Vorwiderstand, 1 Taster 3. Ein Druck auf einen Taster schaltet eine LED ein, bei erneutem Druck wird sie wieder ausgeschaltet. Material: LED, Vorwiderstand, 1 Taster 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 -------- Heute haben wir zum ersten Mal das Arduino Board gebraucht. Obenstehende Aufgaben waren zu lösen. Die Aufgabe der Ampelschaltung war zu anfang recht tricky, jedoch nach einer kurzen Eingewöhnungszeit mit Arduino machbar.

#define LED_PIN_rot 13
#define LED_PIN_gelb 11
#define LED_PIN_gruen 8

#define BUTTON_PIN_1 7
#define BUTTON_PIN_2 5
#define BUTTON_PIN_3 2

boolean Lampegruen = false;
boolean Lampegelb = false;
boolean Lamperot = false;

void setup()
{
pinMode(LED_PIN_rot, OUTPUT);
pinMode(LED_PIN_gelb, OUTPUT);
pinMode(LED_PIN_gruen, OUTPUT);
pinMode(BUTTON_PIN_1, INPUT);
pinMode(BUTTON_PIN_2, INPUT);
pinMode(BUTTON_PIN_3, INPUT);
digitalWrite(BUTTON_PIN_1, HIGH);
digitalWrite(BUTTON_PIN_2, HIGH);
digitalWrite(BUTTON_PIN_3, HIGH);
}

void loop()
{
if(digitalRead(BUTTON_PIN_1) == LOW)
{
Lampegruen = true;
Lampegelb = false;
Lamperot = false;

if (Lampegruen == true)
{
digitalWrite(LED_PIN_gruen, HIGH);
digitalWrite(LED_PIN_gelb, LOW);
digitalWrite(LED_PIN_rot, LOW);
delay(200);
}
}

if(digitalRead(BUTTON_PIN_2) == LOW)
{
Lampegruen = false;
Lampegelb = true;
Lamperot = false;

if (Lampegelb == true)
{
digitalWrite(LED_PIN_gruen, LOW);
digitalWrite(LED_PIN_gelb, HIGH);
digitalWrite(LED_PIN_rot, LOW);
delay(200);
}
}

if(digitalRead(BUTTON_PIN_3) == LOW)
{
Lampegruen = false;
Lampegelb = false;
Lamperot = true;

if (Lamperot == true)
{
digitalWrite(LED_PIN_gruen, LOW);
digitalWrite(LED_PIN_gelb, LOW);
digitalWrite(LED_PIN_rot, HIGH);
delay(200);
}
}

}