📚 Das Code-Grundgerüst – Dein Einstieg in die Programmierung

Stell dir vor: Du willst ein Haus bauen. Bevor du anfangen kannst, brauchst du:

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()
💡 Tipp:
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?

💡 Bibliothek = Sammlung von fertigen Code-Bausteinen
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?

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:

🤔 Klasse vs. Instanz – Was ist der Unterschied?
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:

⚠️ Ohne 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

🎯

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.

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

0/4

Punkte verstanden