Bösenberg Aviation Modells

Morsecode mit LED und Lichtsensor

Morsecode mit einer LED darstellen und per anleuchten eines Lichtsensors den Morsecode Starten lassen

Dieser Code ist eine Erweiterung zum Code "Morsecode mit einer LED darstellen".
Ich möchte das Gimmick für einen Nachtgeocache benutzen und habe mir daher als Zusatz überlegt das der Morsecode erst nach anleuchten eines Licht-Sensors starten soll. Dafür habe ich in die Schaltung einen Lichtsensor eingefügt und die Passenden Zeilen im Code eingefügt.
 

SKETCH:

/* LED Morsecode
 
 Dieser Sketch macht es Möglich eine LED zum Morsecoden zu benutzen. Als Startschalter wird ein Lichtsensor LIGHT TEMT 6000 verwendet.
 Ich habe 5 Variablen festgelegt mit denen man den Code sehr einfach auf seine eigenen Anforderungen umschreiben bzw. verändern kann.
 
 Schaltung: - GND-->Kathode LED-->AnnodeLED-->220 Ohm Widerstand-->DigitalPin 9
 - GND-->GND TEMT 6000
 - VCC-->VCC TEMT 6000
 - SIG TEMT 6000-->AnalogPin 2
 
 
 */

int LED = 9;                  //LEDPIN festlegen (hier Pin 9)
int P = 2000;                 //Zeitvariable in Millisekunden PAUSE
int L = 1000;                 //Zeitvariable in Millisekunden LANG
int K = 300;                  //Zeitvariable in Millisekunden KURZ
int Z = 600;                  //Zeitvariable in Millisekunden ZWISCHENPAUSE
int E = 500;                  //Variable für den Lichtsensor
int sensor = 2;              //PIN an welchem der Lichtsensor angeschlossen ist
int sensorvalue;             //Variable um den Sensorwert zwischenzuspeichern


void setup ()
{
  pinMode (LED, OUTPUT);      //LEDPIN als Ausgang deklarieren
  pinMode (sensor, INPUT);       //SensorPIN als Eingang deklarieren


}

void loop ()
{
  sensorvalue = analogRead(sensor);   //Sensorwert in Sensorvalue schreiben
  delay(100);                                         //Pause 100 Millisekunden

  if (sensorvalue >= E){                       //wenn Sensorvalue größer oder gleich dem Wert E ist dann folgenden           
                                                               Code abspielen

    // Codeabschnitt für ein "Lang"-Zeichen
    digitalWrite (LED, HIGH);             //LED anstellen
    delay(L);                                         //Pause(Lang)
    digitalWrite (LED, LOW);             //LED ausstellen
    delay(Z);                                        //Pause(Zwischenpause)
  }
  else;                                                 //ansonsten soll er den folgenden code abspielen
  {
    // Codeabschnitt für ein "Kurz"-Zeichen
    digitalWrite (LED, HIGH);         //LED anstellen
    delay(K);                                     //Pause(Kurz)
    digitalWrite (LED, LOW);          //LED ausstellen
    delay(Z);                                     //Pause(zwischenpause)
  }
}