Arduino und Looping Louie

Wer Looping Louie kennt, hat sich bestimmt auch mal überlegt das Spiel ein wenig aufzumotzen.
Ich habe mich letztes Jahr im Winter damit beschäftigt (2012).
Resultat:

während der Testphase sah das Projekt so aus:

Hätte ich vor Projektbeginn gewusst wie viel Aufwand das einzelne verlöten der ganzen LEDs ist, hätte ich das Projekt nicht begonnen. Aber ein Projekt mitten drin Abbrechen hat auch keinen Sinn.

Durch die Lichtschranken wird erkannt wie viel Chips jeder Spieler gerade hat. Spieler die zu Spielbeginn keine Chips besitzen werden ausgeschlossen und das spiel läuft auch mit 3 und 2 Spielern.
Es gibt verschiedene Licht Animationen wobei nicht immer die selbe Geschwindigkeit auch die gleiche Animation aufruft. Das Spiel Ende wird auch automatisch erkannt.

Der Quellcode von diesem etwas größeren Projekt befindet sich im Anhang.

Als Kontroller wird dieser hier verwendet:

Da nicht alle Pins durch die Funktion digitalWrite angesteuert werden, wurden Macros erstellt.

looping_louie_verbessert.rar (6.6 KB)

Hallo Jomelo,

ich beginne grad mich mit dem Arduino auseinander zu setzen. Da es bei solchen Vorhaben immer besser für die Motivation ist ein Ziel zu haben, möchte ich ebenfalls ein Looping Louie Spiel modifizieren.

Wichtig wäre es für mich zuerst einmal die Motorsteuerung hin zu bekommen. Hab auch gemeint das ist das einfachste. Aber das ist es als Neuling nicht...
Nach intensiver Internetrecherche bin ich auf folgendes Video gestossen und habe analog eine Schaltung aufgebaut und an den Motor angeschlossen. Bei mir rührt sich aber nichts.

In dem Video wird bereits erwähnt, dass je nach Motor eine extern Stromquelle nötig sein kann.
Jetzt zu meiner Frage, wie steuerst du deinen Elektromotor an? Reicht die Stromversorgung des Arduino aus oder muss ich eine zusätzliche Stromquelle anschliessen?

Über eine Antwort würde ich mich sehr freuen.

Gruß Jo_oG

Hi, ich nutze eine externe Spannungsversorgung die mit 12V arbeitet. (Die lag gerade noch irgendwo rum).
Die Versorgung sollte kurzzeitig 1,5 A liefern können, da so groß der Anlaufstrom des Motors ist.

Es gibt verschiedene Looping Louie Versionen mit verschiedenen Motoren.
Der alte Motor verträgt nur 0 - 3 Volt

Der den ich verwende, verträgt 0 - 9V.
Vielleicht gibt es da schon wieder andere.

Da sich Looping Louie bei mir nur in eine Richtung dreht, brauche ich keinen aufwändigen Motor Kontroller.
Ich steuer den Motor über einen N-Kanal Mosfet (IRLZ34N) und einen PWM Ausgang des Arduinos an.
Das Mosfet ist mit dem Pin Gate am PWM Ausgang des Arduino angeschlossen. Der PIN Source liegt auf Masse. Am PIN Drain ist der (minus/gnd) Anschluss des Motor angeschlossen. Der Motor liegt mit plus direkt an der Versorgungsspannung von 12V.

Damit der Motor nicht kaputt geht, steuer ich den PWM Ausgang mit einem maximalen Wert von 170 an. (analogWrite(Motor, 170)). Ab einem Wert von 35 läuft der Motor bei mir an.
Setz man den Wert auf 255 kann der Motor kaputt gehen !!!

Super, vielen Dank für den Tip!

In einem anderen Post habe ich gelesen, das trotz Transistor die Verwendung einer Freilaufdiode empfohlen wird, da es sonst auf dauer Probleme mit dem PWM Pin geben könnte. Hast du da bishr negative erfahrungen gemacht?
Ich würde sonst auch lieber auf die Transistor-Lösung übergehen, da dies vom Aufbau einfacher gehalten ist. Ich glaub der Rückwärtslauf würde im Spiel auch eher stören.

Ich hätte als externe Stromquelle jetzt 9V vorgesehen, dürfte dann ja auch funktionieren.
Und doof gefragt...wie bekomme ich heraus, was mein Motor verträgt? Ich habe auf dem Ding keinerlei Bezeichnungen gesehen.

Bisher habe ich keine Probleme. Du kannst eine Freilaufdiode verwenden. Dann Parallel zur Last und in entgegengesetzte Richtung, also von GND -> VCC.
Die Spannungsversorgung mit 9V sollte ausreichen.

Welche Looping Louie Version verwendest du ? Ist die alt, also aus deinen Kinderzeiten oder erst letztens gekauft.

Wenn du ein regulierbares Spannungsnetzgerät hast kannst du den Motor mal mit 3V Versorgen und schauen ob er langsam oder sehr schnell läuft. Bei 3V sollte der Motor nicht kaputt gehen.

Ja ok, dann kann ich ja mal ein wenig experimentieren.
Ich habe extra zum modifizieren ein neues Spiel gekauft. Ich denke dann mal, dass das dann der Motor ist, der mehr verträgt....neu ist ja bekanntlich immer Besser :wink:

Vielen Dank nochmal für deine Unterstützung. Ich werde nochmal was Posten wenn ich ein wenig weiter bin.

Hallo Jomelo,

ich wollte nochmal kurzes Feedback geben. Ich bin jetzt in letzter Zeit mal endlich zum Basteln gekommen. Die Steuerung mit dem Mosfet funktioniert super. Ich betreibe jetzt sowohl den Arduino als auch den Motor mit einer 9V Batterie.

Die Schaltungen (LED, Lichtschranke, Piezzosummer etc.) die ich mir vorgenommen habe funktionieren einzeln :sweat_smile: . Das Programmieren des Zusammenspiels stellt mich, als Programmierneuling, vor eine sehr große Herausforderung.

Ich wollte mit einer Gabellichtschranke prüfen ob noch Chips beim jeweiligen Spieler im Spiel sind. Jetzt habe ich aber die Sorge, dass a) die Lichtschranke schon beim Chipwechsel auslöst bzw. b) der Chip aufgrund der LS nicht richtig fällt. Nur zum ausprobieren wollte ich die LS nicht ins Spiel einbauen, da ich die Rutsche dafür modifizieren muss. Falls das ganze nicht funktioniert, würde ich das gerne vermeiden.

In deinen Viedeos habe ich gesehen, dass an jeder Chip-Position etwas angebracht ist. Sind das auch Lichschranken oder wie überprüfst du das ganze?

Gruß Jo_oG

Hi, das klingt ja gut.

Ich nutze auch Lichtschranken, nur habe ich das ganze ein wenig anders gemacht. Gabellichtschranken sind viel zu teuer. Ich nutze diese Lichtschrankenpaare: Link. Der Preis liegt bei 95 Cent für 10 Lichtschrankenpaare, sprich ein Paar kostet 9,5Cent ;-), günstiger habe ich es nirgends gefunden.

Da das auslesen der Lichtschranken ein langsamer Prozess ist, habe ich jeweils 3 Lichtschranken mit Widerständen auf einen analogen Eingang geschaltet. Sprich, je nachdem welche Lichtschranken gerade betätigt sind, verändert sich der Spannungswert. In die Rinne von den Chips habe ich jeweils 3 Löcher (2 mm Durchmesser) gebort. Das Problem, welches auftritt, wenn die Chips (Hühner) nach unten Rollen, und die Lichtschranke kurz geschlossen ist ( kein Huhn erkannt wird ) habe ich mit einer Verzögerungszeit von ca 150 ms gelöst. Das ist ein Wert den man durch ausprobieren herausfinden kann.

Die analogen Ausgänge werden ca alle 50 ms abgefragt. Sobald eine Änderung erkannt wird, startet ein Zähler der bis 2 oder 3 zählt. Sobald der Zustand dann immer noch dem verändertem Zustand entspricht wird angezeigt, das ein Chip fehlt. Ansonsten bleibt der alte Zustand bestehen.

Ich habe noch mehr Funktionen eingebaut, z.B: das wenn nur drei oder zwei Spieler mit Chips bestückt sind, die anderen aus bleiben (Beleuchtung dunkel).

Ich hoffe das Hilft dir erstmal weiter, ansonsten einfach fragen.

Edit:
Aufpassen muss man bei den Lichtschranken mit der Stromaufnahme. Die IR Led benötigt ca 40mA. Wenn dieser Wert mal 12 gerechnet wird, ist man schon bei 480mA. Das könnte dazuführen, das dein 9V Block sehr schnell leer ist.

hmmm, bei dem Preis sag ich jetzt mal lieber nichts weiter zum Thema Lichtschranken. Hätte mal doch genauer suchen sollen.
Ich hab geplant nur die letzte Chip-Position abzufragen, im Prinzip soll das Ganze nur eine Stop-Funktion auslösen und den Verlierer/Gewinner (der Standpunkt ist wichtig :slight_smile: ) anzeigen. Das mit der Verzögerungszeit bzw. vorher nachher Vergleich ist gut, das werde ich ausprobieren.
Die Lebensdauer der Batterie muss ich dann eh im Live-Test ermitteln, falls die zu schnell leer ist kann ich ja immernoch auf ein Netzteil umschwenken.