Spisu treści:
- Krok 1: Przegląd BH1715:
- Krok 2: Czego potrzebujesz…
- Krok 3: Podłączenie sprzętu:
- Krok 4: Pomiar natężenia światła za pomocą kodu Java:
- Krok 5: Aplikacje:
Wideo: Pomiar natężenia światła za pomocą BH1715 i Raspberry Pi: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
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:
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…
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:
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:
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:
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:
Lampa natężenia światła Arduino: 6 kroków
Arduino Light Intensity Lamp: Witam w moim samouczku dotyczącym budowania i kodowania lampy Intensity Lamp za pomocą Arduino. Będziesz potrzebować tych komponentów, aby to zbudować. * LDR * Mikrokontroler Arduino * Żarówka * Przekaźnik * Źródło zasilania * Płytka do krojenia chleba * Rezystor 1 k-ohm Mam nadzieję
Wykres natężenia światła za pomocą Arduino i biblioteki Arduino Master Library: 5 kroków
Wykres natężenia światła za pomocą Arduino i Arduino Master Library: Arduino jest ekonomicznym, ale bardzo wydajnym i funkcjonalnym narzędziem, programowanie go w Embedded C sprawia, że proces tworzenia projektów jest nudny! Moduł Arduino_Master w Pythonie upraszcza to i pozwala nam wykonywać obliczenia, usuwać wartości śmieci
Obliczanie natężenia światła przy użyciu BH1715 i Arduino Nano: 5 kroków
Obliczanie natężenia światła przy użyciu BH1715 i Arduino Nano: 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 fizycznej domenie tego świata, ale ma również dobrze opisaną rolę w biologii
Obliczanie natężenia światła przy użyciu BH1715 i fotonu cząstek: 5 kroków
Obliczanie natężenia światła przy użyciu BH1715 i Particle Photon: 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 fizycznej domenie tego świata, ale ma również dobrze opisaną rolę w biologii
Oszczędzanie energii z wykorzystaniem natężenia światła za pomocą fotokomórek i termistorów: 6 kroków
Oszczędzanie energii z wykorzystaniem natężenia światła za pomocą fotokomórek i termistorów: Ta instrukcja ma na celu nauczenie Cię, jak oszczędzać energię poprzez zmianę natężenia światła za pomocą fotokomórek i termistorów. Pokażemy Ci, jak zbudować obwód i zakodować Arduino za pomocą MATLAB