ich habe folgendes Problem:
Ich bin sehr neu im Thema aber probiere gerade verschiedene Sensoren durch.
Z.b hat der Lux Sensor BH1750 wunderbar funktioniert, während der Grove - Sunlight Sensor V2.0 absolut nicht will.
Ich habe Baud rate sowie verschiedene Kabel und Sensoren angeschlossen um Hardware Fehler auszuschließen. ( ich habe 3 Sunlight Sensors)
/*
This is a demo to test Grove - Sunlight Sensor library
*/
#include <Wire.h>
#include "Arduino.h"
#include "SI114X.h"
SI114X SI1145 = SI114X();
void setup() {
Serial.begin(9600);
Serial.println("Beginning Si1145!");
while (!SI1145.Begin()) {
Serial.println("Si1145 is not ready!");
delay(1000);
}
Serial.println("Si1145 is ready!");
}
void loop() {
Serial.print("//--------------------------------------//\r\n");
Serial.print("Vis: "); Serial.println(SI1145.ReadVisible());
Serial.print("IR: "); Serial.println(SI1145.ReadIR());
//the real UV value must be div 100 from the reg value , datasheet for more information.
Serial.print("UV: "); Serial.println((float)SI1145.ReadUV()/100);
delay(1000);
}
Aber mir stellt sich die frage, in der beschreibung des Sensors steht das es ein Digitaler ist, und in jedem Video werden Analoge Pins verwendet.
Und müssen die Pins nicht im Programm genau deklariert sein ?
Als erstes: Was verwendest Du für einen Controller - Sorry, wenn das auf den Bildern zu sehen ist, den Inhalt sehe ich zur Zeit nicht. (Liegt aber an mir)
Dann kannst Du mal die beiden PIN SDA/SCL (A4/A5) tauschen.
Wenn dann immer noch nichts geht, kannst Du einen Testsketch laufen lassen, der Dir die I2C-Adresse des Sensors ausgeben sollte.
Wenn da auch nix kommt (Auch nicht mit getauschten Anschlüssen) gehts ans suchen...
Also I2C du must schon eine Etage tiefer gehen dort wo I2C drauf steht. Haste ein Uno zum testen? Oder mit Multimeter mall messen ob I2C auch auf den oberen Rechten Pins ist, den die Platine ist eigentlich für Uno gemacht so wie ich das sehe.
Die eingezeichnete Pins müssen Durchgang haben sonst funktioniert das nicht mit einem Mega
Also
Der UNO hat die Pins SDA/SCL an A4 und A5.
Der Mega 2560 hat die Pins SDA/SCL an den Pins D20/D21
Arduinos der R3 Revision haben die SDA/SCL pins nochmal neben Aref mit dem Aufdruck SDA/SCL herausgeführt.
Wenn man diese Pins (SDA/SCL) als I2C Schnittstelle verwendet darf man die entsprechenden Pins ( A4/A5 bzw D20/D21) nicht verwenden.
Das Grove Shield hat 4 I2C stecker:
Du mußt den Sensor auf einen dieser 4 Stecker anstecken ; Aufschrigt I2C.
versuch mal diesen I2C Scanner: https://playground.arduino.cc/Main/I2cScanner/
Der müßte Dir eine Zahl (Adresse) ausgeben.
Falls nicht stimmt etwas mit der Verdrahtung oder dem Sensor nicht.
Vielen dank erstmal, ich habe den Scanner laufen lassen und dieses Base Shield weggelassen. Habe den Grove Sunlight Sensor über SDL und SCL angeschlossen und habe die Adresse 0x53 gefunden. jetzt weiß ich aber nicht weiter :s
Wen ich das gut sehe bist du auf 3,3V die Steckplätze sind aber aber 5V wen ich mich nicht irre?
Schalte mall auf 3,3 um nicht das die 5V nicht durchkommen
Normalerweise lässt sich die Adresse im Konstruktor übergeben.
Aber erzähl mal welche lib Du verwendest.
(Nein, das da oben ist irgendein Example und ich such jetzt nicht, wo das her stammt)