Alvik ohne Kabel betreiben – Autonomer Betrieb
Der Alvik will von der Leine gelassen werden und sich frei bewegen – das ist doch klar! 🤖 Während die USB-Verbindung ideal zum Entwickeln und Testen ist, zeigt sich die wahre Stärke des Alvik erst im kabellosen Betrieb. In diesem Tutorial lernst du, wie du Programme dauerhaft auf dem Alvik speicherst, sodass er beim Einschalten automatisch startet.
Was ist main.py und warum ist sie wichtig?
Die Datei main.py ist das Autostart-Programm des Alvik. Sobald du den Roboter einschaltest, führt er automatisch den Code aus, der in dieser Datei gespeichert ist. Das ist vergleichbar mit einer App auf deinem Smartphone, die beim Start automatisch läuft.
Jeder Code in
main.py wird beim Einschalten des Alvik automatisch ausgeführt – ohne USB-Verbindung!
Voraussetzungen
Bevor du startest, stelle sicher, dass:
- ✅ Der Alvik via USB mit deinem Computer verbunden ist
- ✅ Thonny IDE geöffnet und mit dem Alvik verbunden ist
- ✅ Die Batterien im Alvik geladen sind (mindestens 50%)
- ✅ Du das Alvik Grundgerüst kennst
Schritt-für-Schritt Anleitung
Schritt 1: Dateien-Browser öffnen
Klicke in Thonny auf das Ordnersymbol 📂 in der Toolbar. Dadurch öffnet sich der Dateien-Browser, der die Dateien auf dem Alvik anzeigt.
Schritt 2: main.py finden und öffnen
Im Dateien-Browser siehst du zwei Bereiche:
- Oben: Dateien auf deinem Computer
- Unten: "MicroPython device" – Dateien auf dem Alvik
Navigiere zum Bereich "MicroPython device" und mache einen Doppelklick auf main.py. Die Datei wird im Editor geöffnet.
Schritt 3: Standard-Demo deaktivieren
In der frisch geöffneten main.py steht standardmäßig nur eine Zeile:
import demo
Diese Zeile startet die Arduino-Demo beim Einschalten. Wir wollen aber unser eigenes Programm ausführen, daher kommentieren wir diese Zeile aus (mit einem # am Anfang):
#import demo
Schritt 4: Eigenen Code einfügen
Füge nun dein eigenes Programm unter der auskommentierten Zeile ein. Für einen ersten Test verwenden wir ein einfaches Beispiel, das den Alvik 10 cm vorwärts fahren lässt:
#import demo
from arduino_alvik import ArduinoAlvik
from time import sleep_ms
alvik = ArduinoAlvik()
alvik.begin()
# Warte kurz nach dem Einschalten
sleep_ms(2000)
# Fahre 10 cm vorwärts
alvik.move(10)
# Stoppe alle Motoren
alvik.stop()
Die 2-Sekunden-Pause gibt dir Zeit, den Alvik nach dem Einschalten auf den Boden zu stellen, bevor er losfährt.
Schritt 5: Code auf den Alvik übertragen
Klicke auf das Speichern-Symbol 💾 oder drücke Strg + S (Windows/Linux) bzw. Cmd + S (Mac).
Wichtig: Thonny fragt dich, wo du speichern möchtest:
- ❌ Dieser Computer – Speichert nur lokal
- ✅ MicroPython device – Speichert auf dem Alvik (wähle diese Option!)
Schritt 6: Kabel trennen und testen
- Schalte den Alvik aus (Schalter auf "OFF")
- Trenne das USB-Kabel
- Stelle den Alvik auf eine freie Fläche
- Schalte den Alvik ein (Schalter auf "ON")
- ⏱️ Nach 2 Sekunden sollte der Alvik 10 cm vorwärts fahren und stoppen
Was passiert beim Einschalten?
Wenn du den Alvik einschaltest, läuft folgender Ablauf ab:
- Bootvorgang: MicroPython startet (~1 Sekunde)
- main.py ausführen: Dein gespeichertes Programm wird automatisch gestartet
- Code läuft: Der Alvik führt alle Befehle in der Reihenfolge aus
- Programm endet: Nach dem letzten Befehl stoppt das Programm
Beispielprogramme für kabellosen Betrieb
Beispiel 1: Einfaches Viereck
#import demo
from arduino_alvik import ArduinoAlvik
from time import sleep
alvik = ArduinoAlvik()
alvik.begin()
# Startpause
sleep(2)
# Viereck fahren
for i in range(4):
alvik.move(30)
alvik.rotate(90)
sleep(0.5)
alvik.stop()
Beispiel 2: Kollisionsvermeidung
#import demo
from arduino_alvik import ArduinoAlvik
from time import sleep_ms
alvik = ArduinoAlvik()
alvik.begin()
distance_threshold = 15 # Mindestabstand in cm
while True:
distance_l, distance_cl, distance_c, distance_r, distance_cr = alvik.get_distance()
if distance_c < distance_threshold:
alvik.set_wheels_speed(0, 0)
alvik.rotate(45)
else:
alvik.set_wheels_speed(50, 50)
sleep_ms(100)
Beispiel 3: Mit Touch-Button starten
#import demo
from arduino_alvik import ArduinoAlvik
from time import sleep
alvik = ArduinoAlvik()
alvik.begin()
# Warte auf Tastendruck
print("Warte auf mittleren Touch-Button...")
while not alvik.get_touch_center():
sleep(0.1)
print("Start!")
# Programm läuft jetzt
for i in range(4):
alvik.move(20)
alvik.rotate(90)
sleep(0.5)
alvik.stop()
Wichtige Tipps für kabellosen Betrieb
Batterie-Management
- Vor dem Test laden: Lade die Batterien vollständig auf
- Batteriestand prüfen: Schwache Batterien führen zu unvorhersehbarem Verhalten
- Ersatzbatterien: Halte geladene Ersatzbatterien bereit
Sicherheit
- Freie Fläche: Teste auf einer großen, hindernisfreien Fläche
- Startpause: Immer
sleep(2)am Anfang für sicheres Platzieren - Notfall-Stop: Lerne, wo der Ein-/Aus-Schalter ist
- Tischkante: Achte darauf, dass der Alvik nicht vom Tisch fällt
Debugging ohne Kabel
Programme ohne USB-Verbindung zu debuggen ist schwieriger. Hier sind hilfreiche Strategien:
- LED-Signale: Nutze die eingebauten LEDs als Status-Anzeige
- Töne: Verwende Pieptöne zur Fehlersuche
- Schrittweise testen: Teste jede Funktion einzeln mit Kabel, bevor du kabellos testest
- Log-Datei: Schreibe Debug-Infos in eine Datei auf dem Alvik
Problembehebung
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| Alvik startet nicht | Batterien leer | Batterien laden oder austauschen |
| Programm läuft nicht | main.py nicht gespeichert | Auf "MicroPython device" speichern |
| Alvik fährt sofort los | Keine Startpause | sleep(2) am Anfang einfügen |
| Fehler beim Speichern | USB-Verbindung unterbrochen | USB-Kabel prüfen, neu verbinden |
| Demo läuft weiter | import demo nicht auskommentiert |
# vor import demo setzen |
Zurück zur Standard-Demo
Wenn du zur originalen Arduino-Demo zurückkehren möchtest:
- Verbinde den Alvik mit USB
- Öffne
main.pyin Thonny - Entferne das
#vorimport demo - Lösche deinen eigenen Code
- Speichere auf "MicroPython device"
import demo
Best Practices
- Immer mit Kabel testen: Entwickle und teste mit USB-Verbindung, bevor du kabellos testest
- Backup erstellen: Speichere eine Kopie deiner main.py auf dem Computer
- Kommentare nutzen: Dokumentiere deinen Code für spätere Änderungen
- Klein anfangen: Teste einfache Programme zuerst, dann steigere die Komplexität
- Versionskontrolle: Nummeriere verschiedene Versionen (z.B. main_v1.py, main_v2.py)
Zusammenfassung
Um den Alvik kabellos zu betreiben:
- Öffne
main.pyüber den Dateien-Browser in Thonny - Kommentiere
import demoaus - Füge dein Programm ein
- Speichere auf "MicroPython device"
- Trenne USB, schalte ein und beobachte! 🚀
Jetzt ist dein Alvik bereit, die Welt zu erkunden – ganz ohne Kabel!
Challenge: Autonomer Batteriebetrieb
Programmiere deinen ersten kabellosen Alvik!
🧠 Wissens-Check
1. Was macht die Datei main.py auf dem Alvik?
2. Warum sollte man sleep() am Anfang des Programms nutzen?
3. Wo muss man main.py speichern, damit sie beim Einschalten läuft?
💻 Programmier-Challenge
📝 30-Sekunden-Routine ohne Kabel
Erstelle ein Programm, das automatisch beim Einschalten startet und eine 30-Sekunden-Routine ausführt.
- 5-Sekunden-Verzögerung am Programmstart
- Kombiniere Bewegungen und LED-Signale
- Speichere das Programm in main.py
- Teste ohne USB-Kabel
✅ Selbsttest: Das kann ich jetzt!
Hake ab, was du verstanden hast:
Punkte verstanden