0. Komponenty i oprogramowanie wymagane do sterowania modułem czujnika światła BH1750 FVI

Wymagane komponenty:

{Produkt: 2000} {Produkt: 216}

I. Jak używać czujnika światła z Arduino

Ten krótki samouczek wyjaśnia, jak używać czujnika światła BH1750 do pomiaru natężenia światła.

BH1750 to czujnik cyfrowy, który mierzy poziom światła i można nim łatwo sterować w celu utworzenia miernika luksów za pomocą Arduino , Raspberry Pi lub innych płytek. Czujnik BH1750FVI służy do regulacji podświetlenia ekranów LCD i klawiatur przez producentów telefonów komórkowych, aparatów cyfrowych, nawigacji i przenośnych urządzeń do gier.

Aby uzyskać więcej informacji o produktach lub ich opisach technicznych, wejdź na naszą stronę internetową Sklep Solectro.

II. Eksperymentalne procedury

Połączenie

Moduł jest zasilany bezpośrednio z Arduino , więc nie potrzebujemy zewnętrznego zasilania. Będziesz musiał przylutować szpilki lub nagłówki, aby użyć go na płycie prototypowej lub kablach DuPont. W tym przykładzie podłączymy moduł do Arduino UNO przez I2C, jak pokazano na poniższym obrazku:

Piny modułu zostaną podłączone do Arduino UNO w Arduino :

Kołek czujnika Przypnij przez Arduino UNO
GND GND
VCC 3,3 V.
CADDR -
SDA A4 (SDA)
SCL A5 (SCL)

Operacja
Aby w pełni go wykorzystać, zainstaluj bibliotekę BH1750 opracowaną przez Christophera Lawsa, dostępną pod tym linkiem .
Ta biblioteka zawiera kilka przykładów programowania, którym warto się przyjrzeć.
Po zainstalowaniu z programu> Dołącz biblioteki> Dodaj biblioteki .ZIP ..., otwórz nowy pusty szkic i wklej następujący kod:

#include <Wire.h>
#include <BH1750.h>
Luksomierz BH1750;
const bajt luxMode = BH1750_CONTINUOUS_HIGH_RES_MODE;
// BH1750_CONTINUOUS_HIGH_RES_MODE
// BH1750_CONTINUOUS_HIGH_RES_MODE_2
// BH1750_CONTINUOUS_LOW_RES_MODE
// BH1750_ONE_TIME_HIGH_RES_MODE
// BH1750_ONE_TIME_HIGH_RES_MODE_2
// BH1750_ONE_TIME_LOW_RES_MODE
void setup () {
Serial.begin (9600);
Serial.println (F ("Inicjalizacja czujnika ..."));
luxometer.begin (luxMode); // Zainicjuj BH1750
}
void loop () {
uint16_t lux = luxmeter.readLightLevel (); // Odczyt czujnika w luksach
Serial.print (F ("Iluminacja:"));
Serial.print (lux);
Serial.println ("lx");
opóźnienie (500);
}

Załaduj i prześlij program i otwórz monitor szeregowy, aby zobaczyć, jakie lumenów przechwytuje.