Lektion 1 von 5Robotik mit fischertechnik
Robotik mit fischertechnik · Lektion 1 · 25 Minuten
Der TXT 4.0 und ftrobopy
Das lernst du
- Die Anschlüsse M, O, I und C des TXT 4.0 kennen
- Mit ftrobopy eine Verbindung zum TXT aufbauen
- Rückmeldungen mit
print()und einer Lampe geben
Der Code in dieser Lektion stammt aus dem Buch „Python für Roboter“, Kapitel 3.1, und läuft hier unverändert im Simulator. Zum Buch bei Amazon ↗
Der Controller für deine Fischertechnik-Modelle
Der TXT 4.0 von fischertechnik ist ein kleiner Computer mit Akku, WLAN, Touch-Display und vielen Anschlüssen. Er ist für größere, kräftigere Modelle gedacht – Förderbänder, Ampeln oder Sortiermaschinen.
Programmiert wird er hier mit ftrobopy. Das ist echtes Python, ganz ohne Blöcke. Im Browser läuft ein simulierter TXT: Unter jedem Programm siehst du ein Schaltpult mit Motoren, Lampen und Tastern.
Die Anschlüsse
| Anschluss | Wofür er gedacht ist |
|---|---|
| M1 – M4 | Motorausgänge für XS-Motoren (mit Encoder) |
| O1 – O8 | einfache Ausgänge für Lampen und LEDs |
| I1 – I8 | Eingänge für Sensoren und Taster |
| C1 – C4 | Zähler-Eingänge für die Encoder-Impulse |
Gezählt wird wie auf dem Gehäuse: M1 ist txt.motor(1), O1 ist txt.output(1), I1 ist txt.input(1). Hier fängt man also bei 1 an, nicht bei 0 wie bei Listen.
Mit dem TXT verbinden
So beginnt jedes ftrobopy-Programm aus dem Buch:
# ftrobopy verbindet unser Python-Programm mit dem TXT 4.0 Controller.
import ftrobopy
# Verbindung aufbauen ("localhost" wenn das Programm direkt auf dem TXT
# laeuft, sonst die IP-Adresse des TXT im WLAN)
txt = ftrobopy.ftrobopy("localhost", 65000)
print("Verbindung zum TXT 4.0 steht!")Auf dem echten TXT ist "localhost" richtig, wenn das Programm direkt auf dem Controller läuft. Läuft es auf deinem Computer, steht dort die IP-Adresse des TXT im WLAN. Im Browser ist beides egal – es gibt nur den simulierten TXT.
Rückmeldung ohne Bildschirm: ftrobopy kann nichts auf das Display des TXT schreiben. Du siehst Meldungen deshalb mit
print()in der Konsole. Oder du nimmst eine Lampe an einem O-Ausgang als Signal. Genau das übst du in der Aufgabe.
Deine Aufgabe
Jetzt bist du dran
Übung 3.1 aus dem Buch: Schreib einen Verbindungs-Check. Nach dem Verbindungsaufbau gibt das Programm Verbindung erfolgreich mit print() aus. Danach schaltet es die Lampe an O1 für eine Sekunde ein (setLevel(512), sleep(1), setLevel(0)).
import ftrobopy
from time import sleep
txt = ftrobopy.ftrobopy("localhost", 65000)
# Meldung ausgeben
# Lampe an O1 eine Sekunde lang einschalten- Denkanstoß
print("Verbindung erfolgreich") - Welcher Befehl hilft?
lampe
=txt.output(1), dannlampe.setLevel(512),sleep(1)undlampe.setLevel(0). - Lückencode – ergänze die ___
import ftrobopy from time import sleep txt = ftrobopy.ftrobopy("localhost", 65000) print(___) lampe = ___ lampe.setLevel(___) sleep(___) lampe.setLevel(___)
Ohne Hinweise gelöst gibt es einen ⭐ auf deiner Fortschrittsseite.
Lösung anzeigen🔒 Erst nach allen Hinweisen oder 2 Prüf-Versuchen
Versuch es erst selbst – aus Fehlern lernt man am meisten. Hier ist eine mögliche Lösung:
import ftrobopy
from time import sleep
txt = ftrobopy.ftrobopy("localhost", 65000)
print("Verbindung erfolgreich")
lampe = txt.output(1)
lampe.setLevel(512)
sleep(1)
lampe.setLevel(0)