Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Včera jsme pracovali na LCD displejích a při jejich práci jsme si uvědomili důležitost výpočtu intenzity světla. Intenzita světla není důležitá pouze ve fyzické oblasti tohoto světa, ale má svou dobře uvedenou roli i v biologické oblasti. Přesný odhad intenzity světla hraje klíčovou roli v našem ekosystému, při růstu rostlin atd. Za tímto účelem jsme studovali tento snímač BH1715, což je 16bitový snímač okolního světla se sériovým výstupem.
V tomto tutoriálu předvedeme fungování BH1715 s Raspberry pi pomocí programovacího jazyka Java.
Hardware, který budete pro tento účel potřebovat, je následující:
1. BH1715 - Senzor okolního světla
2. Raspberryy Pi
3. Kabel I2C
4. I2C štít pro Raspberry Pi
5. Ethernetový kabel
Krok 1: BH1715 Přehled:
Nejprve bychom vás chtěli seznámit se základními funkcemi senzorového modulu, kterým je BH1715, a komunikačním protokolem, na kterém funguje.
BH1715 je digitální snímač okolního světla s rozhraním sběrnice I²C. BH1715 se běžně používá k získávání údajů o okolním osvětlení pro úpravu výkonu podsvícení LCD a klávesnice pro mobilní zařízení. Toto zařízení nabízí 16bitové rozlišení a nastavitelný rozsah měření, což umožňuje detekci od 0,23 do 100 000 luxů.
Komunikační protokol, na kterém senzor funguje, je I2C. I2C je zkratka pro interintegrovaný obvod. Jedná se o komunikační protokol, ve kterém probíhá komunikace prostřednictvím linek SDA (sériová data) a SCL (sériové hodiny). Umožňuje připojení více zařízení současně. Je to jeden z nejjednodušších a nejefektivnějších komunikačních protokolů.
Krok 2: Co potřebujete..
Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:
1. BH1715 - Senzor okolního světla
2. Raspberry Pi
3. Kabel I2C
4. I2C štít pro Raspberry Pi
5. Ethernetový kabel
Krok 3: Připojení hardwaru:
Sekce zapojení hardwaru v zásadě vysvětluje zapojení kabelů požadovaná mezi snímačem a malinovým pi. Zajištění správného připojení je základní nutností při práci na jakémkoli systému pro požadovaný výstup. Požadovaná připojení jsou tedy následující:
BH1715 bude fungovat přes I2C. Zde je příklad schématu zapojení, které ukazuje, jak zapojit jednotlivá rozhraní senzoru.
Po vybalení je deska nakonfigurována pro rozhraní I2C, proto doporučujeme tuto přípojku použít, pokud jste jinak agnostik. Vše, co potřebujete, jsou čtyři dráty!
Jsou vyžadována pouze čtyři připojení Vcc, Gnd, SCL a SDA piny a ty jsou spojeny pomocí kabelu I2C.
Tato spojení jsou ukázána na obrázcích výše.
Krok 4: Měření intenzity světla pomocí kódu Java:
Výhodou použití raspberry pi je, že vám poskytuje flexibilitu programovacího jazyka, ve kterém chcete desku programovat, abyste s ní mohli propojit senzor. S využitím této výhody této desky zde předvádíme programování v Javě. Kód Java pro BH1715 lze stáhnout z naší komunity GitHub, kterou je Dcube Store.
Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:
Jako první krok kódování si musíte stáhnout knihovnu pi4j v případě Java, protože tato knihovna podporuje funkce použité v kódu. Chcete -li si stáhnout knihovnu, můžete navštívit následující odkaz:
pi4j.com/install.html
Pracovní java kód pro tento senzor můžete zkopírovat také zde:
// Distribuováno s licencí svobodné vůle.
// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.
// BH1715
// Tento kód je navržen tak, aby fungoval s mini modulem BH1715_I2CS I2C, který je k dispozici na ControlEverything.com.
//
importovat com.pi4j.io.i2c. I2CBus;
importovat com.pi4j.io.i2c. I2CDevice;
importovat com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
veřejná třída BH1715
{
public static void main (String args ) vyvolá výjimku
{
// Vytvoření sběrnice I2C
Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získejte zařízení I2C, adresa BH1715 I2C je 0x23 (35)
I2CDevice zařízení = bus.getDevice (0x23);
// Odeslání příkazu pro zapnutí
device.write ((byte) 0x01);
// Odeslání příkazu pro kontinuální měření
device.write ((byte) 0x10);
Thread.sleep (500);
// Přečíst 2 bajty dat
// jas msb, jas lsb
byte data = nový byte [2];
device.read (data, 0, 2);
// Převod dat
dvojnásobná svítivost = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1,20;
// Výstup dat na obrazovku
System.out.printf ("Světelnost okolního světla: %.2f lux %n", svítivost);
}
}
Knihovna, která usnadňuje i2c komunikaci mezi senzorem a deskou, je pi4j, její různé balíčky I2CBus, I2CDevice a I2CFactory pomáhají navázat spojení.
importovat com.pi4j.io.i2c. I2CBus; importovat com.pi4j.io.i2c. I2CDevice; importovat com.pi4j.io.i2c. I2CFactory; import java.io. IOException;
Tato část kódu umožňuje senzoru pracovat pro měření intenzity světla zapsáním příslušných příkazů pomocí funkce write () a poté se data čtou pomocí funkce read ().
device.write ((byte) 0x01); // příkaz k zapnutí
device.write ((byte) 0x10); // příkaz pro kontinuální měření
byte data = nový byte [2]; // Přečíst 2 bajty dat
device.read (data, 0, 2);
Data přijatá ze snímače jsou převedena do příslušného formátu pomocí následujícího:
dvojnásobná svítivost = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1,20;
Výstup je vytištěn pomocí funkce System.out.println () v následujícím formátu.
System.out.printf ("Světelnost okolního světla: %.2f lux %n", svítivost);
Výstup snímače je zobrazen na obrázku výše.
Krok 5: Aplikace:
BH1715 je snímač výstupního okolního světla s digitálním výstupem, který lze integrovat do mobilního telefonu, LCD TV, NOTE PC atd. Lze jej také použít v přenosném herním stroji, digitálním fotoaparátu, digitální videokameře, PDA, LCD displeji a mnoha dalších zařízeních, která vyžadují efektivní aplikace pro snímání světla.
Doporučuje:
Jak provádět protokolování teploty a intenzity světla - Simulace Proteus - Fritzování - Liono Maker: 5 kroků
Jak provádět protokolování teploty a intenzity světla | Simulace Proteus | Fritování | Liono Maker: Ahoj, toto je Liono Maker, toto je můj oficiální kanál YouTube. Toto je otevřený zdrojový kanál YouTube. Zde je odkaz: Liono Maker YouTube Channelhere je odkaz na video: Temp & protokolování intenzity světla V tomto tutoriálu se naučíme, jak vytvořit Temper
Vykreslování intenzity světla pomocí Arduino a hlavní knihovny Arduino Python: 5 kroků
Vykreslování intenzity světla pomocí Arduino a hlavní knihovny Arduino v Pythonu: Arduino je ekonomický, ale vysoce účinný a funkční nástroj a jeho programování v Embedded C dělá proces vytváření projektů zdlouhavým! Modul Arduino_Master v Pythonu to zjednodušuje a umožňuje nám provádět výpočty, odstraňovat odpadky
Výpočet intenzity světla pomocí BH1715 a Arduino Nano: 5 kroků
Výpočet intenzity světla pomocí BH1715 a Arduino Nano: Včera jsme pracovali na LCD displejích a při jejich práci jsme si uvědomili důležitost výpočtu intenzity světla. Intenzita světla není důležitá pouze ve fyzické oblasti tohoto světa, ale má svou dobře uvedenou roli v biologickém
Výpočet intenzity světla pomocí BH1715 a fotonu částic: 5 kroků
Výpočet intenzity světla pomocí BH1715 a fotonu částic: Včera jsme pracovali na LCD displejích a při jejich práci jsme si uvědomili důležitost výpočtu intenzity světla. Intenzita světla není důležitá pouze ve fyzické oblasti tohoto světa, ale má svou dobře uvedenou roli v biologickém
Měření světla a barev pomocí Pimoroni Enviro: bit pro Micro: bit: 5 kroků
Měření světla a barev S Pimoroni Enviro: bit pro Micro: bit: Pracoval jsem na některých zařízeních, která dříve umožňovala měření světla a barev a mnoho z teorie o takových měřeních najdete zde a zde. nedávno vydal enviro: bit, doplněk pro m