Alvik auf Tastendruck fahren – Interaktive Steuerung
Der Arduino Alvik verfügt über drei kapazitive Touch-Buttons (links, mitte, rechts), die berührungsempfindlich sind und ohne mechanischen Druck funktionieren. Diese Buttons ermöglichen eine einfache Interaktion mit dem Roboter ohne zusätzliche Hardware. Mit dem Touch-Button in der Mitte kannst du den Alvik starten lassen, sobald du ihn berührst.
Die Touch-Button Funktionen
Der Alvik bietet drei Funktionen zum Auslesen der Touch-Buttons:
get_touch_left()– Linker Touch-Buttonget_touch_center()– Mittlerer Touch-Buttonget_touch_right()– Rechter Touch-Button
Alle drei Funktionen geben True zurück, wenn der entsprechende Button berührt wird, andernfalls False.
Beispiel: Fahren auf Tastendruck
In diesem Beispiel wartet der Alvik in einer Endlosschleife auf eine Berührung des mittleren Touch-Buttons. Sobald dieser gedrückt wird, fährt der Roboter 20 cm vorwärts. Nach einer Sekunde Pause prüft er erneut, ob der Button gedrückt wurde.
Code-Beispiel
from arduino_alvik import ArduinoAlvik
import time
alvik = ArduinoAlvik()
alvik.begin()
while True:
# Touch-Button Status abfragen
touch_center = alvik.get_touch_center()
# Wenn Button gedrückt: 20 cm vorwärts fahren
if touch_center:
alvik.move(20)
# Kurze Pause, um nicht zu oft zu prüfen
time.sleep(1)
Wie funktioniert der Code?
- Initialisierung: Der Alvik wird initialisiert mit
alvik.begin() - Endlosschleife:
while True:sorgt dafür, dass der Code kontinuierlich läuft - Button abfragen:
get_touch_center()prüft, ob der mittlere Button berührt wird - Bewegung ausführen: Bei Berührung fährt der Alvik 20 cm vorwärts
- Pause:
time.sleep(1)verhindert zu schnelle Wiederholungen
Praktische Anwendungen
Touch-Buttons eignen sich hervorragend für:
- Manuelle Startfunktionen für autonome Programme
- Einfache Steuerung ohne zusätzliche Hardware
- Interaktive Demonstrationen und Vorführungen
- Notfallstopps oder Pausenfunktionen
Tipps & Erweiterungen
- Mehrere Buttons kombinieren: Nutze alle drei Buttons für verschiedene Bewegungen (links = links drehen, mitte = vorwärts, rechts = rechts drehen)
- Entprellung: Füge eine längere
time.sleep()Pause hinzu, um Mehrfachauslösungen zu vermeiden - LED-Feedback: Kombiniere Touch-Buttons mit LED-Signalen, um zu zeigen, dass eine Eingabe erkannt wurde
Challenge: Touch-gesteuerte Bewegung
Erstelle ein interaktives Steuersystem!
🧠 Wissens-Check
1. Wie viele Touch-Buttons hat der Arduino Alvik?
2. Was gibt get_touch_center() zurück, wenn der mittlere Button berührt wird?
3. Warum sollte man time.sleep() nach der Button-Abfrage verwenden?
💻 Programmier-Challenge
📝 Drei-Tasten-Steuerung
Programmiere eine Steuerung, bei der alle drei Touch-Buttons unterschiedliche Aktionen auslösen.
- Linker Button: Drehe 45° nach links
- Mittlerer Button: Fahre 20 cm vorwärts
- Rechter Button: Drehe 45° nach rechts
- LEDs zeigen an, welcher Button gedrückt wurde
- Nutze eine Endlosschleife mit Entprellung
✅ Selbsttest: Das kann ich jetzt!
Hake ab, was du verstanden hast:
Punkte verstanden