Mit Arduino/Genuino probiere ich seit ein paar Jahren alles Mögliche aus. In meinem Wahlkurs Arduino gebe ich dann mein "Wissen" an die SchülerInnen weiter.
Angefangen hat das alles damit, dass ich Quizbuttons haben wollte. Also drei großer Buzzer auf die man kräftig draufhauen kann und dazu eine Elektronik, die anzeigt, welcher Spieler am schnellsten gedrückt hat. Dass dazu eine elektronische Schaltung mit Mikrocontroller nötig ist, wurde mir schnell klar. Aber wie konnte ich so etwas selber bauen? Nach einiger Recherche zu den weit verbreiteten Atmel ICs und den Komplikationen, die sich stellen, wenn man selber so einen Chip programmieren möchte, stieß ich auf Arduino.
Insgesamt war ich wohl etwa ein Jahr mit Planung, Materialbeschaffung, Bastelarbeiten und Programmierung beschäftigt, bis die Quiztheke so aussah. Arduino und weitere Teile sind unter dem Holzbrett befestigt. Jeder Spieler hat vor sich 4 grüne und 5 rote LEDs, die anzeigen, wer gerade dran ist und wie viele Punkte jeder hat. Eine Fernbedienung an einem 10m langen Kabel ermöglicht dem Quizmaster, zu steuern, ob der Spieler, der gerade dran ist, einen Punkt bekommt oder nicht. Zudem kann man jederzeit einzelnen Spielern Punkte geben oder nehmen.
So sieht die Fernbedienung von innen aus. Es ist letztlich nur ein Spannungsteiler mit verschiedenen Stufen. Der Arduino liest also an einem Analog-Input einen Wert, der sich der gedrückten Taste auf der Fernbedienung zuordnen lässt. So brauche ich im langen Kabel nur zwei Adern für (hier) fünf verschiedene Buttons.
Mein zweites größeres Arduino-Projekt war diese Kiste namens "nine switches". Ich wollte damit vorallem herausfinden, wie schnell mit komplexeren Programmen der Speicherplatz eines Arduino voll wird. Die kurze Antwort: Bei einem MEGA2560 wird er so schnell nicht voll. Die Spielkiste hier enthält mehrere Programme, vom "Piano" (jede Taste bringt einen anderen Ton der Tonleiter hervor) über "Schnell sein" (der Spieler muss möglichst schnell die Taste drücken, bei der es leuchtet) bis zu "Simon sagt" (der Spieler muss eine bestimmte Abfolge an Tastendrucken auswendig eingeben).
Im Inneren ist "nine switches" sicher keine Schönheit. Aber ich dachte mir "Hauptsache, es funzt".
Das nächste größere Projekt war die "intelligente Steckdose". Im Inneren der Kiste befindet sich ein SolidStateRelais (bei der weißen Steckdose) und ein Stromstärke-Sensor (bei der schwarzen Steckdose). Per Menüsteuerung kann man z.B. eine Master-Slave-Schaltung der beiden Steckdosen einrichten, so dass die Kiste den Werkstattsauger (an der weißen) einschaltet, wenn die Kreissäge (an der schwarzen) anläuft. Außerdem kann die Kiste auch noch ein paar andere Dinge, z.B. der weißen Dose in einem bestimmten Takt Strom geben und nehmen. Damit kann unser Raclette-Gerät (das keinen Regler hat) sozusagen "gedimmt" werden. Auch kann die Kiste für eine bestimmte Zeit den Strom an lassen und dann abschalten (für Akku-Ladegeräte o.ä.). Um den Arduino darin mit Strom zu versorgen, habe ich ein sehr primitives Netzteil aus Trafo, Gleichrichter und dickem Elko mit in die Kiste gebaut.
Das Bauteil "Schieberegister" faszinierte mich, also wollte ich gern etwas mit so einem Teil anstellen. Das dabei entstandene "Display" hat 30x7 Pixel und kann z.B. Laufschriften anzeigen. Im obigen Bild erkennt man mit zusammengekniffenen Augen den Lauftext "duino! Ar". Das Bild ist verschwommen, weil die Kamera etwas zu lang belichtet hat.
Das ist die Rückseite des "Displays". Das war schon eine ganzschön aufwändige Lötarbeit. Und natürlich (hüstel) habe ich es nicht ohne Fehler hingekriegt und musste nachträglich noch einmal fast 50 Lötstellen öffnen und neu zusammenlöten, weil ich mich in der Reihenfolge der Anschlüsse geirrt hatte.
Ein selbstfahrendes Auto ist auch einer der Klassiker, wenn man sich mit Robotik spielerisch beschäftigt. Meine Version guckt mit einem Infrarot-Abstandssensor nach vorn und bremst (fast) immer rechtzeitig vor einer Wand ab, dreht um und fährt weiter.
Zunächst wollte ich die Batterien unter diesem Holzbänkchen platzieren. Dadurch war aber zu wenig Gewicht auf den Antriebsrädern, so dass diese oft "Schlupf" hatten. Dadurch versagte die Geradeausfahrt, die durch Drehzahlregelung sichergestellt wird. Am unteren Bildrand ist der Motor-Treiber (Doppel-H-Brücke) zu sehen.
Auf der Unterseite sieht man die Kodierscheiben an den Rad-Achsen, die sich in je einer kleinen Gabellichtschranke drehen, so dass die Drehzahl gemessen werden kann und die Geradeausfahrt regelbar wird.
Die ganz oben gezeigte Quiztheke wurde inzwischen zerlegt und umgebaut zu einem modularen System - Quizbuttons 2.0 nenne ich das ganze.
Die Schaltzentrale für die Quizbuttons hat Anschlüsse für vier Button-Module (die dann jeweils einen Buzzer und eine E27-Birne enthalten). Die Anschlüsse habe ich mit Cinch-Buchsen umgesetzt, da diese verglichen mit vielen anderen Steckertypen schön billig sind - auch die benötigten langen Kabel :-)
Blick ins Innere der Schaltzentrale: Arduino mit mp3-shield oben drauf, Batteriepack und vielen Kabeln. Mit dem mp3-Shield wird es möglich, dass die Schaltzentrale bei richtigen Antworten verschiedene "Jingles" abspielt, wenn man sie mit Klinken-Kabel an geeignete Lautsprecher anschließt. Als Fernbedienung für den Quizmaster kommt übrigens immer noch die alte von ganz oben zum Einsatz.
Während der Corona-Pandemie ab 2020 war häufiges Lüften in den Klassenzimmern nötig. Da ich das im Eifer des Unterrichts oft vergesse, wollte ich ein kleines Gerät haben, das mich immer zur rechten Zeit ans Lüften erinnert. Inspiriert von einem Zeitschriftenartikel baute ich dazu eine CO2-Ampel. Als Hauptplatine verwendete ich einen NodeMCU (mit ESP8266). Hier sieht man ihn schon, wie ich ihn in das Plastikgehäuse einbaue.
Hauptplatine an ihrem geplanten Ort im Gehäuse. Rechts eine Durchführung für das USB-Kabel (damit auch im eingebauten Zustand die Software weiterentwickelt werden kann UND zur Stromversorgung)
Das nächste Bild (oben) zeigt den Deckel des Gehäuses von der Innenseite. Ich habe bereits das Display und die Ampel-LEDs eingebaut und festgeklebt. Links hängt der eigentliche CO2-Sensor herum. Dass dies noch ein Problem werden würde, war mir zu dem Zeitpunkt nicht klar.
Die Verkabelung mache ich meistens mit Dupont-Crimp-Steckern, da ich mir die Möglichkeit offen halten will, später etwas zu verändern. Solange alles im Gehäuse eingebaut ist, habe ich in der Regel keine Probleme mit Wackelkontakten o.ä.
Hier ist nun alles im Gehäuse eingebaut. Der CO2-Sensor steckt rechts mit einer aufgelöteten Pinleiste in einem Schlitz eines kleinen Holzblocks, so dass er nicht im Gehäuse herumfällt. Das half aber leider auch nichts mehr... Erläuterung folgt unten...
So sieht jedenfalls die fertige CO2-Ampel von außen aus.
Und so im Betrieb. Dummer Weise hatte ich nicht beachtet, dass der CO2-Sensor hochempflindlich auf mechanische Belastungen reagiert. Er hatte vor dem endgültigen Einbau bei mir einiges mitgemacht und dabei offensichtlich Schaden genommen, denn er zeigte stets viel zu hohe Werte an. Mir blieb nichts anderes übrig, als einen neuen zu kaufen und ihn unter der gebührenden Vorsicht einzubauen. Das hat aber geklappt und inzwischen zeigt die Ampel zuverlässige Werte an.