Meine Homepage

Arduino 15

21,01,2018 Es gibt ja hin und wieder kleine Sorgen und dafür kann man ja einen neuen Sketch schreiben.
Auf einer N-Anlage soll ein BÜ aufgebaut werden, Zweigleisigehauptstrecke und ein Rangiergleis.
Da die Reedkontakte nicht in Frage kamen mussten LDR-Module verbaut werden, die haben leider keinen kurzen Schaltimpuls sondern zeigen den ganzen vorbeifahrenden Zug als Dauerimpuls an.
Da ich auch noch eine Verriegelung für die Abschaltung plane, brauche ich noch eine 8fach Relaiskarte extra.
Jetzt kann ich einen weiteren Nano zum Impulswandler verbauen und dann funktioniert das alles richtig.

Hier einmal der Wandlersketch

/*Taster drücken LED blinkt kurz und stopt!  DER  WANDLER  SKETCH
es werden vier LDR-Module angeschlossen, je zwei LDR-Module schalten einen Ausgang.
Das ist eine Verriegelung und soll einen Dauerimpuls am Schrankensketch Nano verhindern!
*/
int pinREED = 14;
int pinLED1 = 3;
int pinREED1 = 15;
int pinREED2 = 16;
int pinLED2 = 4;
int pinREED3 = 17;

void setup() {
pinMode(pinREED, INPUT_PULLUP);  // 10Kohm Wiederstand ist gesetzt
pinMode(pinLED1, OUTPUT);        // Schaltausgang zum EINSCHALT-Relais BUE-Sicherung
pinMode(pinREED1, INPUT_PULLUP);  // 10Kohm Wiederstand ist gesetzt
pinMode(pinREED2, INPUT_PULLUP);  // 10Kohm Wiederstand ist gesetzt
pinMode(pinLED2, OUTPUT);        // Schaltausgang zum EINSCHALT-Relais BUE-Sicherung
pinMode(pinREED3, INPUT_PULLUP);  // 10Kohm Wiederstand ist gesetzt
}

void loop() {
int zustand = digitalRead(pinREED);  // Nun LDR tu was...
if (zustand == HIGH){ //zustand ist aus!!
  digitalWrite(pinLED1, LOW);}
  else {  //zustand ein!!
    digitalWrite(pinLED1, HIGH); // Aus einem Dauerimpuls vom LDR wird jetzt ein Kurzerimpuls
    delay(100);// an dieser Stelle kann man die Schaltimpulslänge einstellen!
    digitalWrite(pinLED1,LOW);// anstelle einer LED kann man auch ein Realis ansteuern!
    delay(2000);// das ist die Pufferzeit bis der Arduino wieder bei Tastendruck losläuft!
    }
int zustand1 = digitalRead(pinREED1);  // Nun LDR tu was...
if (zustand1 == HIGH){ //zustand ist aus!!
  digitalWrite(pinLED1, LOW);}
  else {  //zustand ein!!
    digitalWrite(pinLED1, HIGH); // Aus einem Dauerimpuls vom LDR wird jetzt ein Kurzerimpuls
    delay(100);// an dieser Stelle kann man die Schaltimpulslänge einstellen!
    digitalWrite(pinLED1,LOW);// anstelle einer LED kann man auch ein Realis ansteuern!
    delay(2000);// das ist die Pufferzeit bis der Arduino wieder bei Tastendruck losläuft!
    }

int zustand2 = digitalRead(pinREED2);  // Nun LDR tu was...
if (zustand2 == HIGH){ //zustand ist aus!!
  digitalWrite(pinLED2, LOW);}
  else {  //zustand ein!!
    digitalWrite(pinLED2, HIGH); // Aus einem Dauerimpuls vom LDR wird jetzt ein Kurzerimpuls
    delay(100);// an dieser Stelle kann man die Schaltimpulslänge einstellen!
    digitalWrite(pinLED2,LOW);// anstelle einer LED kann man auch ein Realis ansteuern!
    delay(2000);// das ist die Pufferzeit bis der Arduino wieder bei Tastendruck losläuft!
    }
int zustand3 = digitalRead(pinREED3);  // Nun LDR tu was...
if (zustand3 == HIGH){ //zustand ist aus!!
  digitalWrite(pinLED2, LOW);}
  else {  //zustand ein!!
    digitalWrite(pinLED2, HIGH); // Aus einem Dauerimpuls vom LDR wird jetzt ein Kurzerimpuls
    delay(100);// an dieser Stelle kann man die Schaltimpulslänge einstellen!
    digitalWrite(pinLED2,LOW);// anstelle einer LED kann man auch ein Realis ansteuern!
    delay(2000);// das ist die Pufferzeit bis der Arduino wieder bei Tastendruck losläuft!
    }   
}    // nun wartet die Steuerung bis der nächste mal der Taster gedrückt wird!



Zurück zur Startseite


Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden