Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
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 „Arduino Nano“.
Aparatūra, kurios jums reikės šiam tikslui, yra tokia:
1. BH1715 - aplinkos šviesos jutiklis
2. Arduino nano
3. I2C kabelis
4. I2C skydas „Arduino Nano“
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. „Arduino Nano“
3. I2C kabelis
4. „I2C Shield“, skirtas „Arduino nano“
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 „Arduino“kodas:
Pradėkime nuo „Arduino“kodo dabar.
Naudodami jutiklio modulį su „Arduino“, įtraukiame „Wire.h“biblioteką. „Wire“bibliotekoje yra funkcijos, palengvinančios „i2c“ryšį tarp jutiklio ir „Arduino“plokštės.
Visas „Arduino“kodas pateiktas žemiau, kad būtų patogiau:
#įtraukti
// BH1715 I2C adresas yra 0x23 (35) #define Addr 0x23 void setup () {// Inicijuoti I2C ryšį kaip MASTER Wire.begin (); // Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600 Serial.begin (9600); // Pradėti I2C perdavimo laidą.beginTransmission (Addr); // Siųsti įjungimo komandą Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Pradėti I2C perdavimo laidą.beginTransmission (Addr); // Siųsti nuolatinio matavimo komandą Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); vėlavimas (300); } void loop () {unsigned int data [2]; // Prašyti 2 baitų duomenų Wire.requestFrom (Addr, 2); // Skaityti 2 baitus duomenų // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); duomenys [1] = Wire.read (); } uždelsimas (300); // konvertuoti duomenų plūdės šviesumą = ((duomenys [0] * 256) + duomenys [1]) /1.20; // Išvesties duomenys į serijinį monitorių Serial.print ("Aplinkos šviesos ryškumas:"); Serijinis atspaudas (ryškumas); Serial.println („liuksas“); }
Tolesnė kodo dalis inicijuoja „i2c“ryšį ir nuoseklųjį ryšį naudojant „Wire.begin“() ir „Serial.begin“() funkcijas.
// Inicijuoti I2C komunikaciją kaip MASTER
Wire.begin (); // Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600 Serial.begin (9600); // Pradėti I2C perdavimo laidą.beginTransmission (Addr); // Siųsti įjungimo komandą Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Pradėti I2C perdavimo laidą.beginTransmission (Addr); // Siųsti nuolatinio matavimo komandą Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); vėlavimas (300);
Šviesos intensyvumas matuojamas kitame kodo skyriuje.
nepasirašyti int duomenys [2];
// Prašyti 2 baitų duomenų Wire.requestFrom (Addr, 2); // Skaityti 2 baitus duomenų // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); duomenys [1] = Wire.read (); } uždelsimas (300); // konvertuoti duomenų plūdės šviesumą = ((duomenys [0] * 256) + duomenys [1]) /1.20; // Išvesties duomenys į serijinį monitorių Serial.print ("Aplinkos šviesos ryškumas:"); Serijinis atspaudas (ryškumas); Serial.println („liuksas“);
Viskas, ką jums reikia padaryti, tai įrašyti kodą „arduino“ir patikrinti serijos prievado rodmenis. Išvestis parodyta aukščiau esančiame paveikslėlyje, taip pat jūsų nuoroda.
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 matavimas naudojant BH1715 ir Raspberry Pi: 5 žingsniai
Šviesos intensyvumo matavimas naudojant BH1715 ir Raspberry Pi: 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 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 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