Erstprojekt - Looping Loui

Guten Abend zusammen,

als Arduino-Neueinsteiger habe ich gleich eine verrückte Projektidee.
Und zwar gibt es das Kinderspiel Looping Louie. (mehr im nächsten Post. Kann/Darf noch keine Bilder & Links posten)
Dies wurde häufiger schon zu einem Trinkspiel umfunktioniert.
Die Regeln sind einfach:
Loui dreht sich im Kreis und muss mit der Wippe von den eigenen Hühnern (Münzen) weggehalten werden. Diese fallen sonst hinunter.
Hat Loui dem Spieler alle 3 Hühner geklaut, wird ein Schluck getrunken und die Hühner werden wieder aufgefüllt.

Mittlerweile ist eine große Community entstanden, die dieses Spiel aufmotzen und z.B. 4 extra Wippen einbauen.

Meine Idee wäre nun den Motor in verschiedenen Geschwindigkeiten verstellen zu können. Quasi einen + & - Schalter und ein paar LED´s in Reihe, die die eingestellte Geschwindigkeit anzeigen.
Dazu benötige ich einen MOSFET, richtig?

Die nächste Stufe wäre dann zu kontrollieren ob die 3 Hühner gefallen sind. Für einen Schalter wären die Coins zu leicht, denke ich. Daher evtl. eine Lichtschranke? (Natürlich am Ende, wenn das 3. Huhn gefallen ist, sonst müsste ich mitzählen und das halte ich für zu fehleranfällig)
Dann stellt der Motor automatisch ab um die Hühner wieder auffüllen zu können. (trinken inbegriffen :wink: )
Schön wären dann natürlich ein paar nett blinkende LED´s und optional ein bisschen Sound. (Nur was einfaches. Wie ein PC Speaker z.B.)

Weitere Ideen wären dann ein Display um auszuwerten wer wie viel getrunken hat, usw.

Idealer Weise sollte ich mir die Möglichkeit offen halten, später auf 8 Spieler "upgraden" zu können.

Was haltet Ihr von so einer Projektidee? Ist die für einen Anfänger realisierbar? Programmieren kann ich. Löten sollte ebenfalls klappen. Nur die Schaltungen machen mir noch etwas Sorgen. Dazu habe ich aber einige Elektriker an der Hand die mich sicherlich gerne unterstützen.

Gruß,
Thomas

Damit man sich vorstellen kann worum es geht:

Die "Hühner" sind in diesem Beispiel leider alle schon heruntergefallen. Am Anfang der höher gelegenen Schiene ist eine Aussparung, wo das Huhn runterfällt, wenn das Flugzeug dagegen stößt.

Unter http://www.loopinglouie.de/ kann man sich ein paar Videos und Modifikationen ansehen.

Denke, das ist realisierbar, auch als "halbanfänger".

Mir fäll dazu noch "Hall-Sensor" statt Lichtschranke ein. Nen Minimagnet aufs letzte Huhn, und jeweils nen Sensor in den "Hinfall-bereich".

Also, die Motorgeschwindigkeit sollte kein Problem darstellen. Über PWM nen Motor über einen Transistor ansteuern (Freilaufdiobe dazu). Schalter +/-/random/random-geschwindigkeitwechsel während einer Runde.... wären Software-Dinge die mir noch einfielen.

Schaltungen sollten auch klappen, sobald du dir was gebaut hast, die Leute hier mit Fotos deiner Arbeit glücklich machst, dann werden sie dir auch viel helfen.

Display ansteuern ist auch keine Magie. Wirst zwar hören: Such hier im Forum... aber sobald du feine Fotos fertigst, sind eh genug hilfsbereit. :smiley:

Alles klar!
Vielen Dank für dein Feedback, Pumbaa.

Die Idee mit Random hatte ich auch schon, das ist sicherlich eine tolle Sache :slight_smile:

Im Moment bin ich gerade dabei meinen Warenkorb zusammen zu stellen. Nur frage ich mich immer noch womit ich am einfachsten die Hühner prüfe. Zu fortgeschrittener Stunde wird sicherlich die Reihenfolge mit den Hühnerchips nicht mehr eingehalten :-/

Wenn ich mir dann den Dremel und den Lötkolben geschnappt habe, werde ich das ganze dokumentieren und auch hier posten. Kann sich nur noch um Wochen handeln bis ich alles zusammen habe :wink:

Du könntest das ganze auch abstrakter machen. Louie berührt nen Kontakt/Schalter.Und der Arduino zählts....

Aber würde irgendwie den Reiz vernichten.

Lichtschranke ist mindestens genauso einfach wie ein Hall Sensor und braucht keinen Magnet.

Die Sache mit dem Display würde ich erst angehen wenn der Rest klappt. Als Anfänger hast Du damit genug zu tun. Immer erst einen Schritt machen und wenn der klappt zum nächsten übergehen. Auf keinen Fall 5 Baustellen aufmachen und keine zu.

Udo

Als Lichtschranke nimmt vorzugsweise sowas:

http://www.rn-wissen.de/index.php/Gabellichtschranke

Udo

Hallo Udo,

danke für den Tipp. Mein Warenkorb ist gerade um 4Stck angewachsen :slight_smile:

Eine Sache habe ich aber immer noch nicht so ganz verstanden. Da diese Spiel bereits einen Batteriebetriebenen Motor mit sich bringt, benötige ich doch nur einen einstellbaren Wiederstand um die Geschwindigkeit zu verändern. Da fehlt mir noch das richtige Teil. Was ich im Internet so gefunden habe ist alles für Schrittmotoren. Aber einen "Schritt" benötige ich ja garnicht, sondern An/Aus und Schneller/Langsamer.

Gruß
Thomas

Gucke dir "Pulsweitenmodulation" an. Ich denke das wird deine Fragen klären. Der arduino steuert sozusagen nen Schalter (Transistor) damit.
Schaltet maximal (gesteuert von Arduino) 500x pro sek an/aus.
Wenn 300x an und 200x aus =>60% leistung (geschwindigkeit)
wenn 100x an und 400x aus => 20% leistung. usw.

Mit dem Vowissen einfach die Pulsweitenmodulation angucken.

Guten Tag zusammen,

es ist so weit! Endlich ist das Meiste angekommen und ich konnte die ersten Gehversuche mit dem Arduino starten.
Ganz Zielorientiert habe ich gleich den Loui in die ersten Tutorials mit eingebaut. Ein Button um 3 Geschwindigkeiten einzustellen und je eine LED zur Anzeige derselben.

Nun stehe ich vor 2 Problemen:
Zum einen frage ich mich immer noch wie ich die "Hühner" kontrollieren soll. Eine Lichtschranke klingt gut. Aber wohin??? (siehe Bild unten) Baue ich diese in einen gefrästen Spalt, dann könnte auch mal ein Chip daneben gehen und Loui stoppt nicht.

Das 2. Problem ist eher ne Frage nach Clean coding. Da ich bereits einen kleine Zufallsgenerator gebaut habe, stehe ich vor dem Problem, das ich mittels delay() mir den Button-Input sperre :wink:
Also einen Counter bauen, der mir die Milisekunden zählt und dann erst reagieren? Ist das nicht sehr inperformant und ne Resourcen-Verschwendung?

Hab dein Problem nicht verstanden, aber:
Aber, wenn ein delay deine "wie auch immer"-abfragen unterbricht, dann ist nen counter, der erst ab überlauf was tut schon die richtige wahl. Wenn eh nen Motor nonstop durchläuft, ist's egal ob der arduino nen paar mA verbrät.....

Ansonsten: Wo die Lichtschranke (oder sonstwas) gesetzt ist, ist ziemlich deine Sache. Was mir dazu nocheinfällt: Könntest auch gucken, ob nochn Huhn oben ist, anstatt zu prüfen, ob 3e unten sind. Dann haste dein "Huhnn ging daneben"-problem gelöst.

PWM zum geschwindigkeit-steuern läuft?

Hallo Trib

Bei der delay() -Funktion wartet der Prozessor bis die Zeit abgelaufen ist und macht nichts anderes. ALso keine abfragen von inputpin oder sonstiges. Interrupteingang funktioniert.

Normalerweise verwendet man millis() um diesen Effekt zu verhindern.
In der loop() - Funktion speichert man zuerst den aktuellen millis() - Wert und kontrolliert dann per if - Anweisung ob die Zeit die man warten will verstrichen ist. Gadurch ist es möglich Eingänge abzufragen.
siehe http://arduino.cc/en/Tutorial/BlinkWithoutDelay
Grüße Uwe

Hallo Pumbaa,
der PWM läuft super! Die Spannung vom Arduino ist per Netzteil mehr als ausreichend. Irgendwie hab ich im Vorhinein zu sehr um die Ecke gedacht :wink:
Die Lichtschranke nach oben zu verfrachten halte ich ebenfalls für die Beste Idee. Dann ist sie nur deutlich zu sehen. Die Kabel wohl auch :-/

Hi uwefed,
so in etwa hatte ich mir das vorgestellt. Man muss eben nur die passende Funktion kennen :slight_smile:

 if((btnPowerState == 1) && (milisecondsDelay < millis()))
  {    
    speed = random(1,4); //Geschwindigkeit 1-3
    milisecondsDelay = millis() + random(1000,10000);//1-10Sek warten
  }

Nun heißt es auf Teile warten. Der Rest funktioniert schon wunderbar. Durch Zufall habe ich noch ein Soundmodul aus einer Stoffente gefunden. Zwar kein Huhn, aber das wäre schon der Knüller etwas Stimmung zu machen, wenn Jemand verliert!

:o)
Freut mich zu hören.
Miss aber dennoch mal nach, wieviel Strom der Motor dem Arduino zieht.
mehr als 20-40mA sollten es nicht sein, sonst ist dein PWM-Pin bald nicht mehr.

Und hast du eine Freilaufdiode am Motor? Falls nein, nachlesen was es ist. Und bis dahin nicht laufen lassen.
Nen Motor direkt über nen Pin wird nicht lange gutgehen...

EDIT: Sehe grad aufm Bild von dir, dass du wohl nen Transistor benutzt. Dennoch ne Diode nehmen!

Und falls du für dein Entenmodul nen "Knopfdrücker" brauchst, das google-stichwort ist optokoppler.

Hmm, das klingt ja nicht so toll.
Also fummel ich gerade auf dünnem Eis :o

Der Motor besitzt nur einen Thermistor und ein Kondensator. Also sollte ich mir da fix ne Freilaufdiode einlöten. Habe nur keine Ahnung was für eine. Normal sind 2 AA Batterien im Spiel.

Über den VIn-Pin gebe ich per analogWrite zwischen 30-50 aus. Das entspricht dann im Ergebnis etwa 2,8 - 3,5 Volt. Dazwischen habe ich einen MOSIrf540. Den soll ich dann durch eine Diode ersetzen? (Habe das nach einem Tutorial gebaut...)

Wahrscheinlich sollte ich mich mal mit Jemandem zusammensetzen, der Ahnung von Elektrotechnik hat., bevor ich mir das ganze Teil abfackel :smiley:

EDIT:
Achso, eigentlich wollte ich den Schalter ausbauen, das Kabel zusammenlöten und dann genau wie den Motor mit 3Volt per PWM betreiben. So spare ich mir einen Batteriesatz. Aber anscheinend sollte ich das besser lassen.

Auweia. Bin nun total verwirrt, wie das verschaltet ist. Und du gibst über Vin-Pin den analogWrite????

Mal am besten mal nen Schaltplan, wie du was verschaltet hast. Fritzing is recht einfach zum erstellen von Schaltplänen...Zur Not nimm einfach Paint.

Hallo Trib,

Habe vor ein paar Wochen IR Lichtschranken bei pollin.de bestellt und getestet. Klappt recht gut. Vorteil ist, dass Empfänger und Sender enkoppelt sind und durchaus für Abstände bis zu 4-5 cm geeignet sind,sofern gut ausgerichtet. Ausserdem recht billig :

BestellNr. : 120 592

Gruß
rrak

Hallo zusammen,

da ich die letzte Woche bei dem schönen Wetter Urlaub hatte, jetzt erst meine Antwort.

@rrak
Habe mir gleich mal ein paar Lichtschranken bestellt. Diese eignen sich besser als die U-Förmigen, hoffe ich. So hat man einfach ein paar mehr Freiheiten wenn man den Abstand etwas variieren kann.

@Pumbaa
Wie vorher schon von Dir angemerkt habe ich gleich mal ne Diode und eine Freilaufdiode für den Motor mitbestellt.
Ein Bild von der Schaltung werde ich heute Abend erstellen. Prinzipiell ist die schnell gemacht, hab ja anscheinend die Fundamentalen Grundbausteine weggelassen :-/

Vielen Dank für eure Unterstützung! Ohne Ahnung in ET steht man doch ganz schön auf dem Schlauch.

Freue mich schon darauf bald endlich los-drehmeln zu können :slight_smile:
(Ein befreundeter Schreiner hat mir schon seine Unterstützung bei dem Unterkasten angeboten)