Obsah:
- Krok 1: Prehľad BH1715:
- Krok 2: Čo potrebujete.. !
- Krok 3: Pripojenie hardvéru:
- Krok 4: Meranie intenzity svetla Arduino Kód:
- Krok 5: Aplikácie:
Video: Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Včera sme pracovali na LCD displejoch a pri ich práci sme si uvedomili dôležitosť výpočtu intenzity svetla. Intenzita svetla nie je dôležitá len vo fyzickej oblasti tohto sveta, ale má svoju dobre uvedenú úlohu aj v biologickej oblasti. Presný odhad intenzity svetla hrá kľúčovú úlohu v našom ekosystéme, pri raste rastlín atď. Preto sme na tento účel študovali tento snímač BH1715, ktorý je 16-bitovým snímačom okolitého svetla so sériovým výstupom.
V tomto tutoriáli ukážeme, ako funguje BH1715 s Arduino Nano.
Hardvér, ktorý budete na tento účel potrebovať, je nasledujúci:
1. BH1715 - Senzor okolitého svetla
2. Arduino nano
3. Kábel I2C
4. I2C štít pre Arduino Nano
Krok 1: Prehľad BH1715:
V prvom rade by sme vás chceli zoznámiť so základnými funkciami senzorového modulu BH1715 a komunikačným protokolom, na ktorom funguje.
BH1715 je digitálny snímač okolitého svetla s rozhraním zbernice I²C. BH1715 sa bežne používa na získavanie údajov o okolitom svetle na úpravu výkonu podsvietenia LCD a klávesnice pre mobilné zariadenia. Toto zariadenie ponúka 16-bitové rozlíšenie a nastaviteľný rozsah merania, čo umožňuje detekciu od 0,23 do 100 000 luxov.
Komunikačný protokol, na ktorom senzor funguje, je I2C. I2C znamená interintegrovaný obvod. Ide o komunikačný protokol, v ktorom komunikácia prebieha prostredníctvom liniek SDA (sériové údaje) a SCL (sériové hodiny). Umožňuje pripojenie viacerých zariadení súčasne. Je to jeden z najjednoduchších a najefektívnejších komunikačných protokolov.
Krok 2: Čo potrebujete.. !
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. BH1715 - Senzor okolitého svetla
2. Arduino Nano
3. Kábel I2C
4. I2C štít pre Arduino nano
Krok 3: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
BH1715 bude fungovať na I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!
Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 4: Meranie intenzity svetla Arduino Kód:
Začnime teraz kódom Arduino.
Pri použití senzorového modulu s Arduinom obsahuje knižnicu Wire.h. Knižnica „Wire“obsahuje funkcie, ktoré uľahčujú komunikáciu i2c medzi senzorom a doskou Arduino.
Celý kód Arduino je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
// Adresa BH1715 I2C je 0x23 (35) #define Addr 0x23 void setup () {// Inicializácia komunikácie I2C ako MASTER Wire.begin (); // Inicializácia sériovej komunikácie, nastavenie prenosovej rýchlosti = 9600 Serial.begin (9600); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Odoslanie príkazu na zapnutie Wire.write (0x01); // Zastavenie prenosu I2C Wire.endTransmission (); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Odoslanie príkazu na nepretržité meranie Wire.write (0x10); // Zastavenie prenosu I2C Wire.endTransmission (); oneskorenie (300); } void loop () {nepodpísané int údaje [2]; // Požiadajte o 2 bajty údajov Wire.requestFrom (Addr, 2); // Prečítajte 2 bajty údajov // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); údaje [1] = Wire.read (); } oneskorenie (300); // konvertovanie jasu dát float = ((údaje [0] * 256) + údaje [1]) /1,20; // Výstup údajov na sériový monitor Serial.print ("Jas okolitého svetla:"); Serial.print (jas); Serial.println ("lux"); }
Nasledujúca časť kódu iniciuje komunikáciu i2c a sériovú komunikáciu pomocou funkcií Wire.begin () a Serial.begin ().
// Inicializujte komunikáciu I2C ako MASTER
Wire.begin (); // Inicializácia sériovej komunikácie, nastavenie prenosovej rýchlosti = 9600 Serial.begin (9600); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Odoslanie príkazu na zapnutie Wire.write (0x01); // Zastavenie prenosu I2C Wire.endTransmission (); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Odoslanie príkazu na nepretržité meranie Wire.write (0x10); // Zastavenie prenosu I2C Wire.endTransmission (); oneskorenie (300);
Intenzita svetla sa meria v nasledujúcej časti kódu.
int data bez znamienka [2];
// Požiadajte o 2 bajty údajov Wire.requestFrom (Addr, 2); // Prečítajte 2 bajty údajov // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); údaje [1] = Wire.read (); } oneskorenie (300); // konvertovanie jasu dát float = ((údaje [0] * 256) + údaje [1]) /1,20; // Výstup údajov na sériový monitor Serial.print ("Jas okolitého svetla:"); Serial.print (jas); Serial.println ("lux");
Všetko, čo musíte urobiť, je napáliť kód v arduine a skontrolovať údaje na sériovom porte. Výstup je na obrázku vyššie uvedený aj pre vašu referenciu.
Krok 5: Aplikácie:
BH1715 je snímač okolitého svetla s digitálnym výstupom, ktorý je možné integrovať do mobilného telefónu, LCD televízora, prenosného počítača NOTE atď. Je možné ho použiť aj v prenosných herných prístrojoch, digitálnych fotoaparátoch, digitálnych videokamerách, PDA, LCD displejoch a mnohých ďalších zariadeniach, ktoré vyžadujú efektívne aplikácie na snímanie svetla.
Odporúča:
Ako vytvoriť záznam teploty a intenzity svetla - Simulácia proteusu - Fritovanie - Liono Maker: 5 krokov
Ako vytvoriť záznam teploty a intenzity svetla | Simulácia proteusu | Fritovanie | Liono Maker: Ahoj, toto je Liono Maker, toto je môj oficiálny kanál YouTube. Toto je otvorený zdrojový kanál YouTube. Tu je odkaz: Liono Maker YouTube Channelhere je odkaz na video: Temp & Protokolovanie intenzity svetla V tomto návode sa naučíme, ako vytvoriť Temper
Meranie intenzity svetla pomocou BH1715 a Raspberry Pi: 5 krokov
Meranie intenzity svetla pomocou BH1715 a Raspberry Pi: Včera sme pracovali na LCD displejoch a pri ich práci sme si uvedomili dôležitosť výpočtu intenzity svetla. Intenzita svetla nie je dôležitá len vo fyzickej oblasti tohto sveta, ale má svoju dobre uvedenú úlohu v biologickom
Výpočet intenzity svetla pomocou BH1715 a fotónu častíc: 5 krokov
Výpočet intenzity svetla pomocou BH1715 a fotónu častíc: Včera sme pracovali na LCD displejoch a pri ich práci sme si uvedomili dôležitosť výpočtu intenzity svetla. Intenzita svetla nie je dôležitá len vo fyzickej oblasti tohto sveta, ale má svoju dobre uvedenú úlohu v biologickom
Mikrokontrolér AVR. Modulovanie šírky impulzu. Ovládač jednosmerného motora a intenzity svetla LED: 6 krokov
Mikrokontrolér AVR. Modulovanie šírky impulzu. Ovládač jednosmerného motora a intenzity svetla LED: Dobrý deň, všetci! Pulzná šírková modulácia (PWM) je veľmi bežnou technikou v oblasti telekomunikácií a riadenia výkonu. bežne sa používa na ovládanie výkonu dodávaného elektrickému zariadeniu, či už je to motor, LED dióda, reproduktory atď. Je to v podstate modul
Merač intenzity svetla bez programovania .: 7 krokov (s obrázkami)
Merač intenzity svetla bez programovania: Tento návod je o vytvorení základného merača intenzity svetla bez použitia Arduina alebo akéhokoľvek iného mikrokontroléra alebo programovania. Merač intenzity svetla zobrazuje rôzne úrovne intenzity svetla s rôznymi farbami LED diód. Červená LED