📚 Das Code-Grundgerüst – Dein Einstieg in die Programmierung
Stell dir vor: Du willst ein Haus bauen. Bevor du anfangen kannst, brauchst du:
- 🧰 Werkzeuge (Hammer, Säge, Bohrmaschine)
- 📋 Bauplan (wie baut man ein Haus?)
- 🏠 Dein eigenes Haus (das du nach dem Plan baust)
Genauso ist es beim Programmieren des Alvik!
🎯 Die 4 magischen Zeilen
Jedes Alvik-Programm startet mit diesen Zeilen:
from arduino_alvik import ArduinoAlvik
from time import sleep_ms
alvik = ArduinoAlvik()
alvik.begin()
Fange jedes Programm mit diesem Code-Schnipsel an!
❓ Was passiert hier eigentlich?
📦 Zeile 1: Die Werkzeugkiste holen
from arduino_alvik import ArduinoAlvik
Alltagsvergleich:
Du gehst in den Werkzeugschuppen und holst die Alvik-Werkzeugkiste raus.
Was bedeutet das?
arduino_alvik= die Bibliothek (wie ein Werkzeugschuppen voller Tools)ArduinoAlvik= die Werkzeugkiste für den Roboterimport= "hole mir diese Werkzeugkiste"
Ohne diese Zeile könntest du dem Alvik nichts befehlen – du hättest keine Werkzeuge!
⏰ Zeile 2: Die Stoppuhr holen
from time import sleep_ms
Alltagsvergleich:
Du holst dir eine Stoppuhr, um Pausen einzubauen.
Was bedeutet das?
time= die Zeit-Bibliotheksleep_ms= eine Funktion für Pausen (in Millisekunden)ms= Millisekunden (1000 ms = 1 Sekunde)
Beispiel:
sleep_ms(2000) = Warte 2 Sekunden
🏗️ Zeile 3: Deinen eigenen Roboter erschaffen
alvik = ArduinoAlvik()
Das ist der coolste Teil! Hier wird's interessant:
Alltagsvergleich:
ArduinoAlvik()= der Bauplan für einen Roboter (die Klasse)alvik= DEIN Roboter, den du nach dem Bauplan baust (die Instanz)=bedeutet: "Erschaffe!"
| Konzept | Bauplan-Metapher | Code-Begriff |
|---|---|---|
| Klasse | Bauplan für ein Auto (auf Papier) | ArduinoAlvik() |
| Instanz | Dein echtes Auto, das du fährst | alvik |
Beispiel aus dem echten Leben:
# IKEA hat einen Bauplan für einen Stuhl
# Du baust nach dem Bauplan DEINEN Stuhl
mein_stuhl = IKEA_Stuhl() # Du baust Stuhl Nr. 1
zweiter_stuhl = IKEA_Stuhl() # Du baust noch einen
# Beide Stühle sind gleich gebaut, aber es sind 2 verschiedene!
Beim Alvik:
alvik = ArduinoAlvik() # DU erschaffst DEINEN Roboter
# Jetzt kannst du mit "alvik" arbeiten!
▶️ Zeile 4: Roboter einschalten!
alvik.begin()
Alltagsvergleich:
Du drückst den Power-Knopf deines Roboters.
Was passiert:
- Der Roboter wacht auf
- Alle Sensoren werden aktiviert
- Die Motoren sind bereit
- LEDs können leuchten
alvik.begin() ist der Roboter wie im Tiefschlaf!
🔍 Zeile für Zeile erklärt
# 1. Hole die Alvik-Werkzeugkiste aus dem Schuppen
from arduino_alvik import ArduinoAlvik
# 2. Hole die Stoppuhr für Pausen
from time import sleep_ms
# 3. Erschaffe DEINEN Roboter nach dem Bauplan
alvik = ArduinoAlvik()
# 4. Schalte deinen Roboter ein
alvik.begin()
# AB JETZT kannst du Befehle geben!
alvik.left_led.set_color(1, 0, 0) # LED rot machen
❌ Was passiert OHNE das Grundgerüst?
Versuch 1: Ohne import
alvik = ArduinoAlvik() # ❌ FEHLER!
# Python weiß nicht, was "ArduinoAlvik" ist!
Fehlermeldung:
NameError: name 'ArduinoAlvik' is not defined
Versuch 2: Ohne begin()
from arduino_alvik import ArduinoAlvik
alvik = ArduinoAlvik()
# alvik.begin() # <-- VERGESSEN!
alvik.move(10) # ❌ Roboter reagiert nicht!
Der Roboter macht nichts, weil er noch "schläft"!
🎮 Jetzt du! Mini-Challenge
Finde den Fehler:
from arduino_alvik import ArduinoAlvik
roboter = ArduinoAlvik()
# Was fehlt hier?
roboter.left_led.set_color(0, 1, 0)
💡 Lösung anzeigen
Es fehlt roboter.begin() – der Roboter wurde nicht eingeschaltet!
🧩 Das Ganze im Zusammenhang
# SCHRITT 1: Werkzeuge holen
from arduino_alvik import ArduinoAlvik
from time import sleep_ms
# SCHRITT 2: Deinen Roboter erschaffen
alvik = ArduinoAlvik()
# SCHRITT 3: Roboter einschalten
alvik.begin()
# SCHRITT 4: Jetzt kannst du loslegen!
while True:
alvik.left_led.set_color(1, 0, 0) # Rot
sleep_ms(500)
alvik.left_led.set_color(0, 0, 0) # Aus
sleep_ms(500)
🤔 Häufige Fragen
Q: Warum heißt es "alvik" und nicht "roboter" oder "r2d2"?
A: Du kannst es nennen wie du willst!
roboter = ArduinoAlvik()
roboter.begin()
mein_bot = ArduinoAlvik()
mein_bot.begin()
r2d2 = ArduinoAlvik()
r2d2.begin()
Aber: Fast alle Beispiele nutzen alvik, damit es nicht verwirrend wird.
Q: Muss ich das auswendig lernen?
A: Nein! Kopiere diese 4 Zeilen einfach an den Anfang jedes Programms. Mit der Zeit wirst du sie automatisch verstehen.
Q: Kann ich mehrere Alviks gleichzeitig steuern?
A: Theoretisch ja, aber du hast wahrscheinlich nur einen 😊
alvik1 = ArduinoAlvik()
alvik1.begin()
alvik2 = ArduinoAlvik() # Zweiter Roboter
alvik2.begin()
📋 Zusammenfassung
| Zeile | Was macht sie? | Metapher |
|---|---|---|
from arduino_alvik import ArduinoAlvik |
Werkzeuge holen | Werkzeugkiste aus dem Schuppen |
from time import sleep_ms |
Stoppuhr holen | Für Pausen |
alvik = ArduinoAlvik() |
Roboter erschaffen | Nach dem Bauplan bauen |
alvik.begin() |
Roboter einschalten | Power-Knopf drücken |
🚀 Nächste Schritte
- ✅ Kopiere diese 4 Zeilen an den Anfang deines ersten Programms
- ✅ Probiere das Command Center aus
- ✅ Schau dir die API-Liste an – was kann dein Roboter alles?
Challenge: Teste dein Wissen!
Prüfe, ob du alles verstanden hast
🧠 Wissens-Check
1. Welche Zeile ist IMMER am Anfang eines Alvik-Programms?
2. Was macht alvik.begin()?
💻 Programmier-Challenge
📝 Basis-Template erstellen
Erstelle ein vollständiges Grundgerüst mit allen wichtigen Imports und initialisiere den Alvik korrekt.
- Import: arduino_alvik und time
- Erstelle eine Alvik-Instanz:
alvik = ArduinoAlvik() - Initialisiere mit
alvik.begin() - Füge einen print() für Feedback hinzu
✅ Selbsttest: Das kann ich jetzt!
Hake ab, was du verstanden hast:
Punkte verstanden