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

7. November 2011

Aufgabe 2

2. Über einen Taster wird eine LED geschaltet Material: LED, Vorwiderstand, 1 Taster

Aufgabe 3

3. Ein Druck auf einen Taster schaltet eine LED ein, bei erneutem Druck wird sie wieder ausgeschaltet. Material: LED, Vorwiderstand, 1 Taster

Aufgabe 4

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 CODE
// const
const int ledPin1 =  13;
const int ledPin2 =  11;
const int ledPin3 =  9;

const int buttonIn1 = 6;
const int buttonIn2 = 4;
const int buttonIn3 = 2;

// var
int buttonState = 0;

void setup() {
  Serial.begin(9600);

  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(buttonIn1, INPUT);
  pinMode(buttonIn2, INPUT);
  pinMode(buttonIn3, INPUT);
  digitalWrite(buttonIn1,HIGH);
  digitalWrite(buttonIn2,HIGH);
  digitalWrite(buttonIn3,HIGH);
}

void loop() {

  if(digitalRead(buttonIn1) == LOW ) {
    buttonState = 1;
  }
  if(digitalRead(buttonIn2) == LOW ) {
    buttonState = 2;
  }
  if(digitalRead(buttonIn3) == LOW ) {
    buttonState = 3;
  }
  Serial.print("ButtonState: ");
  Serial.println(buttonState);

  delay(200);

  switch (buttonState) {
    case 1:
      digitalWrite(ledPin1, HIGH);
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin3, LOW);
      break;
    case 2:
      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin2, HIGH);
      digitalWrite(ledPin3, LOW);
      break;
    case 3:
      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin3, HIGH);
      break;
    default:
      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin3, LOW);
  }
}