Nr.02 Wechselblinker

Inhaltsverzeichnis

Der Wechselblinker

Aufgabe: Zwei Leuchtdioden sollen abwechselnd blinken.

Blinkende Leuchten werden im Verkehr als Warnsignal an Fußgängerüberwegen und an Bahnübergängen eingesetzt.

Blinker Ueberweg

Bildquellen:
https://www.bahnbilder.de
https://www.duesseldorf.de/verkehrsmanagement/verkehrssicherheit/sicherheit-gleisuebergaengen/

Das Programm im Film

Schaltpläne

LEDs werden je nach verwendeter Farbe mit 2 bis 3 Volt betrieben. Die Mikrokontroller arbeiten mit einer Spannung von 3,3 Volt bis 5 Volt. Die höhere Spannung kann die LEDs zerstören, deshalb muss ein sogenannter Vorwiderstand davor geschaltet werden. In diesem Fall ist er 220 Ohm groß.

Der Programmcode

Arduino UNO

// Ab hier kann der Code direkt in die Arduino Software kopiert werden.

// Schwarz, bunt = Code und Grau = Erklärungen

void setup()  // wir starten mit dem Setup
{
  pinMode(5, OUTPUT);  // Pin 5 ist ein Ausgang.
  pinMode(7, OUTPUT);  // Pin 7 ist ein Ausgang.
}

void loop()  // das Hauptprogramm beginnt.
{
  digitalWrite(5, HIGH);  // schalte die LED an Pin 5 an.
  delay(1000);            // warte 1000 Millisekunden.
  digitalWrite(5, LOW);   // schalte die LED an Pin 5 aus.
  digitalWrite(7, HIGH);  // Schalte die LED an Pin 7 ein.
  delay(1000);            // warte 1000 Millisekunden.
  digitalWrite(7, LOW);   // schalte die LED an Pin 7 aus.
}

// am Ende springt das Programm an den Start des Loop-Teils. Also ...
// ... schalte die LED an Pin 5 an.
// ... usw. ...

Wemos D1 Mini

Beim Wemos D1 gibt es eine Besonderheit:
Den Nummern der Pins muss das „D“ vorangestellt werden.

void setup() 
{
  pinMode(D6, OUTPUT);
  pinMode(D7, OUTPUT);
}

void loop()
{
  digitalWrite(D6, HIGH); 
  digitalWrite(D7, LOW);   
  delay(1000);              
  digitalWrite(D6, LOW);   
  digitalWrite(D7, HIGH);  
  delay(1000);              
}

ESP32-Wroom

void setup() 
{
  pinMode(26, OUTPUT);
  pinMode(27, OUTPUT);
}

void loop()
{
  digitalWrite(26, HIGH);  
  digitalWrite(27, LOW);   
  delay(1000);              
  digitalWrite(26, LOW);   
  digitalWrite(27, HIGH); 
  delay(1000);              
}

NodeMCU

void setup() 
{
  pinMode(D1, OUTPUT); 
  pinMode(D2, OUTPUT); 
}

void loop()  // das Hauptprogramm beginnt.
{
  digitalWrite(D1, HIGH);  
  delay(1000);             
  digitalWrite(D1, LOW);   
  digitalWrite(D2, HIGH);  
  delay(1000);            
  digitalWrite(D2, LOW);
}

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE