// SOS an einer LED ausgeben
// mit Funktionen und for-Schleifen
//
// In diesem Sketch wird die Erzeugung eine Punktes
// und eines Striches in zwei Funktionen verlagert
//
// Ausserdem werden die 3 Punkte bzw. Striche mit
// for-Schleifen erzeugt
//
// Definition der Anschlüsse (Pins) der LEDs
#define LED_RED 8
// Zeit in ms fuer einen Punkt
#define MYDELAY 500
// Variable als Zaehler fuer for-Schleife
int i;
// Im setup werden die benutzen Pins aus Ausgang bzw. Eingang konfiguriert
void setup() {
pinMode ( LED_RED, OUTPUT);
}
// Ausgeben eines Punktes
void punkt() {
digitalWrite ( LED_RED, HIGH );
delay ( MYDELAY );
digitalWrite ( LED_RED, LOW );
delay ( MYDELAY );
}
// Ausgeben eines Striches
void strich() {
digitalWrite ( LED_RED, HIGH );
delay ( MYDELAY*3 ); // der Strich ist 3x so lang
digitalWrite ( LED_RED, LOW );
delay ( MYDELAY );
}
// Hauptschleife
void loop() {
// S
for ( i=0; i<3; i++ ) {
punkt();
}
// O
for ( i=0; i<3; i++ ) {
strich();
}
// S
for ( i=0; i<3; i++ ) {
punkt();
}
// Ende, Pause nach dem SOS
delay ( MYDELAY * 10);
}