Spisu treści:

Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków
Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków

Wideo: Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków

Wideo: Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków
Wideo: Pomiar natężenia światła za pomocą cyfrowego luksometru testo 545 2024, Listopad
Anonim
Image
Image

Wczoraj pracowaliśmy nad wyświetlaczami LCD i podczas pracy nad nimi zdaliśmy sobie sprawę, jak ważne jest obliczanie natężenia światła. Intensywność światła jest ważna nie tylko w sferze fizycznej tego świata, ale także w sferze biologicznej. Dokładne oszacowanie natężenia światła odgrywa kluczową rolę w naszym ekosystemie, we wzroście roślin itp. W tym celu zbadaliśmy czujnik BH1715, który jest 16-bitowym czujnikiem światła otoczenia z wyjściem szeregowym.

W tym samouczku zademonstrujemy działanie BH1715 z Raspberry pi, używając Javy jako języka programowania.

Sprzęt, którego będziesz potrzebować do tego celu, to:

1. BH1715 - czujnik światła otoczenia

2. Malinowy Pi

3. Kabel I2C

4. Osłona I2C dla Raspberry Pi

5. Kabel Ethernet

Krok 1: Przegląd BH1715:

Czego potrzebujesz..!!
Czego potrzebujesz..!!

Przede wszystkim chcielibyśmy zapoznać Państwa z podstawowymi cechami modułu czujnika jakim jest BH1715 oraz protokołem komunikacyjnym na którym pracuje.

BH1715 to cyfrowy czujnik oświetlenia otoczenia z interfejsem magistrali I²C. BH1715 jest powszechnie używany do uzyskiwania danych dotyczących oświetlenia otoczenia w celu dostosowania mocy podświetlenia wyświetlacza LCD i klawiatury dla urządzeń mobilnych. To urządzenie oferuje 16-bitową rozdzielczość i regulowany zakres pomiarowy, umożliwiając detekcję od 0,23 do 100 000 luksów.

Protokół komunikacyjny na którym pracuje czujnik to I2C. I2C oznacza układ scalony. Jest to protokół komunikacyjny, w którym komunikacja odbywa się za pośrednictwem linii SDA (dane szeregowe) i SCL (zegar szeregowy). Umożliwia podłączenie wielu urządzeń jednocześnie. Jest to jeden z najprostszych i najbardziej wydajnych protokołów komunikacyjnych.

Krok 2: Czego potrzebujesz…

Czego potrzebujesz..!!
Czego potrzebujesz..!!
Czego potrzebujesz..!!
Czego potrzebujesz..!!
Czego potrzebujesz..!!
Czego potrzebujesz..!!

Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:

1. BH1715 - czujnik światła otoczenia

2. Raspberry Pi

3. Kabel I2C

4. Osłona I2C dla Raspberry Pi

5. Kabel Ethernet

Krok 3: Podłączenie sprzętu:

Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu

Sekcja dotycząca podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a raspberry pi. Zapewnienie prawidłowych połączeń jest podstawową koniecznością podczas pracy na dowolnym systemie o pożądanej mocy. Tak więc wymagane połączenia są następujące:

BH1715 będzie działał przez I2C. Oto przykładowy schemat okablowania, pokazujący, jak okablować każdy interfejs czujnika.

Po wyjęciu z pudełka, płyta jest skonfigurowana do interfejsu I2C, dlatego zalecamy korzystanie z tego podłączenia, jeśli jesteś agnostykiem. Wszystko czego potrzebujesz to cztery przewody!

Wymagane są tylko cztery połączenia Vcc, Gnd, SCL i SDA, które są połączone za pomocą kabla I2C.

Połączenia te są pokazane na powyższych zdjęciach.

Krok 4: Pomiar natężenia światła za pomocą kodu Java:

Pomiar natężenia światła za pomocą kodu Java
Pomiar natężenia światła za pomocą kodu Java
Pomiar natężenia światła za pomocą kodu Java
Pomiar natężenia światła za pomocą kodu Java

Zaletą korzystania z raspberry pi jest to, że zapewnia elastyczność języka programowania, w którym chcesz zaprogramować płytkę w celu połączenia z nią czujnika. Wykorzystując tę zaletę tej płyty, demonstrujemy tutaj jej programowanie w Javie. Kod Java dla BH1715 można pobrać z naszej społeczności GitHub, czyli sklepu Dcube Store.

Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:

Jako pierwszy krok kodowania musisz pobrać bibliotekę pi4j w przypadku java, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:

pi4j.com/install.html

Możesz skopiować działający kod java dla tego czujnika również stąd:

// Rozprowadzane z wolną licencją.

// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.

// BH1715

// Ten kod jest przeznaczony do pracy z modułem BH1715_I2CS I2C Mini dostępnym na stronie ControlEverything.com.

//

importuj com.pi4j.io.i2c. I2CBus;

importuj com.pi4j.io.i2c. I2CDurządzenie;

importuj com.pi4j.io.i2c. I2CFabryka;

import java.io. IOException;

klasa publiczna BH1715

{

public static void main(String args) wyrzuca Wyjątek

{

// Utwórz magistralę I2C

Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);

// Pobierz urządzenie I2C, adres BH1715 I2C to 0x23(35)

Urządzenie I2CDevice = bus.getDevice(0x23);

// Wyślij polecenie włączenia zasilania

urządzenie.write((bajt)0x01);

// Wyślij polecenie pomiaru ciągłego

urządzenie.write((bajt)0x10);

Wątek.sen(500);

// Odczytaj 2 bajty danych

// luminancja msb, luminancja lsb

bajt dane = nowy bajt[2];

urządzenie.odczyt(dane, 0, 2);

// Konwertuj dane

podwójna luminancja = ((data[0] i 0xFF) * 256 + (data[1] i 0xFF)) / 1,20;

// Prześlij dane na ekran

System.out.printf("Luminancja światła otoczenia: %.2f lux %n", luminancja);

}

}

Biblioteka, która ułatwia komunikację i2c między czujnikiem a płytą to pi4j, jej różne pakiety I2CBus, I2CDevice i I2CFactory pomagają w nawiązaniu połączenia.

importuj com.pi4j.io.i2c. I2CBus; importuj com.pi4j.io.i2c. I2CDurządzenie; importuj com.pi4j.io.i2c. I2CFabryka; import java.io. IOException;

Ta część kodu powoduje, że czujnik działa w celu pomiaru natężenia światła, zapisując odpowiednie polecenia za pomocą funkcji write(), a następnie dane są odczytywane za pomocą funkcji read().

urządzenie.write((bajt)0x01); // polecenie włączenia zasilania

urządzenie.write((bajt)0x10); // komenda pomiaru ciągłego

bajt dane = nowy bajt[2]; // Odczytaj 2 bajty danych

urządzenie.odczyt(dane, 0, 2);

Dane otrzymane z czujnika są konwertowane do odpowiedniego formatu przy użyciu następujących metod:

podwójna luminancja = ((data[0] i 0xFF) * 256 + (data[1] i 0xFF)) / 1,20;

Dane wyjściowe są drukowane przy użyciu funkcji System.out.println() w następującym formacie.

System.out.printf("Luminancja światła otoczenia: %.2f lux %n", luminancja);

Wyjście czujnika pokazano na powyższym obrazku.

Krok 5: Aplikacje:

Aplikacje
Aplikacje

BH1715 to cyfrowy czujnik światła otoczenia z wyjściem, który może być wbudowany w telefon komórkowy, telewizor LCD, komputer typu NOTE itp. Może być również stosowany w przenośnych automatach do gier, aparacie cyfrowym, cyfrowej kamerze wideo, PDA, wyświetlaczu LCD i wielu innych urządzeniach, które wymagają wydajne aplikacje do wykrywania światła.

Zalecana: