Arduino > Ampel <

Arduino?


Verkehrsampel

https://pbs.twimg.com/media/EJkzm-JW4AAyLjX?format=jpg&name=4096x4096 Foto

// Sketch

// Eine Verkehrsampel // Copyleft GPL Michael Klockmann 2019

int rot = 10; int gelb = 11; int gruen = 12; // Zur Regelung der Länge der Ampelphasen dient ein Potentiometer int potPin = 0;

void setup() {

  // drei Ampelphasen:
  pinMode(rot, OUTPUT);
  pinMode(gelb, OUTPUT);
  pinMode(gruen, OUTPUT);
  Serial.begin(9600);

}

void loop() {

  // StVO-gemäße Ampelschaltung:
  int pot = analogRead(potPin);
  //                 kürzeste & längste Ampelphase
  int phase = map(pot,0,1023,5,5000);
  Serial.println(phase);
  digitalWrite(rot, HIGH);
  delay(phase);
  digitalWrite(gelb, HIGH);
  // GELB fest verdrahtet 1/2 Sekunde
  delay(500);
  digitalWrite(rot, LOW);
  digitalWrite(gelb, LOW);
  digitalWrite(gruen, HIGH);
  delay(phase + 500);
  digitalWrite(gruen, LOW);
  digitalWrite(gelb, HIGH);
  delay(500);
  digitalWrite(gelb, LOW);

}

 
Suche
edit / Home