Skip to content
Snippets Groups Projects
Commit d2b512c7 authored by Orhan-Timo Altan's avatar Orhan-Timo Altan
Browse files

Readme aktualisiert

parent 93c17c66
No related branches found
No related tags found
No related merge requests found
# Time of flight array
# **Time of flight array**
Zum Erstellen eines Arrays gefüllt mit Objekten.
\ No newline at end of file
Diese Bibliothek verwendet die Adafruit_VL53L0X Bibliothek um einen Array mit mehreren Time of Flight Objekten zu erstellen. Da die VL53L0X Time of Flight Sensoren alle die selbe Adresse besitzen, müssen diese nacheinander aktiviert und initialisiert werden. Dies soll mit dieser Bibliothek automatisch geschehen.
Getestet mit:
- Arduino Mega Pro + 1x VL53L0X<br />
<br />
## **Vorrausetzung**
- Die Bibliothek Adafruit_VL53L0X muss installiert sein.<br />
<br />
## **Installation:**
Um diese Bibliothek verwenden zu können, muss dieses Repository geklont und in das Library-Verzeichnis der Arduino-IDE kopiert werden.<br />
<br />
## **Anwendung**:<br />
<br />
**Zur Verwendung siehe das Beispiel:**
- tof_array.ino<br />
<br />
Um die Anzahl der zu Verwendenden Time of Flight Sensoren, die zugehörigen XShut Pin Belegungen sowie zu vergebenen Adressen anzupassen, müssen in der tof_array.h Datei folgende Parameter verändert werden:
- ToFs: Anzahl der zu Verwendenden Time of Flight Sensoren.
- ToF_XShuts: Pinbelegungen der XShut Pins von den einzelnen Sensoren.
- ToF_Addresses: Adressen der einzelnen Sensoren.
Möchte man mehr als 5 Time of Flight Sensoren verwenden, so müssen anpassungen an der Liste `sensors[]` gemacht werden.
## **Quellen:**
- Adafruit_VL53L0X: vl53l0x.ino
- Adafruit_VL53L0X: vl53l0x_multi_extended.ino
\ No newline at end of file
......@@ -13,9 +13,9 @@
const int ToFs = 5; // Anzahl der zu Verwendenden Time of Flight Sensoren
const int ToF_XShuts[ToFs] = {NULL, 9, 11, 31, A10}; // XShut Pins der einzelnen Time of Flight Sensoren
const int ToF_Adresses[ToFs] = {0x30, 0x31, 0x32, 0x33, 0x34}; // Adresse der einzelnen Time of Flight Sensoren
const int ToF_Addresses[ToFs] = {0x30, 0x31, 0x32, 0x33, 0x34}; // Adresse der einzelnen Time of Flight Sensoren
// #define DEBUG
#define DEBUG
#ifdef DEBUG
#define _println_(x) Serial.println(x)
#define _print_(x) Serial.print(x)
......@@ -43,19 +43,15 @@ Adafruit_VL53L0X tof5;
sensorList_t sensors[] =
{
{&tof1, &Wire, ToF_Adresses[0], ToF_XShuts[0], Adafruit_VL53L0X::VL53L0X_SENSE_LONG_RANGE, 0, 0},
{&tof2, &Wire, ToF_Adresses[1], ToF_XShuts[1], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof3, &Wire, ToF_Adresses[2], ToF_XShuts[2], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof4, &Wire, ToF_Adresses[3], ToF_XShuts[3], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof5, &Wire, ToF_Adresses[4], ToF_XShuts[4], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0}
{&tof1, &Wire, ToF_Addresses[0], ToF_XShuts[0], Adafruit_VL53L0X::VL53L0X_SENSE_LONG_RANGE, 0, 0},
{&tof2, &Wire, ToF_Addresses[1], ToF_XShuts[1], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof3, &Wire, ToF_Addresses[2], ToF_XShuts[2], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof4, &Wire, ToF_Addresses[3], ToF_XShuts[3], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0},
{&tof5, &Wire, ToF_Addresses[4], ToF_XShuts[4], Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT, 0, 0}
};
const int COUNT_SENSORS = sizeof(sensors) / sizeof(sensors[0]);
const uint16_t ALL_SENSORS_PENDING = ((1 << COUNT_SENSORS) - 1);
uint16_t sensors_pending = ALL_SENSORS_PENDING;
uint32_t sensor_last_cycle_time;
void tof_init() {
bool found_any_sensors = false;
for (int i = 0; i < COUNT_SENSORS; i++)
......@@ -86,7 +82,7 @@ void get_tof_distance(int i){
sensors[i].psensor->rangingTest(&measure, false); // 'true' um debug Informationen auszugeben
if (measure.RangeStatus != 4) { // phase failures have incorrect data
_println_("Entfernung (cm): ");
_print_("Entfernung (cm): ");
_println_(measure.RangeMilliMeter/10);
} else {
_println_(" Ausserhalb des Messbereichs ");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment