MODE 7 — COIN THIEF

Medium · 1h · Fast kostenlos

Ziel & Anwendung

Eine automatische Münzgreif-Maschine: sobald der Ultraschall-Sensor eine Münze näher als eine Handbreit erkennt, fährt S1 als Greifarm aus, der DC-Motor zieht die Münze ein und der Arm fährt zurück, während eine Klappe den Schacht abdeckt. Vier Zustands-Phasen sorgen für präzise Koordination — kein manuelles Eingreifen nötig.

  • Vierphasige State-Machine (Idle → Ausfahren → Einziehen → Zurückfahren) implementieren.
  • Ultraschall-Distanz als automatischen Trigger (< 8 cm) für Greif-Sequenz nutzen.
  • S1-Greifarm-Bewegung mit DC-Motor-Einzug zeitlich koordinieren.

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoGreifarm — fährt aus, um die Münze zu holen
S2180°-ServoZeigt an, ob die Greif-Sequenz gerade läuft
S3180°-ServoLive-Abstandszeiger zur Münz-Ablagefläche
S4360°-ServoDreht kurz mit, während die Münze eingezogen wird
S5360°-ServoDreht gegenläufig zu S4 für einen 'Verschluck'-Effekt
S6180°-ServoKlappe deckt den Schacht ab, sobald der Arm zurückgefahren ist
STEPPERSchrittmotorZählt jede erfolgreich abgeschlossene Greif-Runde mit
DCDC-MotorZieht die Münze ins Innere

Materialliste

  • Karton-Arm ca. 10 × 3 cm als Greifarm für S1
  • Kleines Karton-Schacht-Gehäuse ca. 12 × 8 cm als Münz-Einwurf
  • Rutsche oder Trichter aus Karton für Münz-Führung
  • Klebeband und Heißkleber

Step-by-Step Tutorial

  1. Münz-Schacht und Greifarm aufbauen

    Karton-Schacht (12 × 8 cm) als Einwurf. S1 mit Greifarm-Karton (10 × 3 cm) auf Horn. Arm bei 1000 µs: eingezogen. Arm bei 2000 µs: ausgefahren über Münz-Position. DC-Motor als Einzug-Motor hinter Schacht. Ultraschall-Sensor zeigt auf Münz-Ablagefläche.

    Check: S1-Arm kann von 1000 µs (eingezogen) auf 2000 µs (ausgefahren) bewegen. Münze liegt im Sensor-Bereich.

    Tipp: Arm maximal 10 cm lang — längerer Arm überschreitet Servo-Drehmoment. Karton-Arm auf Plastik-Horn von S1 kleben, flächig und mittig.

  2. Vier-Phasen Ablauf verstehen

    Phase 0 (Bereit): wartet auf ein Objekt näher als eine Handbreit. Phase 1: der Arm fährt aus, nach kurzer Zeit geht es automatisch weiter zu Phase 2. Phase 2: der DC-Motor zieht die Münze eine knappe Sekunde lang ein — S4/S5 drehen dabei kurz mit für den Effekt. Phase 3: der Arm fährt zurück, S6 deckt den Schacht ab, danach wieder Phase 0 und der Stepper zählt die abgeschlossene Runde.

    Check: Phase 0=Bereit. Phase 1=Arm fährt aus (gut ein Drittel Sekunde). Phase 2=DC zieht ein (gut eine halbe Sekunde). Phase 3=Arm fährt zurück.

    Tipp: Die Phasen wechseln rein zeitgesteuert weiter — nicht erst wenn der Arm seine Position wirklich erreicht hat. Zu langsame Servos geraten so leicht aus dem Takt.

  3. Distanz-Trigger kalibrieren

    Ultraschall-Sensor auf Münz-Ablagefläche ausrichten: Münze ablegen → S3-Zeiger zeigt nahen Abstand. Ohne Münze: S3 zeigt deutlich mehr Abstand. Sensor-Höhe: Münze auf Ablagefläche muss genau im Messbereich liegen.

    Check: Münze auf Sensor-Abstand von einer Handbreit: Phase 1 startet. Ohne Münze: Phase 0 bleibt.

    Tipp: Der Schwellwert ist auf Münzgröße abgestimmt. Sensor-Höhe so einstellen, dass die Münze verlässlich erkannt wird.

  4. Leichtgängigkeits-Test ohne Strom

    S1 von Hand auf 2000 µs: Arm reicht bis über Münzposition? Auf 1000: Arm vollständig eingezogen? S6-Klappe von Hand: deckt Schacht sauber ab? DC-Motor von Hand drehen: frei? Schacht-Durchgang prüfen: Münze kann ungehindert in Schacht rutschen? Erst dann einschalten.

    Check: S1-Arm fährt frei von 1000 auf 2000 und zurück. DC-Motor frei. Keine Blockade im Schacht.

    Tipp: Arm bei 2000 µs: Greifarm-Position genau über Münz-Ablagefläche? Wenn nicht: Servo-Horn-Position anpassen (Horn abschrauben, um eine Raste drehen, wieder festschrauben).

  5. MODE 7 aktivieren — Münzdieb testen

    Safe-Einbruch → MODE 7. Münze auf Ablagefläche legen: Ultraschall erkennt sie. Arm fährt aus, S4/S5 drehen kurz mit. DC-Motor zieht die Münze in den Schacht. Arm fährt zurück, S6-Klappe schließt den Schacht, der Stepper zählt eine Runde weiter. Bereit für nächste Münze. Spardose anschließen!

    Check: Münze ablegen: Arm fährt aus, DC zieht ein, Arm zurück, Klappe deckt ab. Dann bereit für nächste Münze.

    Tipp: Test mit 1€-Münze auf Ablagefläche. Arm sollte innerhalb einer Sekunde nach Erkennung ausfahren.

  6. Timing und Münz-Einzug optimieren

    Wenn Münzen herausrutschen: Rutsche steiler gestalten (30° Neigung) — Schwerkraft hilft nach. Ein kleiner Karton-Stößel am DC-Motor-Rad verbessert den Einzug zusätzlich.

    Check: Die Einzug-Phase ist lang genug, dass die Münze sicher eingezogen wird.

    Tipp: Wenn die Münze nicht sicher eingezogen wird, die Einzug-Zeit im Code etwas verlängern.

Troubleshooting

  • Arm bleibt in Phase 1 stecken — wechselt nicht zu Phase 2 — Der Wechsel erfolgt rein zeitgesteuert, nicht erst wenn der Arm seine Position erreicht hat. Wenn der Arm mechanisch blockiert ist, fährt der Motor trotzdem nach der festen Zeit weiter — Blockade prüfen: Arm bei 2000 µs frei beweglich?
  • Münze wird nicht eingezogen — DC dreht aber Münze bleibt — DC-Motor hat keine direkte Greifwirkung — muss Münze mechanisch schieben oder über Rutsche leiten. Münz-Rutsche steiler gestalten (Schwerkraft hilft). Oder kleinen Karton-Stößel am DC-Motor-Rad befestigen.

Modifikationen & Sicherheit

  • Pro-Tipp: Münz-Zähler implementieren: jede erfolgreich eingezogene Münze → Display zeigt Gesamtwert.
  • Erweiterung: Verschiedene Münzgrößen per Distanz unterscheiden (2€=2cm, 1€=2,3cm) und separat zählen.
  • Sicherheit: Greifarm nicht bei blockiertem Schacht laufen lassen — Servo überhitzt bei Dauerlast.

Wichtige Code-Teile

// Vier-Phasen State-Machine (rein zeitgesteuert)
bool coinDetected = (distanceCM > 0 && distanceCM < 8) && coinStep == 0;
if(coinDetected) { coinStep = 1; coinTimer6 = millis(); }
switch(coinStep) {
    case 0: servocontroller.setServoPulse(1, 1000); setMotorspeed(0); break;
    case 1:  // Arm ausfahren
        if(!ismoving[1]) servocontroller.startMove(1, 2000, 300);
        if(millis() - coinTimer6 > 400) { coinStep = 2; coinTimer6 = millis(); }
        break;
    case 2:  // DC zieht Münze ein
        setMotorspeed(80);
        if(millis() - coinTimer6 > 600) { coinStep = 3; coinTimer6 = millis(); }
        break;
    case 3:  // Arm zurückfahren
        setMotorspeed(0);
        if(!ismoving[1]) servocontroller.startMove(1, 1000, 400);
        if(millis() - coinTimer6 > 600) coinStep = 0;
        break;
}
servocontroller.setServoPulse(2, coinStep > 0 ? 2000 : 1000);  // S2: Sequenz aktiv
servocontroller.setServoPulse(3, mapDistanceCMshort);            // S3: Live-Distanz
servocontroller.setServoPulse(6, (coinStep==3) ? 2000 : (coinStep==0) ? 1000 : 1500);  // S6: Klappe
if(coinStep == 0 && lastCoinStep == 3) stepper.move(10);  // Zähler pro abgeschlossener Runde

Ähnliche Projekte

  • MODE 3 — SAFE COMBO — Ein echtes Kombinationsschloss aus Encoder und drei Ziffern: nur wenn alle drei Encoder-Werte exakt die geheime Kombination treffen (z.B. 5, -3, 7), öffnet S3 den Servo-Riegel. touch1 bestätigt jede Ziffer, touch2 setzt alles zurück — präzises Knacken wie bei einem echten Tresor.
  • MODE 9 — SPOTLIGHT — Ein rotierender Überwachungs-Scheinwerfer: Stepper dreht in 45°-Sektoren von Sektor zu Sektor, S2 zeigt die aktuelle Scan-Phase und S3 den LDR-Helligkeitswert. Sobald der PIR-Sensor Bewegung erkennt, bleibt der Stepper für 3 Sekunden auf der Alarm-Position fixiert — SHORT_BLINK warnt.
  • MODE 1 — LASER TRAP — Eine echte Lichtschranke aus Laser-Pointer und LDR: sobald der Laserstrahl unterbrochen wird, schlägt der Alarm an — S1 hebt die Alarm-Fahne, S2 verriegelt einen Servo-Riegel, der Stepper dreht die Alarm-Fläche und der DC-Motor surrt. Perfekt als Diebstahlsicherung für die Schreibtischschublade oder als Einbruch-Spielzeug.