Šviesos intensyvumo matavimas naudojant BH1715 ir Raspberry Pi: 5 žingsniai
Šviesos intensyvumo matavimas naudojant BH1715 ir Raspberry Pi: 5 žingsniai
Anonim
Image
Image

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:

Ko tau reikia..!!
Ko tau reikia..!!

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

Ko tau reikia..!!
Ko tau reikia..!!
Ko tau reikia..!!
Ko tau reikia..!!
Ko tau reikia..!!
Ko tau 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:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

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ą:

Šviesos intensyvumo matavimas naudojant „Java“kodą
Šviesos intensyvumo matavimas naudojant „Java“kodą
Šviesos intensyvumo matavimas naudojant „Java“kodą
Š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:

Programos
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: