Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
embedded_systems:experimentiersystem:vl53l0x-tof-sensor [2019-03-22 12:01] – mlammerich | embedded_systems:experimentiersystem:vl53l0x-tof-sensor [2024-04-19 13:25] (aktuell) – Moritz Lammerich | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Der [[ https:// | Der [[ https:// | ||
- | ===== Verwendung mit dem MPC555 ===== | ||
- | Der VL53L0X kann mit dem MPC55 verwendet werden. Es wird jedoch ein zweiter Mikrocontroller zum Anschluss an diesen benötigt. Die NTB stellt eine fertige Firmware für das [[https:// | + | ===== Verwendung |
- | ==== Verdrahtung ==== | + | Der VL53L0X wird direkt an eine I2C-Schnittstelle angeschlossen. |
+ | ^ Zynq7000 ^ VL53L0X | ||
+ | | MIO10 | SCL | | ||
+ | | MIO11 | SDA | | ||
+ | | < | ||
+ | | 3.3V | Vcc | | ||
+ | | GND | GND | | ||
+ | |||
+ | ==== Python Code ==== | ||
+ | |||
+ | Die Sensoren können mit Hilfe des '' | ||
+ | |||
+ | Der XSHUT Pin jedes VL53L0X Sensor benötigt einen eigenen '' | ||
+ | Die Pins/ | ||
+ | |||
+ | Beispiel: '' | ||
+ | |||
+ | 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, | ||
+ | |||
+ | # print measurements | ||
+ | for _ in range(1, 11): | ||
+ | # combine all measurements into 1 string to print everything on one line | ||
+ | line = " " | ||
+ | print(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Verwendung mit Deep auf dem MPC555 / Zynq7000 ===== | ||
+ | |||
+ | Der VL53L0X kann mit dem MPC55 und dem Zynq7000 verwendet werden. Es wird jedoch ein zweiter Mikrocontroller zum Anschluss an diesen benötigt. Die OST stellt eine fertige Firmware für das [[https:// | ||
+ | |||
+ | ==== Verdrahtung | ||
^ MPC555 ^ STM32L432KC ^ | ^ MPC555 ^ STM32L432KC ^ | ||
Zeile 15: | Zeile 50: | ||
| PCS 2 | PB0 (D3) | | | PCS 2 | PB0 (D3) | | ||
| GND | GND | | | GND | GND | | ||
+ | |||
+ | ==== Verdrahtung Zynq7000 ==== | ||
+ | |||
+ | ^ Zynq7000 ^ STM32L432KC ^ Funktion ^ | ||
+ | | MIO 12 | PA1 (A1) | CLK | | ||
+ | | MIO 11 | PA11 (D10) | MISO | | ||
+ | | MIO 10 | PA7 (A6) | MOSI | | ||
+ | | MIO 13 | PB0 (D3) | CS | | ||
+ | | GND | GND | GND | | ||
Anmerkung: die relevanten Pins des STM32L432KC sind 5V tolerant, es sind also keine Pegelwandler nötig. | Anmerkung: die relevanten Pins des STM32L432KC sind 5V tolerant, es sind also keine Pegelwandler nötig. | ||
Zeile 20: | Zeile 64: | ||
^ STM32L432KC ^ VL53L0X | ^ STM32L432KC ^ VL53L0X | ||
| PA9 (D1) | SCL | | | PA9 (D1) | SCL | | ||
- | | PA10 (D0) | + | | PA10 (D0) |
| PA3 (A2) | XSHUT (Sensor 1) | | | PA3 (A2) | XSHUT (Sensor 1) | | ||
| PA4 (A3) | XSHUT (Sensor 2) | | | PA4 (A3) | XSHUT (Sensor 2) | | ||
Zeile 44: | Zeile 88: | ||
==== Verwendung in Deep ==== | ==== Verwendung in Deep ==== | ||
- | Der Deep Treiber ist unter ch.ntb.inf.deep.runtime.mpc555.driver.VL53L0X zu finden. | + | Der Deep Treiber ist unter '' |
=== Initialisierung === | === Initialisierung === | ||
Zeile 74: | Zeile 118: | ||
<code java> | <code java> | ||
+ | // Nur MPC555 | ||
if (tof.resetDone()) | if (tof.resetDone()) | ||
{ | { | ||
Zeile 80: | Zeile 125: | ||
</ | </ | ||
- | === reset === | + | === Reset (nur MPC555) |
Die reset() Methode veranlasst einen Reset die STM32L432KC und der Vl53L0X Sensoren. | Die reset() Methode veranlasst einen Reset die STM32L432KC und der Vl53L0X Sensoren. | ||
Zeile 86: | Zeile 131: | ||
==== Debugging / Troubleshooting ==== | ==== Debugging / Troubleshooting ==== | ||
- | Das Nucleo STM32L432KC bietet eine virtuelle serielle Schnittstelle über USB, wenn es mit einem PC verbunden ist. Über diese werden | + | Das Nucleo STM32L432KC bietet eine virtuelle serielle Schnittstelle über USB, wenn es mit einem PC verbunden ist. Über diese werden |
- | Des Weiteren leuchet LD3 (grüne LED unten link, wenn USB Port oben), wenn der STM32L432KC auf einen SPI Transfer wartet und erlischt während dem Messvorgang. | + | Des Weiteren leuchet LD3 (grüne LED unten links, wenn USB Port oben), wenn der STM32L432KC auf einen SPI Transfer wartet und erlischt während dem Messvorgang. |
Diese sollte im normalen Betrieb blinken. | Diese sollte im normalen Betrieb blinken. | ||
+ | Das GPIO Signal der LED ist auf Pin D13 am Board zu finden. |