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
s_qwiic_distance (4 Abstands- und Nähe Sensoren, Qwiic LCD 20x4)
Angezeigt werden die Messwerte auf dem größten LCD Dispaly mit 4 Zeilen * 20 Zeichen:
Es gibt verschiedene Technologien, um ‘Distance’ zu messen.
Hier sind 4 verschiedene I²C Sensoren im Einsatz:
- SparkFun Qwiic Ultrasonic Distance Sensor - HC-SR04
- SparkFun Qwiic Proximity Sensor - 20cm, VCNL4040
- SparkFun Qwiic Distance Sensor - 4 Meter, VL53L1X
- SparkFun Qwiic Distance Sensor - 1.3 Meter, VL53L4CD.
Die beiden letzten sind Laser Sensoren mit unterschiedlicher Entfernung, aber gleicher Software und gleicher I²C-Adresse. Beide können nicht gleichzeitig benutzt werden, dafür aber einfach umgesteckt.
Der Proximity (Nähe) Sensor erkennt mit Infrarot, ob ein Objekt näher als 20cm ist. Ein Beispiel ist der Händetrockner oder Seifenspender.
Am bekanntesten ist der Ultraschallsensor, allerdings nicht mit I²C Anschluss. Dieser hat einen eigenen Prozessor und der Abstand in Millimeter muss nur noch über den I²C-Bus ausgelesen werden. Außerdem erkennt dieses Modul ein Hindernis auch schräg, oben und unten. Damit ist dieser Ultraschallsensor hervorragend geeignet, um Roboter selbst fahren zu lassen, ohne dass sie (schräg) anfahren.
Um die 3 gleichzeitig gemessenen Abstände anzuzeigen, wird das große 20x4 LCD Display eingesetzt. Für das Beispiel mit 2 Sensoren reicht auch eins der kleineren 16x2 LCD Displays. Auch hier ist die Software gleich, es muss nur umgesteckt werden.
- Quellcodedateien: i2cCode, qwiiclcd, s_qwiicinfrared, s_qwiiclaser, s_qwiicultrasonic, s_qwiic_distance
- I²C Module: LCD Display 20x4, Infrarotsensor, Ultraschallsensor und ein Laser Sensor
- Laden von fischertechnik GitLab: I2C_Abstandsensor_LCD20x4
Zum Vergrößern auf das Bild klicken.
- Zeigt die Messwerte von 3 Sensoren im Display an.
- Von den Lasersensoren (unten im Bild) kann immer nur einer angesteckt werden.
Beim RX Controller muss I²C beim Programmstart initialisiert werden.
Block qultraschall_infrarot_qlcd
- Quellcodedateien: i2cCode, qwiiclcd, s_qwiicinfrared, s_qwiicultrasonic, s_qwiic_distance
- I²C Module: LCD Display 20x4 oder 16x2, Infrarotsensor, Ultraschallsensor
- Laden von fischertechnik GitLab: I2C_Abstandsensor_LCD20x4
- Zeigt nur Ultraschall und Infrarot Sensor in 2 Zeilen an.
Block qlaser_konsole
- Quellcodedateien: i2cCode, s_qwiiclaser, s_qwiic_distance
- I²C Module: einer der beiden Laser Sensoren VL53L1X oder VL53L4CD
- Laden von fischertechnik GitLab: I2C_Abstandsensor_LCD20x4
- Kommt ganz ohne Display aus.
- Zeigt den Messwert von einem Laser Sensor fortlaufend in der Konsole an.