Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| embedded_systems:experimentiersystem:vl53l0x-tof-sensor [2020-01-09 12:41] – 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 44: | Zeile 88: | ||
| ==== Verwendung in Deep ==== | ==== Verwendung in Deep ==== | ||
| - | Der Deep Treiber ist unter '' | + | 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 90: | Zeile 135: | ||
| 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. | 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. | ||