Arduino Schaltung am PC entwickeln ...

Tja, der Bandwurm ist halt schlechter zu warten, enthält er Code-Duplikate dann wird es schnell unschön, usw.

Nicht umsonst lernt man Programmieren nicht in einer Minute.

Spätestens wenn die Fähigkeiten des Programmierers wachsen und das Programm optimiert oder ergänzt werden soll, zeigt sich, wie gut der Bandwurm als Basis taugt.
 
@Gear7Lover : Du musst es selbst wissen, ich hatte Dich jedenfalls so verstanden, dass Du das nicht nur für Dich machst und da wäre es schon besser, vorab ein wenig zu planen, damit Du es hinterher einfacher hast ...
 
Deshalb auch weiter oben der Hinweis, dass @Gear7Lover gleich vernünftig damit anfangen und sich auch mal andere Programme ansehen soll, wie das dort gelöst ist.
Das macht natürlich Sinn.
Aber ich zb als Arduino Anfänger habe schon Probleme mich in dem Riesencontroller Projekt aus dem Pedelec-forum zurecht zufinden.
Ich denke mal @Gear7Lover ist da weiter als ich, aber so einfach wird er auch nicht das Projekt durchschauen.
[DOUBLEPOST=1522066605][/DOUBLEPOST]
Klar, dafür nimmt man auch einen (kleinen) Arduino, der dann den Empfänger spielt und ggfs. ein paar FETs ansteuert, um bspw. die Hupe zu bedienen. Der Empfänger ist so ganz einfach zu implementieren und macht nichts anders, als an der RS232 Leitung zu horchen und ggfs. einen/mehrere Ausgänge zu schalten.
Dann benötigt man aber 2 Plus Leitungen (5V und 12V)
 
vorab ein wenig zu planen
Eben das hab ich gemacht. Jedes "Kapitel" hat eine Überschrift und funktioniert unabhängig vom Rest. So kann man einzelne Funktionen hinzufügen und stilllegen ohne das Gesamte zu gefährden. Schau's dir mal an. Ist zweckmässig.

Nicht umsonst lernt man Programmieren nicht in einer Minute.
Eben das ist der Verdienst der Arduino-Plattform. Es braucht kein Informatikstudium. Jeder kann sich dran setzen und kommt sehr schnell auf einen grünen Zweig. Probier das mal mit eine Siemens-SPS.

Ich sehe jedenfalls keinen Grund Dinge unnötig zu komplizieren.
[DOUBLEPOST=1522067469][/DOUBLEPOST]
Dann benötigt man aber 2 Plus Leitungen (5V und 12V)
Deshalb nimmt man ja auch nicht den blanken Käfer, sondern ein Platinchen, dass der Spannungswandler für die Betriebsspannung vom Käfer schon dabei hat. Arduino (und anderen) sei Dank gibt es jetzt gebrauchsfertige Platinen.
 
Genau und das hebt die Zykluszeit über 200ms.
die serielle Schnittstelle wird beim Arduino über Interrupt bedient. Wenn man vor dem Lesen per 'available()' prüft, ob schon Daten da sind und mit dem nächsten Loop weitermacht, falls nicht, dann bremst auch nix.
Natürlich ist die Bandbreite bei 1200Baud ein Flaschenhals, aber mit z.B. 3 Byte pro Message kann man immer noch 40 Zustandsänderungen pro Sekunde übertragen.
Es funktioniert sogar ohne Interrupts.
Solange die Reaktion auf äußere Ereignisse nicht zeitkritisch im µS-Bereich ist kommt man wunderbar auch ohne Interrupts aus. Auf der Senderseite eines Busprotokolls ist das in den meisten Fällen gegeben, da der Sender ja das Timing vorgibt. Auf der Empfängerseite sieht das oft viel kritischer. Hängt aber stark vom Protokoll ab, ob man mit Signalen rechnen muss, die ggf auch kürzer als die Zykluszeit des Client-programms sind.
 
Deshalb nimmt man ja auch nicht den blanken Käfer, sondern ein Platinchen, dass der Spannungswandler für die Betriebsspannung vom Käfer schon dabei hat. Arduino (und anderen) sei Dank gibt es jetzt gebrauchsfertige Platinen.

Hab gerade gesehen, das der Nano ein Vin eingang für 6V-20V hat.
Allerdings habe ich auch gerade einen Artikel gelesen, wo jemand den Spannungsregulator des Nano zerstört hat indem er eine BleiBatterie mit 12VNennspannung drangehangen hat.
Scheint wohl doch nicht so unproblematisch zu sein...

Edit Artikel:https://forum.arduino.cc/index.php?topic=427148.0
 
Hier ist ein kleines Beispiel mit per Interrupt gesteuerter UART-Schnittstelle (für den Slave, der dann die Ausgänge steuert). Ist doch schön übersichtlich ...
 
Hier ist ein kleines Beispiel mit per Interrupt gesteuerter UART-Schnittstelle (für den Slave, der dann die Ausgänge steuert). Ist doch schön übersichtlich ...
Was sagst du zu dem Kommentar, den ein User drunter geschrieben hat:

Your article is wrong. serialEvent is NOT called asynchronously. It is called each time after your loop function completes. See: https://www.arduino.cc/en/Tutorial/SerialEvent
If you want real asynchronous behavour, you should look into Serial.onReceive. See: http://playground.arduino.cc/Serial/AttachReceiveFunction
 
Nix, außer das man die Loop-Schleife wie immer klein halten muss. Es gibt wie immer mehrere Wege zum Ziel ...
 
Hab mir jetzt mal zum Uno auch einen Nano besorgt,
ich war doch überrascht wie klein das Teil ist:
 

Anhänge

  • ArduinoUnoNano.jpg
    ArduinoUnoNano.jpg
    224,3 KB · Aufrufe: 79
Inzwischen ist die Anschlussplatine angekommen 72 Ein-/Ausgänge und jeweils einen + und - dazu, den man auch auf Bordspannung legen kann. Aber das ist mir irgendwie alles zu gross.

Ich wird wohl auch auf die kleine Platine umsteigen. Es braucht aber derer 2 wegen der vielen PWM Ausgänge. Vermutlich mach ich eine Substation im Heck. Einen Master auf dem Tretlagermast und einen Slave im Heck.
 
Inzwischen ist die Anschlussplatine angekommen 72 Ein-/Ausgänge und jeweils einen + und - dazu, den man auch auf Bordspannung legen kann. Aber das ist mir irgendwie alles zu gross.

Ich wird wohl auch auf die kleine Platine umsteigen. Es braucht aber derer 2 wegen der vielen PWM Ausgänge. Vermutlich mach ich eine Substation im Heck. Einen Master auf dem Tretlagermast und einen Slave im Heck.

Ich denke mal ich mache einen speziellen Thread auf für 'VM-Bordeletrik mit Arduino'.
Das passt dann besser!
Ich werde dann mal deinen Beitrag mit dem Video verlinken.
Neuer Thread:
https://www.velomobilforum.de/forum/index.php?threads/vm-bordelektrik-mit-arduino.51394/
 
Zuletzt bearbeitet:
Zurück
Oben Unten