Mit dem hier beschriebenen Arduino-Code wird ein SOS-Signal per LED erzeugt…
Das SOS-Signal besteht aus dreimal kurz, dreimal lang und dreimal kurz. In diesem Rhytmus soll also die LED blinken.
Vorbereitungen:
Die Installation der aktuellen Arduino IDE wurde bereits im Artikel vom 05.01.2023 beschrieben und deshalb geht es jetzt direkt an unser erstes Arduino Projekt. Für dieses Projekt brauchen wir folgende Bauteile für den Schaltungsaufbau:
Schaltungsaufbau:
Die LED wird mit dem kürzeren Beinchen (Kathode) in den GND-Pin (also den Minus-Pol), mit dem längeren Beinchen (Anode) in den Pin Digital 13 gesteckt. Der Widerstand (560 Ohm) wird vor der Anode der LED positioniert. Wenn ein Steckboard genutzt wird, dann werden die Arduino Pins natürlich per Kabel erst auf das Steckboard geführt und der Schaltungsaufbau auf dem Steckboard/Breadboard aufgebaut.
Anmerkungen und Erklärungen:
Zu diesem Code habe ich folgende zwei Varianten erstellt. Der zweite hier gezeigte Code ergänzt die Schaltung um eine zweite LED. Die zweite LED soll nur das Ende des SOS-Signals deutlich machen, damit man besser weiß wann es mit dreimal kurz losgeht.
Programmierung SOS-Signal Version 1:
int ledPin1 = 13; //LED an digitalen Pin 13 angeschlossen
void setup()
{
pinMode(ledPin1, OUTPUT); //setze digitalen Pin als Output
}
void loop ()
{
//SOS ist dreimal kurz - dreimal lang und dreimal kurz...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
//ab hier jetzt dreimal lang...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
//ab hier dreimal kurz...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (2000); // warte zwei Sekunden (2000 Millisekunden)
}
Programmierung SOS-Signal Version 2:
int ledPin1 = 13; //LED an digitalen Pin 13 angeschlossen
int ledPin2 = 12; //LED an digitalen Pin 12 angeschlossen
void setup()
{
pinMode(ledPin1, OUTPUT); //setze digitalen Pin als Output
pinMode(ledPin2, OUTPUT);
}
void loop ()
{
//SOS ist dreimal kurz - dreimal lang und dreimal kurz...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
//ab hier jetzt dreimal lang...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (1000); // warte zwei Sekunden (2000 Millisekunden)
//ab hier dreimal kurz...
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (300); // warte zwei Sekunden (2000 Millisekunden)
digitalWrite(ledPin1, HIGH); // schalte LED ein
delay (300); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin1, LOW); //schalte LED aus
delay (2000); // warte zwei Sekunden (2000 Millisekunden)
//zweimal grün...
digitalWrite(ledPin2, HIGH); // schalte LED 2 ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin2, LOW); //schalte LED 2 aus
delay (1000); // warte eine Sekunden (1000 Millisekunden)
digitalWrite(ledPin2, HIGH); // schalte LED 2 ein
delay (1000); // warte eine Sekunde (1000 Millisekunden)
digitalWrite(ledPin2, LOW); //schalte LED 2 aus
delay (1000); // warte eine Sekunden (1000 Millisekunden)
}
Da es sich um älteren Code handelt sind die Variablennamen auch noch nicht angepasst. Das Programm selber ist zugegebenerweise auch nicht sehr spektakulär. Deshalb sollten wir schnell mit der Ampelschaltung weitermachen und die gibt es im nächsten Artikel.