Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
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 Raspberry pi pomocou programovacieho jazyka Java.
Hardvér, ktorý budete na tento účel potrebovať, je nasledujúci:
1. BH1715 - Senzor okolitého svetla
2. Raspberryy Pi
3. Kábel I2C
4. I2C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 1: Prehľad BH1715:
V prvom rade by sme vás chceli zoznámiť so základnými funkciami senzorového modulu, ktorým je 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. Raspberry Pi
3. Kábel I2C
4. I2C štít pre Raspberry Pi
5. Ethernetový kábel
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 pomocou kódu Java:
Výhodou použitia raspberry pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ním mohli prepojiť senzor. S využitím tejto výhody tejto dosky demonštrujeme, že je programovaná v jazyku Java. Kód Java pre BH1715 je možné stiahnuť z našej komunity GitHub, ktorou je Dcube Store.
Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:
Ako prvý krok kódovania si musíte stiahnuť knižnicu pi4j v prípade jazyka Java, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:
pi4j.com/install.html
Pracovný kód java pre tento senzor môžete skopírovať aj tu:
// Distribuované s licenciou slobodnej vôle.
// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.
// BH1715
// Tento kód je navrhnutý tak, aby pracoval s mini modulom BH1715_I2CS I2C, ktorý je k dispozícii na ControlEverything.com.
//
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
verejná trieda BH1715
{
public static void main (String args ) hodí výnimku
{
// Vytvorenie zbernice I2C
Zbernica I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získať zariadenie I2C, adresa BH1715 I2C je 0x23 (35)
I2CDevice zariadenie = bus.getDevice (0x23);
// Odoslanie príkazu na zapnutie
device.write ((byte) 0x01);
// Odoslanie príkazu na nepretržité meranie
device.write ((byte) 0x10);
Thread.sleep (500);
// Prečítajte 2 bajty údajov
// jas msb, jas lsb
bajt dáta = nový bajt [2];
device.read (údaje, 0, 2);
// Previesť údaje
dvojnásobný jas = ((údaje [0] & 0xFF) * 256 + (údaje [1] & 0xFF)) / 1,20;
// Výstup údajov na obrazovku
System.out.printf ("Svietivosť okolitého svetla: %.2f lux %n", svietivosť);
}
}
Knižnica, ktorá uľahčuje komunikáciu i2c medzi senzorom a doskou, je pi4j a jej rôzne balíky I2CBus, I2CDevice a I2CFactory pomáhajú nadviazať spojenie.
importovať com.pi4j.io.i2c. I2CBus; importovať com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;
Táto časť kódu umožňuje senzoru pracovať pri meraní intenzity svetla tak, že napíše príslušné príkazy pomocou funkcie write () a potom sa údaje prečítajú pomocou funkcie read ().
device.write ((byte) 0x01); // príkaz na zapnutie
device.write ((byte) 0x10); // príkaz na kontinuálne meranie
bajt dáta = nový bajt [2]; // Prečítajte 2 bajty údajov
device.read (údaje, 0, 2);
Údaje prijaté zo snímača sa prevedú do vhodného formátu pomocou nasledujúceho postupu:
dvojnásobná svietivosť = ((údaje [0] & 0xFF) * 256 + (údaje [1] & 0xFF)) / 1,20;
Výstup je vytlačený pomocou funkcie System.out.println () v nasledujúcom formáte.
System.out.printf ("Svietivosť okolitého svetla: %.2f lux %n", svietivosť);
Výstup senzora je zobrazený na obrázku vyššie.
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
Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 5 krokov
Výpočet intenzity svetla pomocou BH1715 a Arduino Nano: 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