Hallo liebe Stummies,
dieser Thread wendet sich an alle, die sich mit der Programmierung des Arduino befassen (wollen).
Auslöser für mich war der Beitrag von Karin (Tauberspatz), die ja ganz neu in der Programmierung ist, und sich eine Schrankensteuerung basteln wollte.
Da der Arduino hier ja recht beliebt ist, habe ich mir auch mal einen kleinen Arduino Micro besorgt, um mich ein wenig in die Besonderheiten des Arduino einzuarbeiten. Für den Einsteiger bietet das doch wesentlich weniger Hürden - vor allem, da er sich nicht direkt um die Hardwareprogrammierung der AVR Prozessoren kümmern muss.
Mich interessiert nun, ob man eine Schrankensteuerung mit Servos nicht doch einigermaßen ruckelfrei hinbekommt. Servos sind ja eigentlich nicht für so langsame Bewegungen konzipiert. Ihr eigentliches Ziel ist, eine vorgegebene Position möglichst schnell anzufahren und dann aktiv zu halten.
Ausserdem dachte ich, es wäre vielleicht für den einen oder anderen interessant, wie man etwas mehr aus dem Arduino herauskitzeln kann. Besonders dadurch, dass man den bei Anfängern doch sehr beliebten delay-Befehl vermeidet (ja, wenn's exakt sein soll, geht's sogar ohne millis() und micros() ).
Bei Interesse würde ich dann hier mit euch gemeinsam eine Schrankensteuerung entwickeln, so dass jeder am Ende das Programm auch wirklich versteht und an eigene Bedürfnisse anpassen kann. Das wird sich sicher eine Weile hinziehen, ist also nichts für Leute, die ihre Schranke schon bald einbauen wollen. Damit sollte es aber auch Allen möglich sein 'mitzukommen' und das ganze dann auch wirklich nachvollziehen zu können. Rückfragen und Diskussionen sind ja auch ausdrücklich erwünscht.
Wer sich schon etwas besser mit dem Programmieren auskennt ist dann auch gern aufgerufen, sich hier einzubringen, denn ich möchte wahrlich nicht von mir behaupten, die Programmierweisheit 'mit Löffeln gefressen' zu haben . Allerdings gibt es ja bekanntermaßen viele Wege nach Rom, und auf einen werden wir uns dann schon einigen. Im Zweifelsfalle bestimme ich dann wo's langgeht .
Ziel soll eine Steuerung mit folgenden Eigenschaften sein:
- Bewegung der Schranken mit Servos (mal seh'n ob das ruckfrei klappt? - bin selbst gespannt)
- je ein eigener Servo für jeden Schrankenbaum, so dass leicht unterschiedliche Bewegungen möglich sind. Ausserdem lassen sich so die Endpositionen für jeden Schrankenbaum getrennt einstellen. Das ist auch mechanisch einfacher, als ein Servo für beide Schrankenbäume.
- Einfache Einstellung der Endpositionen der Servos mit 1 Taster je Servo
- ein einfacher Eingang (Schalter) zum Schliessen/Öffnen der Schranken. Bei einer 2-gleisigen Strecke kann dass dann einfach per Belegtmelder angesteuert werden. Eine spätere Erweiterung für 1-gleisige Strecken ist denkbar, dann geht das aber nicht mehr mit einem Eingang.
- Impulsausgung zur Ansteuerung eines Läutewerkes
- Ausgang für Wechselblinker mit weichem Auf- Abblenden
Ich werde meinen Arduino Micro dafür verwenden, sollte aber genauso mit jedem anderen funktionieren.
(Einen 'Mini'-Klon gibt's schon ab 4,50€ - der hat dann allerdings noch keinen direkten USB-Anschluß zur Programmierung). Die Mechanik werde ich hier nicht aufbauen, aber das könnt ihr alle ja perfekt selbst.
Den Sketch würden wir dann hier schrittweise von einem ersten Test der Servoansteuerung bis zur kompletten Schrankensteuerung ausbauen. Es dürfte reichen, den jeweils aktuellen Code immer hier einzustellen. So umfangreich wird es nicht werden, dass wir dazu eine spezielle Codeverwaltung benötigen.
Ich würde mich freuen, wenn es ein paar Interessenten gäbe, die mitmachen. Ansonsten werde ich das erstmal für mich realisieren, und dann gegebenenfalls irgendwann das Endergebnis vorstellen.