Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
Vakar dirbome prie LCD ekranų, o dirbdami su jais supratome šviesos intensyvumo skaičiavimo svarbą. Šviesos intensyvumas yra svarbus ne tik šio pasaulio fizinėje srityje, bet ir gerai tariamas vaidmuo biologinėje srityje. Tikslus šviesos intensyvumo įvertinimas atlieka esminį vaidmenį mūsų ekosistemoje, augant augalams ir tt Taigi, šiam tikslui mes ištyrėme šį jutiklį BH1715, kuris yra 16 bitų serijinio išėjimo tipo aplinkos šviesos jutiklis.
Šioje pamokoje mes parodysime „BH1715“darbą su „Raspberry pi“, naudojant „Java“kaip programavimo kalbą.
Aparatūra, kurios jums reikės šiam tikslui, yra tokia:
1. BH1715 - aplinkos šviesos jutiklis
2. Raspberryy Pi
3. I2C kabelis
4. „I2C Shield For Raspberry Pi“
5. Ethernet kabelis
1 žingsnis: BH1715 apžvalga:
Pirmiausia norime jus supažindinti su pagrindinėmis jutiklio modulio, kuris yra BH1715, ypatybėmis ir ryšio protokolu, kuriuo jis veikia.
BH1715 yra skaitmeninis aplinkos šviesos jutiklis su I²C magistralės sąsaja. BH1715 paprastai naudojamas aplinkos šviesos duomenims gauti, kad būtų galima reguliuoti mobiliųjų įrenginių LCD ir klaviatūros apšvietimo galią. Šis prietaisas siūlo 16 bitų skiriamąją gebą ir reguliuojamą matavimo diapazoną, leidžiantį aptikti nuo 0,23 iki 100 000 liuksų.
Ryšio protokolas, kuriame veikia jutiklis, yra I2C. I2C reiškia integruotą grandinę. Tai ryšio protokolas, kuriame ryšys vyksta per SDA (nuoseklius duomenis) ir SCL (nuoseklaus laikrodžio) linijas. Tai leidžia prijungti kelis įrenginius vienu metu. Tai vienas iš paprasčiausių ir efektyviausių ryšio protokolų.
2 žingsnis: ko jums reikia..
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. BH1715 - aplinkos šviesos jutiklis
2. Raspberry Pi
3. I2C kabelis
4. „I2C Shield For Raspberry Pi“
5. Ethernet kabelis
3 žingsnis: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyriuje iš esmės paaiškinamos reikalingos laidų jungtys tarp jutiklio ir aviečių pi. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:
BH1715 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.
Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!
Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.
Šie ryšiai parodyti aukščiau esančiose nuotraukose.
4 žingsnis: šviesos intensyvumo matavimas naudojant „Java“kodą:
„Raspberry pi“naudojimo pranašumas yra tas, kad programavimo kalba, kuria norite programuoti plokštę, yra lanksti, kad būtų galima su ja susieti jutiklį. Pasinaudodami šiuo šios plokštės pranašumu, mes parodome, kad tai programavimas „Java“. „BH1715“„Java“kodą galima atsisiųsti iš mūsų „GitHub“bendruomenės, kuri yra „Dcube Store“.
Be vartotojų patogumo, mes taip pat paaiškiname kodą čia:
Kaip pirmąjį kodavimo žingsnį, „Java“atveju turite atsisiųsti „pi4j“biblioteką, nes ši biblioteka palaiko kode naudojamas funkcijas. Taigi, norėdami atsisiųsti biblioteką, galite apsilankyti šioje nuorodoje:
pi4j.com/install.html
Taip pat galite nukopijuoti šio jutiklio darbinį „Java“kodą:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// BH1715
// Šis kodas skirtas dirbti su „BH1715_I2CS I2C Mini“moduliu, kurį galima įsigyti iš „ControlEverything.com“.
//
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
importuoti com.pi4j.io.i2c. I2CFactory;
importuoti java.io. IOException;
viešoji klasė BH1715
{
public static void main (String args ) metimai Išimtis
{
// Sukurti I2C magistralę
I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);
// Gauti I2C įrenginį, BH1715 I2C adresas yra 0x23 (35)
I2CDĮrenginio įrenginys = autobusas.getDevice (0x23);
// Siųsti įjungimo komandą
device.write ((baitas) 0x01);
// Siųsti nuolatinio matavimo komandą
device.write ((baitas) 0x10);
Siūlai.miegoti (500);
// Skaityti 2 baitus duomenų
// šviesumas msb, šviesumas lsb
baitas duomenys = naujas baitas [2];
device.read (duomenys, 0, 2);
// Konvertuoti duomenis
dvigubas ryškumas = ((duomenys [0] ir 0xFF) * 256 + (duomenys [1] ir 0xFF)) / 1,20;
// Išvesti duomenis į ekraną
System.out.printf ("Aplinkos šviesos ryškumas: %.2f lux %n", ryškumas);
}
}
Biblioteka, palengvinanti i2c ryšį tarp jutiklio ir plokštės, yra pi4j, įvairūs jos paketai I2CBus, I2CDevice ir I2CFactory padeda užmegzti ryšį.
importuoti com.pi4j.io.i2c. I2CBus; importuoti com.pi4j.io.i2c. I2CDevice; importuoti com.pi4j.io.i2c. I2CFactory; importuoti java.io. IOException;
Ši kodo dalis leidžia jutikliui veikti šviesos intensyvumui matuoti, rašant atitinkamas komandas naudojant rašymo () funkciją, o tada duomenys nuskaitomi naudojant skaitymo () funkciją.
device.write ((baitas) 0x01); // įjungti komandą
device.write ((baitas) 0x10); // nuolatinio matavimo komanda
baitas duomenys = naujas baitas [2]; // Skaityti 2 baitus duomenų
device.read (duomenys, 0, 2);
Duomenys, gauti iš jutiklio, konvertuojami į tinkamą formatą, naudojant šiuos metodus:
dvigubas ryškumas = ((duomenys [0] ir 0xFF) * 256 + (duomenys [1] ir 0xFF)) / 1,20;
Išvestis spausdinama naudojant System.out.println () funkciją tokiu formatu.
System.out.printf ("Aplinkos šviesos ryškumas: %.2f lux %n", ryškumas);
Jutiklio išvestis parodyta aukščiau esančiame paveikslėlyje.
5 žingsnis: programos:
BH1715 yra skaitmeninis išvesties aplinkos šviesos jutiklis, kurį galima integruoti į mobilųjį telefoną, skystųjų kristalų televizorių, PASTABOS kompiuterį ir pan. Jis taip pat gali būti naudojamas nešiojamuose žaidimų mašinose, skaitmeninėse kamerose, skaitmeninėse vaizdo kamerose, PDA, LCD ekranuose ir daugelyje kitų prietaisų, kuriems reikia efektyvios šviesos jutimo programos.
Rekomenduojamas:
Šviesos intensyvumo braižymas naudojant „Arduino“ir „Python“„Arduino“pagrindinę biblioteką: 5 žingsniai
Šviesos intensyvumo braižymas naudojant „Arduino“ir „Python“„Arduino“pagrindinę biblioteką: „Arduino“yra ekonomiškas, tačiau labai efektyvus ir funkcionalus įrankis, jį programavus „Embedded C“projektų kūrimo procesas yra varginantis! „Python“modulis „Arduino_Master“tai supaprastina ir leidžia atlikti skaičiavimus, pašalinti šiukšlių vertes
Šviesos intensyvumo skaičiavimas naudojant BH1715 ir „Arduino Nano“: 5 žingsniai
Šviesos intensyvumo skaičiavimas naudojant BH1715 ir „Arduino Nano“: vakar dirbome prie LCD ekranų, o dirbdami su jais supratome šviesos intensyvumo skaičiavimo svarbą. Šviesos intensyvumas yra ne tik svarbus šio pasaulio fizinėje srityje, bet ir gerai tariamas biologiniame
Šviesos intensyvumo skaičiavimas naudojant BH1715 ir dalelių fotoną: 5 žingsniai
Šviesos intensyvumo skaičiavimas naudojant BH1715 ir dalelių fotoną: vakar dirbome prie LCD ekranų, o dirbdami su jais supratome šviesos intensyvumo skaičiavimo svarbą. Šviesos intensyvumas yra ne tik svarbus šio pasaulio fizinėje srityje, bet ir gerai tariamas biologiniame
Šviesos intensyvumo energijos taupymas naudojant fotoelementus ir termistorius: 6 žingsniai
Šviesos intensyvumo energijos taupymas naudojant fotoelementus ir termistorius: ši instrukcija skirta išmokyti jus sutaupyti energijos keičiant šviesos intensyvumą naudojant fotoelementus ir termistorius. Mes parodysime, kaip sukurti grandinę ir koduoti „Arduino“naudojant MATLAB
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: 5 žingsniai (su paveikslėliais)
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: Supratau infraraudonųjų spindulių kamerą, kad galėčiau ją naudoti judesio fiksavimo sistemoje. Su juo taip pat galite gauti tokių nuostabių vaizdų: blizgių objektų, matomų fotoaparate, kurie yra normalūs realybėje. Už pigią kainą galite gauti gana gerų rezultatų. Jis