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.

💡 Wichtig:
Jeder Code in main.py wird beim Einschalten des Alvik automatisch ausgeführt – ohne USB-Verbindung!

Voraussetzungen

Bevor du startest, stelle sicher, dass:

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.

Thonny Dateien-Browser

Schritt 2: main.py finden und öffnen

Im Dateien-Browser siehst du zwei Bereiche:

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()
Warum sleep_ms(2000)?
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:

Schritt 6: Kabel trennen und testen

  1. Schalte den Alvik aus (Schalter auf "OFF")
  2. Trenne das USB-Kabel
  3. Stelle den Alvik auf eine freie Fläche
  4. Schalte den Alvik ein (Schalter auf "ON")
  5. ⏱️ 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:

  1. Bootvorgang: MicroPython startet (~1 Sekunde)
  2. main.py ausführen: Dein gespeichertes Programm wird automatisch gestartet
  3. Code läuft: Der Alvik führt alle Befehle in der Reihenfolge aus
  4. 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

Sicherheit

Debugging ohne Kabel

Programme ohne USB-Verbindung zu debuggen ist schwieriger. Hier sind hilfreiche Strategien:

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:

  1. Verbinde den Alvik mit USB
  2. Öffne main.py in Thonny
  3. Entferne das # vor import demo
  4. Lösche deinen eigenen Code
  5. Speichere auf "MicroPython device"
import demo

Best Practices

Zusammenfassung

Um den Alvik kabellos zu betreiben:

  1. Öffne main.py über den Dateien-Browser in Thonny
  2. Kommentiere import demo aus
  3. Füge dein Programm ein
  4. Speichere auf "MicroPython device"
  5. 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.

💡 Anforderungen:
  • 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:

0/4

Punkte verstanden