MODE 3 — PROX+ENC

Easy · 45 min · Fast kostenlos

Ziel & Anwendung

Distanz wird sichtbar: Zwei Servos zeigen Nähe- und Fernbereich des Ultraschall-Sensors an, der Stepper folgt dem Encoder-Eingang, und der DC-Alarm wird lauter je näher das Objekt kommt.

  • Ultraschall-Distanzwerte auf zwei verschiedene Servo-Bereiche mappen (Nah/Fern).
  • Encoder-Inkremente als Stepper-Steuerung verwenden.
  • Proportionale DC-Motorsteuerung nach Sensorwert umsetzen.

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoNahbereich-Zeiger (0–50 cm)
S2180°-ServoFernbereich-Zeiger (0–200 cm)
S3180°-ServoSchnapp-Klappe — schnellt bei Unterschreiten der Sicherheitsdistanz zu
S4360°-ServoDreh-Feedback — reagiert auf die Encoder-Geschwindigkeit
S5360°-ServoTrend-Anzeige — zeigt ob sich das Objekt nähert oder entfernt
S6180°-ServoFühler — tastet sich proportional zur Nähe vor
STEPPERSchrittmotorFolgt dem Encoder-Inkrement
DCDC-MotorAlarm — wird lauter, je näher das Objekt kommt

Materialliste

  • 2 Kartonzeiger ca. 6 × 1 cm für S1 und S2
  • 1 Kartonbasis zum Aufkleben der Servos
  • Optional: Distanzskala aus Papier (0–200 cm)

Step-by-Step Tutorial

  1. Zwei Distanz-Anzeigezeiger bauen

    Schneide zwei Kartonpfeile (6 × 1 cm). Schraube Servo-Horn auf S1, klebe ersten Zeiger flächig auf Horn. Wiederhole für S2. Klebe beide Servos nebeneinander auf die Basis und beschrifte: 'NAH 0–50' und 'FERN 0–200'.

    Check: S1 = Kurzbereich (0–50 cm), S2 = Langbereich (0–200 cm) — beide mit Zeiger

    Tipp: Die zwei Bereiche erlauben präzisere Anzeige: S1 zeigt Feinskalierung im Nahbereich, S2 den Gesamtbereich.

  2. Distanzskala auf Basis zeichnen

    Fahre S1 in Endstellungen und markiere 0 cm und 50 cm. Teile den Bogen in 5 gleiche Teile für 10-cm-Schritte. Gleiche Prozedur für S2 (0–200 cm).

    Check: Markierungen bei 0 cm, 25 cm, 50 cm für S1 sichtbar

    Tipp: Fahre S1 auf 1000µs (=0 cm) und 2000µs (=50 cm) und markiere die Zeigerpositionen — so entsteht eine echte Skala.

  3. Leichtgängigkeits-Test

    VOR dem Einschalten beide Zeiger von Hand durch den Bogen drehen. Erst wenn beide leicht laufen, ProtoPeaks einschalten.

    Check: Beide Zeiger drehen sich ohne Widerstand von Hand

    Tipp: Zeiger müssen leicht sein. Schwere Zeiger verursachen Überhitzung des Servo-Treibers.

  4. MODE 3 aktivieren und Distanz testen

    EasySensors → MODE 3 auswählen. Hand langsam auf 10 cm nähern: DC-Motor wird lauter, S1-Zeiger schlägt aus, Buzzer piept bei unter 10 cm. Encoder drehen: Stepper bewegt sich um Encoder-Schritte × 10.

    Check: Bei Abstand 30 cm: S1-Zeiger zeigt auf ~60% seiner Skala. Bei 100 cm: S2 auf ~50%.

    Tipp: Halte die Hand vor den Ultraschall-Sensor in verschiedenen Abständen und beobachte beide Zeiger.

  5. Encoder-Stepper-Funktion prüfen

    Encoder langsam drehen: Der Stepper dreht sich proportional. Bei zu schnellem Drehen kann der Stepper steps verpassen — langsam und gleichmäßig testen. Display zeigt aktuelle Stepper-Position an.

    Check: Je Encoder-Raste macht der Stepper 10 Steps

    Tipp: Der Stepper akkumuliert die Schritte — viele Rasting-Bewegungen hintereinander bauen sich auf.

  6. Schnapp-Klappe, Fühler und Trend-Anzeige anbringen

    Baue eine Klappe, die unter der Sicherheitsdistanz zuschnappt, einen Fühler-Zeiger, der sich proportional zur Nähe vorwagt, sowie einen kleinen Zeiger, der anzeigt, ob sich das Objekt gerade nähert oder entfernt.

    Check: Klappe, Fühler und Trend-Zeiger bewegen sich alle frei von Hand

  7. DC-Alarm-Verhalten beobachten

    Hand langsam auf den Sensor zubewegen. Ab 50 cm beginnt der DC-Motor leise zu laufen. Je näher die Hand, desto schneller dreht der Motor. Unter 10 cm: Buzzer zusätzlich aktiv.

    Check: DC-Motor wird lauter/stärker je näher die Hand am Sensor ist (5–50 cm Bereich)

    Tipp: Die Motorgeschwindigkeit ist proportional: 5 cm Abstand = 70% Speed, 50 cm = 0% Speed.

Troubleshooting

  • Distanz zeigt immer 0 oder springt wild — Ultraschall-Sensor braucht freie Sicht ohne Hindernisse seitlich. Mindestabstand 3 cm einhalten. Störende Objekte im Winkel über 15° zur Seite räumen.
  • Stepper reagiert nicht auf Encoder — Encoder muss mindestens 2 Raster-Schritte bewegt werden (Schwelle `abs(encDelta) > 1`). Langsam und deutlich drehen.
  • DC-Motor dreht dauerhaft auch bei großem Abstand — distanceCM = 0 bedeutet 'kein Echo' (Objekt zu weit). Der Code prüft `distanceCM > 0` — bei 0 sollte Motor stoppen. Sensor-Ausrichtung prüfen.

Modifikationen & Sicherheit

  • Pro-Tipp: Zeiger mit Farbverlauf (grün → rot) gestalten für intuitive Nah/Fern-Anzeige.
  • Erweiterung: Stepper mit einem Zeiger an einer langen Skala verbinden — zeigt dann die akkumulierte Encoder-Drehung als Messskala.

Wichtige Code-Teile

// S1/S2 (180°) zeigen Distanz im Nah- und Fernbereich
servocontroller.setServoPulse(1, mapDistanceCMshort);
servocontroller.setServoPulse(2, mapDistanceCMlong);
// Stepper folgt Encoder-Inkrement
float encDelta = EncoderPos - lastEnc;
if(abs(encDelta) > 1) { stepper.move((int)(encDelta * 10)); lastEnc = EncoderPos; }
// DC-Alarm proportional zur Nähe (5–50 cm)
setMotorspeed(map(constrain((int)distanceCM, 5, 50), 5, 50, 70, 0));
// Buzzer bei < 10 cm
if(distanceCM > 0 && distanceCM < 10) Buzzer.setMode(SHORT_BLINK);
else Buzzer.setValue(0);

Ähnliche Projekte

  • MODE 1 — GYRO TRACK — Drei Servos spiegeln die Lage von ProtoPeaks in Echtzeit auf allen Achsen — kippe das Board, die Zeiger folgen sofort. Bei Neigung über 45° warnt der Buzzer.
  • MODE 4 — JOYSTICK — Steuere zwei Servos direkt mit dem Joystick — mit eingebautem Deadzone-Filter für ruhige Nullstellung — und ein dritter Servo folgt automatisch dem Lichtsensor.
  • MODE 4 — OBSTACLE — Hier fährst du nicht mit, du schaust zu: Der Ultraschall-Sensor tastet wie ein Fledermaus-Radar den Weg ab, und taucht ein Hindernis auf, zeigt der Richtungsflügel erst die Fluchtrichtung an, bevor das Auto elegant daran vorbeizieht. Die Fernsteuerung bleibt dabei komplett in der Tasche — dein Auto trifft alle Entscheidungen selbst.