Obsah:
- Krok 1: BH1715 Přehled:
- Krok 2: Co potřebujete..
- Krok 3: Připojení hardwaru:
- Krok 4: Měření intenzity světla Arduino Kód:
- Krok 5: Aplikace:
Video: Výpočet intenzity světla pomocí BH1715 a Arduino Nano: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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 Arduino Nano.
Hardware, který budete pro tento účel potřebovat, je následující:
1. BH1715 - Senzor okolního světla
2. Arduino nano
3. Kabel I2C
4. I2C štít pro Arduino Nano
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. Arduino Nano
3. Kabel I2C
4. I2C Shield pro Arduino nano
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 Arduino Kód:
Začněme nyní kódem Arduino.
Při používání senzorového modulu s Arduinem jsme zahrnuli knihovnu Wire.h. Knihovna „Wire“obsahuje funkce, které usnadňují komunikaci i2c mezi senzorem a deskou Arduino.
Celý kód Arduino je pro pohodlí uživatele uveden níže:
#zahrnout
// Adresa BH1715 I2C je 0x23 (35) #define Addr 0x23 void setup () {// Inicializace komunikace I2C jako MASTER Wire.begin (); // Inicializace sériové komunikace, nastavení přenosové rychlosti = 9600 Serial.begin (9600); // Spusťte I2C Transmission Wire.beginTransmission (Addr); // Odeslání příkazu k zapnutí Wire.write (0x01); // Zastavení přenosu I2C Wire.endTransmission (); // Spusťte I2C Transmission Wire.beginTransmission (Addr); // Odeslání příkazu pro kontinuální měření Wire.write (0x10); // Zastavení přenosu I2C Wire.endTransmission (); zpoždění (300); } void loop () {data bez znaménka [2]; // Žádost o 2 bajty dat Wire.requestFrom (Addr, 2); // Přečíst 2 bajty dat // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } zpoždění (300); // převod datového jasu jasu = ((data [0] * 256) + data [1]) /1,20; // Výstup dat na sériový monitor Serial.print ("Světelnost okolního světla:"); Serial.print (jas); Serial.println ("lux"); }
Následující část kódu inicializuje komunikaci i2c a sériovou komunikaci pomocí funkcí Wire.begin () a Serial.begin ().
// Inicializujte komunikaci I2C jako MASTER
Wire.begin (); // Inicializace sériové komunikace, nastavení přenosové rychlosti = 9600 Serial.begin (9600); // Spusťte I2C Transmission Wire.beginTransmission (Addr); // Odeslání příkazu k zapnutí Wire.write (0x01); // Zastavení přenosu I2C Wire.endTransmission (); // Spusťte I2C Transmission Wire.beginTransmission (Addr); // Odeslání příkazu pro kontinuální měření Wire.write (0x10); // Zastavení přenosu I2C Wire.endTransmission (); zpoždění (300);
Intenzita světla se měří v následující části kódu.
nepodepsaná int data [2];
// Žádost o 2 bajty dat Wire.requestFrom (Addr, 2); // Přečíst 2 bajty dat // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } zpoždění (300); // převod datového jasu jasu = ((data [0] * 256) + data [1]) /1,20; // Výstup dat na sériový monitor Serial.print ("Světelnost okolního světla:"); Serial.print (jas); Serial.println ("lux");
Vše, co musíte udělat, je vypálit kód v arduinu a zkontrolovat údaje na sériovém portu. Výstup je uveden na obrázku výše také pro vaši referenci.
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
Měření intenzity světla pomocí BH1715 a Raspberry Pi: 5 kroků
Měření intenzity světla pomocí BH1715 a Raspberry Pi: 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
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 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
Mikrokontrolér AVR. Modulace šířky pulsu. Ovladač stejnosměrného motoru a intenzity světla LED: 6 kroků
Mikrokontrolér AVR. Modulace šířky pulsu. Ovladač stejnosměrného motoru a intenzity světla LED: Ahoj všichni! Modulace šířky pulzu (PWM) je velmi běžnou technikou v oblasti telekomunikací a řízení výkonu. běžně se používá k ovládání výkonu přiváděného elektrickému zařízení, ať už je to motor, LED, reproduktory atd. Je to v podstatě modul