View on GitHub

ft-Controller-I2C

ROBO Pro Coding Blöcke für fischertechnik TXT 4.0 und RX Controller zur Programmierung beliebiger I²C Devices: LCD, OLED Displays, Tastaturen, Sensoren, Motoren, Joystick, GPIO, RTC, EEPROM, Relais, ...

ROBO Pro Coding I²C Blöcke von fischertechnik GitLab: ft_Controller_I2C
I²C Module | I²C Hardware, Software | I²C Quellcodedateien, Blöcke
I²C Programmierbeispiele im Überblick

qwiicopenlog_rtc (Dateien lesen und protokollieren auf Speicherkarte)

In das I²C Modul ‘SparkFun Qwiic OpenLog’ wird eine microSD card 64MB .. 32GB, FAT16 oder FAT32 gesteckt. Im Beispiel log_konsole wird die Anwendung der Blöcke in qwiicopenlog mit Ausgabe in die Konsole demonstriert. Beispiel log_copy kopiert eine Datei.
Das Beispiel log_time zeigt den eigentlichen Zweck des Moduls, in eine Datei zu protokollieren.

Vor allem für den RX Controller ist das interessant, weil der weder Speicherkarte noch Uhr integriert hat. Allerdings wird beim Lesen und Kopieren von Dateien viel Speicher gebraucht, der beim RX Controller nicht immer ausreicht. Manchmal wird in der Konsole ein Memory Allocation Error angezeigt. Oft hängt er einfach und muss aus und ein geschaltet werden. Für kleine Dateien und zum protokollieren in eine Datei funktioniert das aber gut.

Block log_konsole (filename1)

Ausgabe in Konsole:

init_i2c_factory
SD Card Status: 0b11101
[‘ASCII.TXT’, ‘REMOVE08.TXT’, ‘UMLAUTE.TXT’, ‘UTF8BOM.TXT’, ‘ASCII2.TXT’, ‘LOG00002.TXT’, ‘LOG00003.TXT’, ‘LOG00004.TXT’]
ASCII.TXT Länge Datei: 108
REMOVE08.TXT Länge Datei: 99
UMLAUTE.TXT Länge Datei: 31
UTF8BOM.TXT Länge Datei: 19
ASCII2.TXT Länge Datei: 108
LOG00002.TXT Länge Datei: 0
LOG00003.TXT Länge Datei: 0
LOG00004.TXT Länge Datei: 0

ASCII.TXT Länge Datei: 108
ASCII.TXT Länge Bytes: 108
ASCII.TXT Länge Text decode_latin: 108
!”#$%&’()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvwxyz{|}~

Die folgenden Blöcke können auch ohne Verbindung zur App ROBO Pro Coding benutzt werden. Dann wird nur nichts in der Konsole angezeigt.

Block log_copy (filename1, filename2, size)

Block log_time (text, new_line)


Zum Vergrößern auf das Bild klicken.


Beim RX Controller muss I²C beim Programmstart initialisiert werden.