Wohoo, mein erstes Arduino Projekt!
- Demo-Video (YouTube, 9.2 sec)
- Schaltplan (Scan)
- Source code (Github Repository)
Die Job-Automatisierung macht auch vor Klerikern nicht länger Halt: Selbst ein spezielles Talent wie Septa Unella ist nicht länger unersätzlich. Vom Läuten der Glocke bis zur Beschämung unwürdiger Sünder gibt es keine Aufgabe, die dieser Roboter nicht erfüllen kann. Es ist Katholizismus 2.o.
Ich habe mir vor kurzem ein Arduino Starter Kit von Elegoo zugelegt. Neben dem Mikrokontroller enthält es eine Reihe von Kabeln, Sensoren, Motoren und sonstigem Kram, sowie eine Anleitung für knapp 30 mini-projekte, in denen im Gunde nur jeweils einmal die Bedienung der größeren Bauteile demonstriert wird.
Robo-Septa Unella ist im Grunde eine Vereinigung von drei dieser Tutorial-Projekte: Es verbindet einen Druckknopf zur Steuerung mit einem kleinen Servomotor und dem LCD-Display. Alle drei Teile werden im Grunde seperat mit dem MEGA 2650 Kontrollboard verkabelt, elektrotechnisch ist das Projekt also deutlich simpler als es aussieht. Hier ist der Schaltplan:
Tatsächlich habe ich in der finalen Version noch einen 1kΩ-Widerstand vor Pin #15 (A) des LCD-Displays eingebaut, da die Hintergrundbeleuchtung im Normalzustand mit der Kraft von 1000 Sonnen strahlt und ein Filmen mit der Kamera meines billig-Handys durch Überbelichtung unmöglich machte. Der Widerstand dunkelt das Ganze soweit ab, das meine Kamera nun halbwegs damit klar kommt, auch wenn der Text in dem Video noch immer schlechter und weniger lesbar aussieht als er eigentlich ist.
Probleme und Hürden
Wäre ja lächerlich, wenn ich bei einem ersten Projekt nicht ein paar mal gestolpert wäre.
Das erste Problem war ein Wackelkontakt: Das Display erfordert zur Kalibrierung des Kontrastes ein Potentiometer (= variabler Widerstand). Die drei Füße dieses Bausteins wollten aber partout nicht im Steckbrett halten. Lösen konnte ich das auf eine unkomplizierte, aber auch sehr unelegante Art: Ich habe einfach M-zu-W-Kabel benutzt um die drei Verbindungen quasi per Verlängerungskabel anzuschließen. Das hält ein bisschen besser, ist aber immernoch wackelig. Am Samstag plane ich einen Trip zu Conrad Elektronik um mir ein Multimeter zuzulegen, damit werde ich den Wert messen können auf den das Potentiometer eingestellt ist um es dann durch einen festen Widerstand in passender Höhe zu ersetzen.
Das nächste Problem war der Motor: Er bewegte sich nicht. Der Code um den Servo zu steuern ist unfassbar simpel, es ist ein Kommando mit einer einzelnen Zahl, welche die Position angibt. Die Ursprungsposition ist auf 60 gesetzt, die folgenden Zeilen sollten den Motor also dazu bewegen die Position des Arms erst zu verändern, und danach auf 60 zurück zu setzen:
motor.write(130);
motor.write(60);
Nur passierte an dieser Stelle absolut nichts. Das hat mich für etwa zwei Stunden leicht in den Wahnsinn getrieben: Mit dem vorgegebenen Tutorial-Programm konnte ich den Motor ohne probleme ansteuern, an den Kabelverbindungen konnte es also nicht liegen. Aber die zwei Zeilen code sind unmissverständlich einfach, und ich war mir sicher das auch hier kein Fehler vorliegt.
Erst in der Minute als ich mein Problem ausführlichst beschrieben und in einem Arduino-Forum gepostet hatte fiel es mir sofort von selber auf: Ich habe dem Motor keine Zeit gegeben, sich zu bewegen. Die beiden Befehle werden sofort nacheinander ausgeführt, der Motor erhält also schon den Befehl sich zur Ursprungsposition zurück zu bewegen noch bevor er die erste Bewegung auch nur angefangen hat. Die Lösung war also lachhaft einfach – Ich musste dem Programm an dieser Stelle nur sagen das es 300 millisekunden Pause machen soll.
motor.write(130);
delay(300);
motor.write(60);
Seitdem funktioniert es wie ein Traum. Der Rest bestand nur darin ein paar weitere delay-Werte einzubauen und an verschiedenen Stellen anzupassen, damit der zeitliche Ablauf möglichst nahe an das Vorbild herankommt.
Ausblick
Eigentlich ist das einzige, was jetzt noch bleibt, das Ganze möglichst schnell zu patentieren. Das Potential dieser Erfindung ist schier Grenzenlos: Beichtstühle, katholische Abtreibungs-Beratungsstellen, selbst die Religionslehrer an staatlichen Schulen – Sie alle können durch diesen Robotor nahezu vollständig ersetzt werden. Mit Sicherheit lassen sich darüber hinaus noch weitere potentielle Einsatzsstellen finden. Ich hab schon eine Mail an Pabst Francis und die deutschen Schulministerien geschrieben, ich bin sicher meine finanzielle Zukunft ist damit gesichert.
Eventuell könnte ich sogar ähnliche Modelle für andere Konfessionen etwickeln. Ich werde mal nachhören, ob DITIB oder IMG interesse haben.