Info zur VL6180x

#4680245
Lesenswert?

Hallo,


dazu gibt es von ST die Application Note AN4478: Using multiple VL6180Xs 
in a single design

http://www.st.com/content/ccc/resource/technical/document/application_note/b4/f0/79/ec/ca/54/45/07/DM00114403.pdf/files/DM00114403.pdf/jcr:content/translations/en.DM00114403.pdf

Man kann die Sensoren zwar alle an den gleichen I2C Bus hängen, sie 
haben nach dem Einschalten aber alle die gleiche Adresse. Die Adresse 
kann man zwar per Software ändern, aber die Einstellung wird nicht 
dauerhaft gespeichert.

In der Application Note gibt es ein paar Vorschläge wie man die Sensoren 
trotzdem am gleichen Bus initialisieren kann.

Gruß
Florian
Gast #4733939
Lesenswert?

Hallo
warum sind in den code fehler ?


#include <Wire.h>
VL6180x sensor(VL6180X_ADDRESS);
void setup() {
 Serial.begin(115200); // put your setup code here, to run once:
  Wire.begin();
  delay(1000);
 if(sensor.VL6180xInit() != 0){
    Serial.println("FAILED TO INITALIZE");

}



    delay(1000); // delay 1s

void loop() {
 Serial.print("Umgebungslicht (Lux) = ");
 // put your main code here, to run repeatedly:
 Serial.println( sensor.getAmbientLight );

   Serial.print("Abstandsmessung (mm) = ");
 Serial.println( sensor.getDistance() );

  delay(2);
};



}

Danke
Gast #4749669
Lesenswert?

Guten morgen

Ich habe eine frage
Immer wenn ich meinen finger auf den sensor drauf tuh zeigt er immer 
noch 14 bis 17 mm

ist der code falsch ?


#include <Wire.h>
#include <VL6180X.h>

VL6180X sensor;

void setup()
{
  Serial.begin(9600);
  Wire.begin();

  sensor.init();
  sensor.configureDefault();

  }

void loop()
{


  Serial.println(sensor.readRangeSingle());
delay(200);
}











Vielen dank
Gast #4951469
Lesenswert?

Guten Abend
Ich will mehrere Sensoren gleichzeitig in Betrieb nehmen  .

muss ich so ein Code für jeden Sensor machen?

Danke


#include <Wire.h>
#include <VL6180X.h>

VL6180X sensor;

void setup()
{
  Serial.begin(9600);
  Wire.begin();

  sensor.init();
  sensor.configureDefault();

  }

void loop()
{


  Serial.println(sensor.readRangeSingle());
delay(200);
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren