ich bin ein Neueinsteiger in die Arduino Welt, und möchte gerne mehrere VL53L0X (von Pololu) Sensoren in Betrieb nehmen, ich weiß dass die Kommunikation mit den Sensoren über I2C Bus erfolgt, und dass man die I2C Adresse ändern muss, damit man von den Sensoren gleichzeitig was auslesen könnte.
Meine Frage wäre, ob Jemand von euch schon mit den Sensoren gearbeitet hat und ein Tipp geben würde, wie ich das hinkriege mit der Adressenänderung !??
Der Sensor hat nur eine feste I2C Adresse. Diese kann nicht verändert werden.
Mehrere dieser Sensoren können nur durch Aufteilen des I2C Busses in Subbusse verwendet werden. zB TCA9544A oder ähnliche Bausteine.
Das ist aber nicht gut dokumentiert. Man kann sie ändern, aber im Datenblatt sind nicht mal die Register aufgelistet. Steht auch auf der Polulo Seite:
In contrast with the information available for many other devices, ST has not publicly released a register map and descriptions or other documentation about configuring and controlling the VL53L0X.
Das soll man wohl alles aus der C API von ST auslesen
Es gibt von Polulo aber eine Arduino Library, die die grundlegenden Funktionen (aber nicht einige fortgeschrittene Sachen) implementiert:
Und da gibt es diese Methode:
void setAddress(uint8_t new_addr);
Das vorgehen ist dann wohl so dass man erst mal alle Sensoren in den Reset bringt. Dann aktiviert und adressiert man sie einen nach dem anderen.