INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Leonard - Lichtsensor BH1750
29.06.2014, 17:11
Beitrag #1
Arduino Leonard - Lichtsensor BH1750
Guten Tag,

Ich bin neu hier und habe gleich mal eine Frage.

Ich möchte erstmal die Lichtstärke im seriall Monitor ausgeben.
Habe den Sensor (BH1750) so mit dem Board verbunden.
VCC >>> 3.3V
SDA >>> A4
SCL >>> A5
addr >> A3
Gnd >>>Gnd

und das Programm hochgeladen. Library BH1750FVI habe ich in den ordner reingeschoben, so dass sie zu verfügung steht.

Leider bekomme ich nur einen festen Wert ausgegeben.

Das Programm habe ich von hier.
http://www.instructables.com/id/BH1750-D...uino-Code/

Was muss ich ändern, Beim Leonardo liegt ja SDA auf Pin 2 und SCL auf Pin3.

Hier nochmal das Programm:
#include <BH1750FVI.h> // Sensor Library
#include <Wire.h> // I2C Library

BH1750FVI LightSensor;


void setup() { // put your setup code here, to run once:
Serial.begin(9600);
LightSensor.begin();
/*
Set the address for this sensor
you can use 2 different address
Device_Address_H "0x5C"
Device_Address_L "0x23"
you must connect Addr pin to A3 .
*/
LightSensor.SetAddress(Device_Address_H);//Address 0x5C
// To adjust the slave on other address , uncomment this line
// lightMeter.SetAddress(Device_Address_L); //Address 0x5C
//-----------------------------------------------
/*
set the Working Mode for this sensor
Select the following Mode:
Continuous_H_resolution_Mode
Continuous_H_resolution_Mode2
Continuous_L_resolution_Mode
OneTime_H_resolution_Mode
OneTime_H_resolution_Mode2
OneTime_L_resolution_Mode

The data sheet recommanded To use Continuous_H_resolution_Mode
*/

LightSensor.SetMode(Continuous_H_resolution_Mode);

Serial.println("Running...");
}


void loop() {
// put your main code here, to run repeatedly:
uint16_t lux = LightSensor.GetLightIntensity();// Get Lux value
Serial.print("Light: ");
Serial.print(lux);
Serial.println(" lux");
delay(1000);
}

Was muss ich ändern?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 18:17 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2014 18:17 von rkuehle.)
Beitrag #2
RE: Arduino Leonard - Lichtsensor BH1750
Hallo Peter,
am Code braucht man wohl nix ändern, der sieht gut aus.
Aber SDA / SCL des Sensors musst du halt auf D2/D3 des Leo legen
D2/D3 sind in der Platine auf SDA /SCL gemapped
Dann sollte es funktionieren.
Da die Libray für den Sensor die Wire Library includiert sollte keine softwareseitige Änderung der Pin-Zuweisungen erforderlich sein.
Wenn du nur einen Sensor benutzt brauchst du die Adressleitung nicht verkabeln.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 18:25 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2014 09:00 von PeterErde.)
Beitrag #3
RE: Arduino Leonard - Lichtsensor BH1750
Hallo Ricardo,

Danke für die Schnelle Antwort.
Ich werde also SDA an SDA und SCL mit SCL verbinden.
Die addr Leitung lasse ich mal weg.

Werde berichten ob es funktioniert.
Aber warscheinlich erst morgen.

Schönen Abend noch und Dank,
Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2014, 11:20
Beitrag #4
RE: Arduino Leonard - Lichtsensor BH1750
Leider funktioniert es nicht. Ich bekomme am seriellen Monitor immer nnur einen festen Wert ausgegeben.
Habe es an den Pins SCL SDA und D2 und D3 versucht.
Ändert leider nichts Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.07.2014, 12:04
Beitrag #5
RE: Arduino Leonard - Lichtsensor BH1750
Gibt es evtl. eine Möglichkeit den Lichtsensor anders anzusprechen und die Daten abzufragen?

Gruß,
Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.07.2014, 12:31
Beitrag #6
RE: Arduino Leonard - Lichtsensor BH1750
Ich habe jetzt, da ich ja nur einen Sensor am I2C angeschlossen habe
Folgende Zeile im Code glöscht.
LightSensor.SetAddress(Device_Address_H);

Jetzt bekomme ich im Serial Monitor 0 Lux angezeigt.

Wenn ich den Pin an SCL abziehe zeigt er wieder 54612 lux an.

Was mach ich da nur falsch?
Die Kommunikation müsste ja nun laufen, sonst fürde ich ja nicht 0 Lux ausgegeben bekommen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.07.2014, 16:57
Beitrag #7
RE: Arduino Leonard - Lichtsensor BH1750
So habe das Problem gelöst.

Habe einen i2c Scanner laufen lassen
und gesehen, dass der Lichtsensor mit 0x23 adressiert ist.

Also im Code auf L geändert bei der Adressierung und es läuft.
Bin mir noch nicht sicher ob die Lux eine Zehnerpotenz zu niedrig sind aber das lässt sich ja leicht ändern Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  3 Bewegungsmelder, Lichtsensor und Relay Frage ! b3ta 25 1.632 15.11.2015 14:01
Letzter Beitrag: hotsystems
  Tür mit Lichtsensor ninetto 12 1.186 09.07.2015 09:32
Letzter Beitrag: Scherheinz
  Arduino Ethernet mit USB 2 Serial Converter/Welche Einstellungen im Arduino-Sketch lociluke 1 1.119 05.05.2015 13:40
Letzter Beitrag: Bitklopfer
  Arduino Mega-Projekt mit EEPROM auf Arduino Due portieren Foto-Ralf 17 3.148 16.03.2015 12:06
Letzter Beitrag: Foto-Ralf
  Arduino - Solaranlage im Winkel der Sonne nachführen - Lichtsensor mit Servomotor TechnoJungs 8 3.967 17.12.2014 20:46
Letzter Beitrag: tito-t

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste