RE: Frage zum Arduino UNO Sketch

#1 von Reibuch , 30.10.2018 17:01

Hallo Modellbahner,
Ich habe mir zum experimentieren ein Arduino UNO starter Kit gekauft.

Jetzt habe ich eine Blinkende LED auf die Reihe bekommen in einem Sketch und auch einen Sketch für eine einfache Ampelsteuerung.

Meine Frage :
Wie kriege ich beide Sketches zusammen in einem Sketch vereint ?

Hat da jemand einen Tip /Idee für mich

Ich stehe da absolut auf der Leitung

Geht das überhaupt

VG
Thomas


Gruß Thomas


 
Reibuch
InterRegioExpress (IRE)
Beiträge: 311
Registriert am: 27.08.2006
Ort: Hunsrück
Gleise Märklin C Gleis
Spurweite H0
Stromart AC, Digital


RE: Frage zum Arduino UNO Sketch

#2 von Bodo , 30.10.2018 17:29

Hallo Thomas,

Deine Sketche sind wahrscheinlich mit "delay" programmiert - dann bekommst Du sie nicht zusammen auf einem Prozessor zum Laufen (denn bei "delay" passiert eben gar nix). Stichwortsuche wäre https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay ... Ich habe mal versucht, das unter http://moba.noethlich.info/?page_id=696 etwas zu erweitern.

Mehrere Sachen gleichzeitig gehen nur ohne "delay" im Sketch - das erfordert aber dann eine andere Programmierlogik. Je früher man damit anfängt, desto besser .

Viele Grüße, Bodo


Die Freiheit des Menschen liegt nicht darin, dass er tun kann, was er will, sondern dass er nicht tun muss, was er nicht will. (Jean-Jacques Rousseau)

Meine Anlage - Meine Dauerbaustelle
Platinen für Modellbahn- und Arduino-Anwendungen


 
Bodo
InterCityExpress (ICE)
Beiträge: 2.471
Registriert am: 28.04.2005
Homepage: Link
Gleise C-Gleis, Lenz 0
Spurweite H0, 0
Steuerung MS2 & CS2
Stromart Digital


RE: Frage zum Arduino UNO Sketch

#3 von Reibuch , 30.10.2018 17:42

Hallo Bodo,

Vielen Dank für die schnelle Rückmeldung

Oh ,jetzt wird es kompliziert für einen Leien

Ich les mir das mal durch und hoffe das ich es kapiere

VG
Thomas


Gruß Thomas


 
Reibuch
InterRegioExpress (IRE)
Beiträge: 311
Registriert am: 27.08.2006
Ort: Hunsrück
Gleise Märklin C Gleis
Spurweite H0
Stromart AC, Digital


RE: Frage zum Arduino UNO Sketch

#4 von Instandsetzung , 03.11.2018 00:43

Hallo Thomas,

Auch ich bin jemand, der das Blink without Delay bis heute mit wirklich geschnallt hat. Ich verstehe den Grund und ich verstehe auch den Ablauf. Bis heute habe ich aber nicht verstanden, welcher Befehl was auslöst, und wenn ich die Zusammenhänge nicht verstehe, bekomme ich die Befehle auch nicht an die richtige Stelle.

Ich habe aber trotzdem eine Ampelsteuerung mit mehreren Abbiegespuren und Blinklichtern zusammen geschustert und das alles nur mit Delay. Man muss nur alles gleichzeitig der Reihe nach programmieren und damit das auch halbwegs praktikabel ist, sollte man sich den Guttenberg verinnerlichen.

So genug der dummen Sprüche.

Was ich damit eigentlich sagen möchte:

Wenn die Ampel z.B. von grün über gelb nach rot springen soll, dann sagt man einfach grün aus und gelb an. Dann die Blinklampe an und wieder aus und vielleicht noch mal an und aus und dann gelb aus und rot an. Und dann wieder die Blinklampe an und wieder aus und das alles mehrmals.

So bastel ich mir den Ablauf zusammen.
So schreibe ich die Befehle meist nur einmal und dann tritt Copy and Paste in Aktion.

Natürlich braucht so ein Sketch ein bisschen mehr Speicherplatz, als wenn ein Profi den programmiert. Aber was soll's. Wem interessierts? Auf so 'nem Arduino ist genug Speicherplatz und hinterher sieht doch keiner den Sketch .

Dann noch ein kleiner Hinweis:
Fertige Ampeln schalten über Minus und haben daher einen gemeinsamen Pluspol.
Wenn man nun daher den Rückleiter nicht an GND sondern an die 5Volt anklemmt, leuchten die LEDs bei Low und sind bei High aus.
Und damit ich dann beim Ablauf besser durchblicke, habe ich daher an als Low und aus als High definiert.
Somit brauche ich im Sketch nicht mehr High und Low schreiben, sondern schreibe einfach an oder aus.

MfG
Oliver

PS: Sonntag wird mir wegen dieser Sprüche Bodo vermutlich wieder die Leviten lesen.


Instandsetzung  
Instandsetzung
EuroCity (EC)
Beiträge: 1.356
Registriert am: 27.02.2009
Ort: Revier


RE: Frage zum Arduino UNO Sketch

#5 von schmiedi , 03.11.2018 01:25

Hallo Thomas,

die MobaTools (die Suchfunktion des Forums bringt Dich dorthin) von Franz-Peter (MicroBahner) stellen die Klasse "EggTimer" bereit, damit kannst Du Abläufe Millisekunden-genau steuern. Wie weiter oben geschrieben, erfordert das aber eine gänzlich andere Struktur des Programms als bei der Benutzung von delay ().

Da ich nicht weiß, was Du genau erreichen willst (Ampel und Blinklicht im Zusammenhang machen mich ehrlich gesagt etwas ratlos), kann ich Dir leider auch keine weitergehende Hilfe geben. Mit etwas mehr Info wäre das schon möglich...

Vor ein paar Tagen habe ich ein Video in meinem Thread hochgeladen, in dem 10 LEDs in einer Gebäudebeleuchtung zufällig angesteuert werden. Und das auf einer viiiiel schwächeren Hardware als sie ein Uno zur Verfügung stellt. Vielleicht überzeugt es Dich davon, künftig auf delay () zu verzichten

Viele Grüße,
Dieter


Der Zug zur Besichtigungstour "Rund um Steinen":


 
schmiedi
InterRegioExpress (IRE)
Beiträge: 446
Registriert am: 07.07.2015
Homepage: Link
Spurweite H0
Steuerung Arduino, Eigenbau
Stromart DC, Analog


RE: Frage zum Arduino UNO Sketch

#6 von Reibuch , 03.11.2018 08:51

Hallo Dieter,Oliver,

Vielen Dank für eure Rückmeldungen

Ja ,ich habe es bisher noch nicht kapiert das ganze flaster:

Ich würde gerne eine Andreaskreuz Schaltung (Also eine Blinkschaltung ) und eine normale Straßenampel (rot,gelb,grün) auf einem Arduino steuern

Einzel kriege ich das hin ,gerade so 😃

Na ja wenn alle Stricke reisen ,lege ich mir noch einen zweiten Arduino zu und lasse es getrennt 😃

VG
Thomas


Gruß Thomas


 
Reibuch
InterRegioExpress (IRE)
Beiträge: 311
Registriert am: 27.08.2006
Ort: Hunsrück
Gleise Märklin C Gleis
Spurweite H0
Stromart AC, Digital


RE: Frage zum Arduino UNO Sketch

#7 von schmiedi , 03.11.2018 11:49

Hallo Thomas,

schau bitte mal nach bei viewtopic.php?f=21&t=127532&start=75#p1433710 - Bahnübergang mit Schranke und Wechselblinker. Die Ablaufsteuerung ist da sehr verständlich geschrieben, wie ich finde. Den Wechselblinker-Teil kannst Du als Basis nehmen und die Ampelsteuerung sollte nach demselben Schema funktionieren. Ein wenig Gehirnschmalz mußt Du allerdings investieren

Sorry, momentan geht's nur ganz kurz, muß gleich aus dem Haus...

Viele Grüße,
Dieter


Der Zug zur Besichtigungstour "Rund um Steinen":


 
schmiedi
InterRegioExpress (IRE)
Beiträge: 446
Registriert am: 07.07.2015
Homepage: Link
Spurweite H0
Steuerung Arduino, Eigenbau
Stromart DC, Analog


RE: Frage zum Arduino UNO Sketch

#8 von MicroBahner , 03.11.2018 17:06

Zitat

Ich würde gerne eine Andreaskreuz Schaltung (Also eine Blinkschaltung ) und eine normale Straßenampel (rot,gelb,grün) auf einem Arduino steuern

Hallo Thomas,
für so eine 'einfache' Aufgabe ( aus Arduino-Sicht ) 2 UNO's zu verwenden wäre eigentlich sehr schade. Die Arduinos würden sich nur langweilen und in delay-Aufrufen Däumchen drehen .
Eigentlich ist das auch gar nicht sooo schwierig - man muss nur das Prinzip der Ablaufsteuerung bzw. eines Zustandsautomaten und die Umsetzung auf dem Arduino einmal kapiert haben. Dann öffnen sich ungeahnte Möglichkeiten mit dem Arduino. In dem von Dieter verlinkten Post habe ich das anhand von einer Bahnschranke versucht zu erklären. Aber wahrscheinlich ist es für den Einstieg doch schon zu komplex. Für den Einstieg sollte man sich wohl erstmal auf den reinen Wechselblinker beschränken.
Ich überlege gerade, dein Beispiel mal in einem eigenen Thread für ein kleines Tutorial zum Zustandsautomaten auf dem Arduino zu nutzen. Ich denke, Du bist ja nicht der einzige, der auf dem Arduino dieses Problem mit den Zeitsteuerungen ohne delay() hat. Vielleicht würde das doch dem einen oder anderen helfen, den Arduino besser zu nutzen .


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Frage zum Arduino UNO Sketch

#9 von Reibuch , 03.11.2018 17:33

Zitat

Ich überlege gerade, dein Beispiel mal in einem eigenen Thread für ein kleines Tutorial zum Zustandsautomaten auf dem Arduino zu nutzen. Ich denke, Du bist ja nicht der einzige, der auf dem Arduino dieses Problem mit den Zeitsteuerungen ohne delay() hat. Vielleicht würde das doch dem einen oder anderen helfen, den Arduino besser zu nutzen .


Hallo Franz –Peter

Würde ich mich sehr darüber freuen wem du anhand von meinem Beispiel ein Tutorial erstellen würdest.
Ich habe es heute Nachmittag noch einmal versucht, aber als ahnungsloser „Elektroniker „ flaster: sind das zur Zeit alles noch böhmische Dörfer

Das Beispiel mit der Schranke und dem Wechselbinker lässt sich für mich nicht so einfach umschreiben in ein Wechselblinker und eine Strassenampel wenn man die Befehle nicht richtig versteht

VG
Thomas


Gruß Thomas


 
Reibuch
InterRegioExpress (IRE)
Beiträge: 311
Registriert am: 27.08.2006
Ort: Hunsrück
Gleise Märklin C Gleis
Spurweite H0
Stromart AC, Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz