Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
embedded_systems:experimentiersystem:vl53l0x-tof-sensor [2024-04-18 08:46] Urs Grafembedded_systems:experimentiersystem:vl53l0x-tof-sensor [2024-04-19 13:25] (aktuell) Moritz Lammerich
Zeile 10: Zeile 10:
 | MIO10    | SCL              | | MIO10    | SCL              |
 | MIO11   | SDA              | | MIO11   | SDA              |
 +| <FlinkGPIO channel> | XSHUT |
 | 3.3V    | Vcc | | 3.3V    | Vcc |
 | GND         | GND              | | GND         | GND              |
 +
 +==== Python Code ====
 +
 +Die Sensoren können mit Hilfe des ''vl53l0x_helper'' Treibers im [[ https://gitlab.ost.ch/tech/inf/teaching/sysp/software/python-scripts/driver | driver ]] Repository initialisiert werden.
 +
 +Der XSHUT Pin jedes VL53L0X Sensor benötigt einen eigenen ''FlinkGPIO'' Kanal.
 +Die Pins/Kanäle sind ''init_vl53l0x'' als Liste von ''int''s (Ganzzahlen) zu übergenen. Die Anzahl Sensoren leitet sich aus der Anzahl an GPIO Kanälen ab, mit denen ''init_vl53l0x'' aufgerufen wird. ''init_vl53l0x'' gibt die initialisierten Sensoren als Liste zurück. Das Aufrufen von ''get_distance()'' auf einem Listenelement liefert den aktuellen Messwert des entsprechenden Sensors.
 +
 +Beispiel: ''sensors = init_vl53l0x([0, 1])'' initialisiert 2 Sensoren. ''sensors[0]'' verwendet ''FlinkGPIO'' Kanal 0 und ''sensors[1]'' verwendet ''FlinkGPIO'' Kanal 1. ''sensors[0].get_distance()'' liefert den aktuellen Messwert des ersten Sensors (GPIO 0), während ''sensors[1].get_distance()'' den Messwert des 2. Sensors (GPIO 1) zurück gibt.
 +
 +Komplettes Beispiel:
 +<code python>
 +from vl53l0x_helper import init_vl53l0x
 +
 +# initialize 2 ToF sensors conected to FlinkGPIO channels 0 and 1
 +tofs = init_vl53l0x([0, 1])
 +
 +# print measurements
 +for _ in range(1, 11):
 +    # combine all measurements into 1 string to print everything on one line
 +    line = " ".join(["% d" % tof.get_distance() for tof in tofs])
 +    print("distance %s" % line)
 +
 +</code>
  
 ===== Verwendung mit Deep auf dem MPC555 / Zynq7000 ===== ===== Verwendung mit Deep auf dem MPC555 / Zynq7000 =====