Obsah:

Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov
Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov

Video: Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov

Video: Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Júl
Anonim
Image
Image

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:

Čo potrebuješ..!!
Čo potrebuješ..!!

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.. !

Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!

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:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
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:

Meranie intenzity svetla Arduino Kód
Meranie intenzity svetla Arduino Kód
Meranie intenzity svetla Arduino Kód
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:

Aplikácie
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: