Zum Inhalt springen
BetaEN
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

AnschlussWofür er gedacht ist
M1 – M4Motorausgänge für XS-Motoren (mit Encoder)
O1 – O8einfache Ausgänge für Lampen und LEDs
I1 – I8Eingänge für Sensoren und Taster
C1 – C4Zä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

Ohne Hinweise gelöst gibt es einen ⭐ auf deiner Fortschrittsseite.

Lösung anzeigen

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)