Modellbahn Forum Railroad24 Neu
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Nach unten
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty BÜ Steuerung mit Servo und Arduino

Sa 27 Jul 2024, 10:51
Moin,

da in der letzten Woche die Bauteile für meinen BÜ Nr 5 eingetroffen sind, habe ich mich weiter an Werk gemacht. Zu beachten ist, das es immer noch eine Baustelle
ist. Besonders der Feinschliff an der Übertragung Servo >>>> Schranke bedarf noch Nacharbeit. Ich bin da willig.
Was habe ich gemacht, und wie. Erstellt wurde ein BÜ der Bauart EBÜT 80 mit Halbschranken. Die Steuerung erfolgt einschl. Ampel, Zeitfaktoren und Servos
über den Arduino. Die Modelbahnsteuerungssoftware "Modellstellwerk" schaltet den BÜ über ein Relais (einmal um) ein oder aus. Das Relais "hängt" an einem
ganz normalen Schaltdekoder. Es wird lediglich eine Adresse verwendet. Die Zeitpunkte erfolgen verschieden
und beruhen auf einem statischen Pegel ein/aus, welcher vom Arduino im loop abgefragt wird.

Dazu gibt es noch ein kurzes Video
BÜ Arduino

.... schönes Wochenende
Code:
  include<Arduino.h>
#include <Wire.h> // Wire Bibliothek einbinden
# include <Servo.h>



int zug = 7;
int aus = 6;
int zu = 0;
 
int zugstatus = digitalRead(zug);
int ausstatus = digitalRead(aus);
int rotlampe =  4 ;
int gelblampe = 9 ;
int rotlampe2 = 5;
int gelblampe2 = 8;
int test = 13;
Servo baum1;
Servo baum2;
int rotlampestatus = digitalRead(rotlampe);

void setup() {
 
pinMode(5,OUTPUT);
pinMode (7,INPUT_PULLUP);
pinMode (6,INPUT_PULLUP);
pinMode(4, OUTPUT );
pinMode(9, OUTPUT );
pinMode (8,OUTPUT);
pinMode (13, OUTPUT);
baum1.attach(12);
baum2.attach(11);
baum1.write(1);
baum2.write (1);
int zug = 7;
int aus = 6;
int i = 150;
 int rotlampestatus = digitalRead(rotlampe);
int zugstatus = digitalRead(zug);
int ausstatus = digitalRead(aus);

}



void loop() {
  zugstatus = digitalRead(zug);
 rotlampestatus = digitalRead(rotlampe);
  if (zugstatus == LOW && rotlampestatus == LOW){
  digitalWrite (gelblampe,HIGH);
  digitalWrite(gelblampe2,HIGH);
  delay (4000);
  digitalWrite( gelblampe,LOW);
  digitalWrite(gelblampe2,LOW);
  digitalWrite (rotlampe,HIGH);
  digitalWrite (rotlampe2,HIGH);

 
  delay(2000);
digitalWrite(test,HIGH);
delay (1000);


    for (int i = 10; i < 70; i= i+1)  {
    baum1.write(i);
    baum2.write(i);
    delay(120);
  }
    digitalWrite(13,LOW);
 
  } 
ausstatus = digitalRead(aus);
  rotlampestatus = digitalRead(rotlampe);
 if (ausstatus == LOW && rotlampestatus == HIGH){
  //digitalWrite(rotlampe,LOW);
  //digitalWrite(rotlampe2,LOW);
  digitalWrite(test,HIGH);
    for (int i = 70; i > 10; i=i-1 ){
    baum1.write(i);
    baum2.write(i);
    delay(90);
    }
    delay(1000);
 digitalWrite(13,LOW);
  digitalWrite (rotlampe,LOW);
  digitalWrite (rotlampe2,LOW);

 delay (500);
 //digitalWrite(rotlampe,LOW);
 //digitalWrite(rotlampe2,LOW);
 }
  }
     


Zuletzt von Eilzugwagen am Sa 27 Jul 2024, 13:46 bearbeitet; insgesamt 2-mal bearbeitet

HansK mag diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Sa 27 Jul 2024, 13:04
... und zum direkt anschauen:

BÜ Steuerung mit Arduino



Hallo Reinhold,
schöne Sache!
Wenn Du den (ganzen) Code vom Arduino hier in einen Beitrag reinkopieren tun tätest ... mich täte das interessieren.
Oben über dem Eingabe-Fenster für den Beitrags-Text gibt es für "Code" einen eigenen Icon, rechts neben dem "Zitieren"-Icon.

Gruß aus dem Westerwald
Hans

Steirer_Bua und Michael Sommer mögen diesen Beitrag

Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty im Original Beitrag eingefügt

Sa 27 Jul 2024, 13:52


der Code......

Viel Spass damit, wenn Erklärung erforderlich, gerne. Ist aber übersichtlich.

Und danke fürs Interesse Smile


Gruß

Reinhold
Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 28 Jul 2024, 15:25
Hallo zusammen,

ich habe noch eine kleine Ergänzung für das passende Geläut dazu wenn die Schranken schließen:

Code:
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

const int buttonPin1 = 2;
const int buttonPin2 = 3;

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

void setup()
{
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);
  
  mySoftwareSerial.begin(9600);
  Serial.begin(9600);
  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true){
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(30);  //Set volume value. From 0 to 30
}

void loop(){
static byte lastBuzzerState1 = HIGH;             // static: letzter Wert bleibt erhalten solange Spannung anliegt
static byte lastBuzzerState2 = HIGH;             // static: letzter Wert bleibt erhalten solange Spannung anliegt
byte currentBuzzerState1 = digitalRead(buttonPin1);  // kein static: wird in jedem loop()-Durchlauf neu erzeugt
byte currentBuzzerState2 = digitalRead(buttonPin2);  // kein static: wird in jedem loop()-Durchlauf neu erzeugt
 
  //Sound 1
  if (currentBuzzerState1 != lastBuzzerState1)
  {
    // wenn der aktuelle Buzzerzustand ungleich dem letzten Buzzerzustand ist
    // Hier kommen wir also nur bei einer Änderung des Tastenzustands vorbei
    if (currentBuzzerState1 == HIGH) // Taster wurde gedrückt (Flanke HIGH -> LOW)
    {
      myDFPlayer.stop();  // Player anhalten
    }
    else // Taster wurde losgelassen, der aktuelle Buzzerzustand ist also gleich dem letzten Buzzerzustand  (Flanke LOW -> HIGH)
    {
      myDFPlayer.play(1); // Player wieder starten...das war früher: mp3.start();
    }
    lastBuzzerState1 = currentBuzzerState1;  // aktuellen Tasterzustand merken
  }
  // fertig - wenn sich der Zustand ggü. dem letzten Durchlauf nicht geändert hat, ist nix zu tun.

  //Sound 2

    if (currentBuzzerState2 != lastBuzzerState2)
  {
    // wenn der aktuelle Buzzerzustand ungleich dem letzten Buzzerzustand ist
    // Hier kommen wir also nur bei einer Änderung des Tastenzustands vorbei
    if (currentBuzzerState2 == HIGH) // Taster wurde gedrückt (Flanke HIGH -> LOW)
    {
      myDFPlayer.stop();  // Player anhalten
    }
    else // Taster wurde losgelassen, der aktuelle Buzzerzustand ist also gleich dem letzten Buzzerzustand  (Flanke LOW -> HIGH)
    {
      myDFPlayer.play(1); // Player wieder starten...das war früher: mp3.start();
    }
    lastBuzzerState2 = currentBuzzerState2;  // aktuellen Tasterzustand merken
  }
  // fertig - wenn sich der Zustand ggü. dem letzten Durchlauf nicht geändert hat, ist nix zu tun.
}

und die passende Verdrahtung:

BÜ Steuerung mit Servo und Arduino Bz_gel10

Fragen dazu jederzeit gerne.

Viele Grüße

Peter

HansK, MeierGerhard52 und Steirer_Bua mögen diesen Beitrag

Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 28 Jul 2024, 15:41
Danke Peter,

wir hatten an anderer Stelle schon drüber gesprochen. Ich werde zu gegebener Zeit das Ergebnis zeigen und "verläuten" lassen

Gruß

Reinhold
HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 28 Jul 2024, 20:32
Hallo Ihr beiden,
es ist schon erstaunlich mit wie wenig Code so eine BÜ-Steuerung zu realisieren ist.
Oder das Geläut zu aktivieren ist.

Eine Frage habe ich: Hab ich das richtig gesehen, dass der Geläut-Code nur auf Tastendruck reagiert. Damit das passende Geläut ertönt, wenn die Schranken schließen muss der Geläut-Code noch in Reinholds Schranken-Code eingefügt werden?

@Reinhold: Im Video öffnet und schließen die Schrankenbäume etwas ruckelig. Ist das ein Problem vom Video oder ruckelt es "in echt" auch etwas?

Gruß aus dem Westerwald
Hans


Zuletzt von HansK am Mo 29 Jul 2024, 07:58 bearbeitet; insgesamt 1-mal bearbeitet
Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 28 Jul 2024, 21:02
Hallo Hans,

die Taster sind nur für Versuchszwecke.
Du kannst hier genauso eine Lichtschranke oder einen Decoder an den Arduino anschließen.
Du benötigst lediglich einen Impuls zum Auslösen.

Viele Grüße ums Eck

Peter
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 28 Jul 2024, 21:20
Hallo Hans, meine zeweite Antwort. Die erste Antwort habe ich mit senden verschickt, kam aber nicht an.

Zu den ruckeligen Schrankenbewegungen hatte ich mich schon im Eingangsschreiben reingewaschen. Wird noch verbessert.
Ursächlich ist der Platzmangel unter den Schrankenantrieben. Hierzu muss die vertikale Stellbewegung um tausend Ecken vom Servo geholt werden.

Zum Geläut: Da es sich nicht um eine mechanische Schrankenanlage handelt, in der das läuten mechanisch ertönt, sondern um eine Einheitbahnübergangstechnik
wird der Ton elektrisch erzeugt. So eine Art Systemton.
In den Hauptcode kann ich diesen Ablauf aber nicht unterbringen, da es sich um eine permanente Schleife handelt, welche mit den anderen Aufgaben nicht vereinbart
werden kann. Der Code im zweiten Arduino würde lauten ton(x,y)/delay(1000)/noton(x,y), und das endlos, bis sich die Schrankenbäume wieder heben.
Der Ton Arduino wird vom Hauptarduino angesteuert.

Gruß
Reinhold
HNullmosel
HNullmosel
Anzahl der Beiträge : 393
Anmeldedatum : 08.05.19
Alter : 68
Ort : Trier
Moba-Kurz-Info : HO, 2L, Gahler und Ringstmeier Steuerung

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 07:02
Moin, moin,

sehr schöne Bastelei und auch technisch mit Arduino auf der Höhe der Zeit.
Die Led´s haben mich stutzig gemacht. Einem solchen BÜ bin ich noch nie begegnet. Die Fahrzeuge sind wohl eher Ep. 3, dieser BÜ wohl Ep.7?

Gruß
Jörg
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 08:07
Moin Jörg,

ein BÜ in Epoche 7 würde auch Fahrzeuge aus Epoche I nicht ausschliessen. Diese Bauart gibt es seit Anfang der 80er. Ist also in meine in den früheren 70ern angesiedelten Anlage
ein Schritt in die Zukunft. Aber das bringt mich nicht um Very Happy . Beim Vorbild wurde der Bahnübergang "Vogelsang" als Po 6 durch Schrankenwärter mit mechanischen Schranken bedient, Anfang der 70er auf Blinklichtanlage ohne Halbschranke umgerüstet und ab 2000 durch den nach EBÜT Richtlinien erstellten RBÜT ersetzt. Das also vom Vorbild, mein Modell
ist da etwas aus der Chronologischen Reihe . Ich wollte es so. Ich liebe Herausforderungen Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes
Ein BÜ mit Blinklichtanlage hatte ich schon auf der vorherigen Anlage ohne Vorbildbezug.

Besten Gruß und danke für deine Nachfrage

Reinhold


HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 08:09
Hallo zusammen,

Reinhold schrieb:Die erste Antwort habe ich mit senden verschickt, kam aber nicht an.
BÜ Steuerung mit Servo und Arduino 1f602  BÜ Steuerung mit Servo und Arduino 1f625  BÜ Steuerung mit Servo und Arduino 1f62a


Reinhold schrieb:Zu den ruckeligen Schrankenbewegungen hatte ich mich schon im Eingangsschreiben reingewaschen.
Stimmt, jetzt habe ich es "oben" noch mal gelesen ... und auch verstanden  BÜ Steuerung mit Servo und Arduino 1f60e

Reinhold schrieb:In den Hauptcode kann ich diesen Ablauf aber nicht unterbringen, da es sich um eine permanente Schleife handelt, welche mit den anderen Aufgaben nicht vereinbart werden kann.
Das kann ich mir nicht vorstellen, dass das nicht geht. "Geht nicht gibt's nicht" ist die Devise in der Software-Entwicklung. Während meiner aktiven Arbeitszeit hatte ich dann immer ein "leider" nachgeschoben, denn in diesen Situationen hatte sich immer eine "etwas" kompliziertere Software-Lösung abgezeichnet ...... (und entweder musste ich es selbst ausbaden oder die Kollegen waren wenig erfreut, dass ich ihnen Arbeit verschafft hatte ....)

Jörg schrieb:Die Fahrzeuge sind wohl eher Ep. 3, dieser BÜ wohl Ep.7?
Very Happy Cool  BÜ Steuerung mit Servo und Arduino 1f44c

Gruß aus dem Westerwald
Hans
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 08:24
Hans, auch dir einen guten morgen und eine gute Woche.

Ich bleibe aber "bei geht nicht". Bin eben ein alter Bockkopp. Wenn ich in den Ablauf im loop reindenke, werden die Aufgaben sich immer gegenseitig behindern. Ab Gelbphase
soll der im Sekundentakt der Audioton ertönen. Nachfolgend soll umgeschaltet werden von Gelb auf Rot und dann die Schranken gesenkt werden. Hier sind auch Pausen von ca 60x 120 mS zu verarbeiten. Einen einwandfreien Ablauf beider Aufgaben kann ich mir nicht vorstellen, bin aber Horch- und Lesebereit zu deinen Ausführungen.
Eine Audiowiedergabe, wie Peter diese vorgeschlagen hat, scheidet auch aus, weil der Ton während der gesamten Schliesszeit ertönen soll.

So, weiter Kaffeeeeeeeeeeeeeeeeee

Reinhold
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Beispiel EBÜT 80

Mo 29 Jul 2024, 08:40
Nochmals ganz kurz ein link zu einer Vorbildsituation eines EBÜT 80 Bahnübergangs. Wie schon vorher geschrieben, gibt es seit 40 Jahren.

EBÜT Beispiel


Zuletzt von Eilzugwagen am Mo 29 Jul 2024, 08:51 bearbeitet; insgesamt 3-mal bearbeitet
Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 09:50
Moin Reinhold,

das müsste gehen.
Wir versuchen das mal mit einer Statemachine und einem zeitlichem Ablauf ohne Delay :-)

Viele Grüße

Peter
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 29 Jul 2024, 10:22
Das ist ja bestimmt ein Code, den ich nicht verstehe Very Happy Aber wenn du Lust und Freude daran hast, darfst du gerne das machen was du vorschlägst.

Ich bleibe gerne neugierig, man wird davon ja nicht blöder. Geht bei mir eigentlich auch nicht mehr tongue

HansK mag diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Di 30 Jul 2024, 08:50
Hallo Reinhold,
ich meine mich zu erinnern, dass wir das mit dem "in den Hauptcode kann ich diesen Ablauf aber nicht unterbringen" schon mal hatten. Und dass ich damals schon mal eine Lösung dafür eingestellt hatte. Ich meine, die war für den Robert (BvL), der sie bei Gelegenheit irgendwann mal testen wollte .....
Ich muss mal suchen, ob ich den Thread und den Beitrag finde, aber nicht jetzt un d nicht gleich ....  BÜ Steuerung mit Servo und Arduino 1f60e
... aber bald BÜ Steuerung mit Servo und Arduino 1f607

Gruß aus dem Westerwald
Hans
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Di 30 Jul 2024, 10:33
Ja, danke Hans

Peter ist auch schon am helfen, und ich bin auch nicht untätig gewesen.
Der zweite Arduino ist konfiguriert , der passende Ton gefunden und bei Zeiten wird der Kram in Betrieb genommen.

Für interessierte, der Code ist unten. Zwischen den Arduinos wird es ein gemeinsames GND und eine Verbindung von Pin 13 nach Pin 7 geben

Code:
[code]  int laut = 7;
 
int lautstatus = digitalRead(laut);
 


void setup() {
 
pinMode (7,INPUT_PULLUP);
pinMode (6,INPUT_PULLUP);
int laut = 7;
 
int lautstatus = digitalRead(laut);
 

}

void loop() {
lautstatus = digitalRead(laut);
  while (lautstatus == LOW){
  tone(11,350);
  delay(800);
  noTone(11);
  delay(800);
  break;
 




}
 
}    [/code]

HansK und Michael Sommer mögen diesen Beitrag

Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Di 30 Jul 2024, 15:42
Hallo zusammen,

so habe ein bisschen gebastelt:



Code:


#include<Arduino.h>
#include <Wire.h> // Wire Bibliothek einbinden
#include <Servo.h>

#define zug 7
#define aus 6
#define zu 0
 
#define rotlampe 4
#define gelblampe 9
#define rotlampe2 5
#define gelblampe2 8
Servo baum1;
Servo baum2;

void gelbeLampe_an(){
  digitalWrite (gelblampe,HIGH);
  digitalWrite(gelblampe2,HIGH);
}

void gelbe_Lampe_aus(){
  digitalWrite( gelblampe,LOW);
  digitalWrite(gelblampe2,LOW);
}

void rote_Lampe_an(){
  digitalWrite (rotlampe,HIGH);
  digitalWrite (rotlampe2,HIGH);
}

void rote_Lampe_aus(){
  digitalWrite (rotlampe,LOW);
  digitalWrite (rotlampe2,LOW);
}

void Schranke_hoch(){
    for (int i = 70; i > 10; i=i-1 ){
      baum1.write(i);
      baum2.write(i);
      delay(90);
    }
}

void Schranke_runter(){
    for (int i = 10; i < 70; i= i+1){
      baum1.write(i);
      baum2.write(i);
      delay(120);
    }
}

void StartGelaeut(){
  tone(11,350);
  delay(800);
}

void StopGelaeut(){
  noTone(11);
  delay(800);
}

void setup(){
  Serial.begin(9600);
  pinMode (6,INPUT_PULLUP);
  pinMode (7,INPUT_PULLUP);
  pinMode(4, OUTPUT );
  pinMode(5,OUTPUT);
  pinMode(8, OUTPUT );
  pinMode (9,OUTPUT);
  pinMode (13, OUTPUT);
  baum1.attach(12);
  baum2.attach(13);
  baum1.write(1);
  baum2.write (1);
}
  
int laut = 11;
int lautstatus = digitalRead(laut);

void loop() {
  while (lautstatus == LOW)
  {
    StartGelaeut();
      if (digitalRead(zug) == HIGH){
        gelbeLampe_an();
        delay(3000);
        gelbe_Lampe_aus();
        rote_Lampe_an();
        Schranke_runter();
        StopGelaeut();
        break;
      }
  }
  lautstatus = HIGH;
  if (digitalRead(aus) == HIGH){
    Schranke_hoch();
    delay(2000);
    rote_Lampe_aus();
  }
}


Viele Grüße

Peter

HansK, Steirer_Bua und Eilzugwagen mögen diesen Beitrag

Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Di 30 Jul 2024, 16:38
Hallo Peter,

danke für deinen Mühen und deinen Einsatz. Sieht alles ganz prima aus, lediglich der Dauerton, der auch beim Vorbild kein Dauerton ist, passt da nicht.
Wir belauern es erstmal.

besten und dankenden Gruß

Reinhold
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Di 30 Jul 2024, 17:28
Ausgangslage war meine Behauptung, für die Nachbildung eines BÜ mit Intervallsignalton mit einem Code und einem Arduino nicht auszukommen.
Es wurden Gegenbehauptungen aufgestellt. Ich habe daher den zweiten Arduinio zum ersten Arduino technisch verknüpft und kann so zeitgleich
Ampel, Schranken und Signalton bedienen. Dieses ist m.E. mit einem Code niicht möglich. Hans sagt, geht nicht gibts nicht, Peter arbeitet drann.

Ich habe fertig, hier ein Video.

Besten Gruß

Reinhold

V-Mann, HansK und Steirer_Bua mögen diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mi 31 Jul 2024, 22:16
Hallo zusammen,
bis jetzt kam ich noch nicht dazu, mir die beiden Code-Stücke anzuschauen. Und die Videos auch nicht. Es war anderes, was sich vorgedrängelt hat (es hat mit dem hier zu tun).

Das mit dem "ich meine mich zu erinnern" scheint nicht zu stimmen, denn bisher hatte ich zwar eine ähnliche Frage gefunden, siehe hier, aber keine dazu passende Lösung, nur das hier als einfache quick&dirty-Lösung und das hier als die korrekte/ordendliche Lösung.

(... scheint nicht zu stimmen ...) ... oder ich muss noch weiter suchen

Gruß aus dem Westerwald
Hans


Zuletzt von HansK am So 18 Aug 2024, 18:48 bearbeitet; insgesamt 1-mal bearbeitet
Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Do 01 Aug 2024, 09:12
Hallo Hans,

sportlich, sportlich.

Das Problem bei Reinhold ist der Arduino UNO.
Der hat nur einen Kern.
Somit ist es nicht möglich 2 Funktionen/Aktionen die länger dauern parallel laufen zu lassen.
Reinhold hat somit genau das richtige gemacht indem er 2 UNOs parallel geschaltet hat und dadurch 2 Funktionen parallel starten kann.
Hierfür sollte sich ein ESP32 besser eignen.
Diese benutze ich nur noch da diese nicht nur 2 Kerne sondern auch mehr Rechenleistung haben.

Der Code müsste passen.
Ich baue das die Tag mal auf den ESP32 um und gebe hier ein Update.

Viele Grüße ums Eck im Westerwald

Peter

Eilzugwagen mag diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 18 Aug 2024, 18:55
Hallo zusammen,

Peter schrieb:sportlich, sportlich.
ja, in der Tat, das war's ....

Hans schrieb:bis jetzt kam ich noch nicht dazu, mir die beiden Code-Stücke anzuschauen.
... und daran hat sich noch nichts geändert.
Das "echte" programmieren hat mich diesen Monat überraschend oft beschäftigt  Very Happy  Iss ja schön, dann kommt's Urlaubsgeld rein, denn ab Anfang September bzw. Ende August ist Urlaub dran. Aber der Nachteil ist, dass dann so Luxus-Projekte wie Arduino-Programme verstehen und anpassen hinten runter fallen, weil die Zeit dafür fehlt.

Peter schrieb:Der Code müsste passen.
Ich baue das die Tag mal auf den ESP32 um und gebe hier ein Update.
Gibt's schon Update-Infos?

Gruß aus dem Westerwald
Hans
.
Eilzugwagen
Eilzugwagen
Anzahl der Beiträge : 126
Anmeldedatum : 10.07.24
Alter : 76
Ort : Schönkirchen
Moba-Kurz-Info : H0 Digital fahren und schalten mit Modellstellwerk.Digitale Uhlenbrock + Littfinski. Weichen mit Servo, im Sbf Doppelspule,

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

So 18 Aug 2024, 19:20
Hallo Hans,

hatte vorhin schon mal an dich gedacht. Das einzige Update ist, das ich es bei zwei Arduinos lasse . Die lagen bei mir im Lager und kosteten nichts extra und es funktioniert.
Nebenbei melde ich mal, das ich mich auch in die ESP32 Szene eingeschlichen habe und dortselbst schon einige Tests mit verschiedenen Aufgaben erledigt habe.
Aber wie schon oben angedeutet, bleibt es bei 2 x Arduino, weil ich keine Lust habe , wieder alles auseinander zu friggeln. Neuere Bauten werde ich dann mit dem ESP32 befriedigen. Sei denn, die sind so einfach, das ein Arduino genügt.  Für 3 x Servos verwende ich immer einen Arduino. 2 Arduinos liegen noch rum, fast alle Weichen sind bestückt und was bleibt, wäre etwas Update in den Schattenbahnhofsfahrstrassen. Und da könnte ich mir den ESP32 gut vorstellen. Aber Weihnachten ist vorher.

Allerbeste Grüße wie immer vom Norden

Reinhold
HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Mo 19 Aug 2024, 09:17
Hallo Reinhold,

Reinhold schrieb:weil ich keine Lust habe , wieder alles auseinander zu friggeln

Das kann ich sehr gut nachvollziehen.

Mein Einschätzung, dass es auch mit einem Arduino gehen müsste basiert eher auf "professionellem Ehrgeiz" als auf einer vernünftigen Abwägung zwischen Aufwand und Nutzen.
Bei Deiner Lösung mit 2 Arduinos ist sicher Aufwand und Nutzen inm optimalen Verhältnis.

Aaabber mit einem Arduino zwei verschiedene Sachen zu machen .... also so etwas wie Multi-Tasking .... das hat schon seinen Reiz, das auszutüffteln ....
Ist halt schon etwas schierig, da ich so überhaupt keine Ahnung von Arduinos und deren Programmiersprache habe ... das letzte Mal als ich mit C programmiert habe liegt schon Ewigkeiten zurück .... es müsste so vor über 30 Jahren gewesen sein ... Und mit C++ habe ich noch nie gearbeitet. Alles nur theoretisch bzw. alles nur angelesenes Wissen.
Mal sehen, vielleicht habe ich irgendwann mal ganz viel Zeit und Langeweile und erinnere mich dann an diesen Thread, DANN ..... Wink Wink Wink

Gruß aus dem Westerwald
Hans
Gesponserte Inhalte

BÜ Steuerung mit Servo und Arduino Empty Re: BÜ Steuerung mit Servo und Arduino

Nach oben
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten