Mündəricat:
- Addım 1: BH1715 Baxış:
- Addım 2: Nə Lazımdır..
- Addım 3: Hardware Bağlantısı:
- Addım 4: İşıq intensivliyinin ölçülməsi Arduino Kodu:
- Addım 5: Tətbiqlər:
Video: BH1715 və Arduino Nano istifadə edərək İşıq Gücünün Hesablanması: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Dünən LCD displeylər üzərində işləyirdik və onların üzərində işləyərkən işıq intensivliyinin hesablanmasının vacibliyini anladıq. İşıq intensivliyi təkcə bu dünyanın fiziki aləmində deyil, həm də bioloji aləmdə yaxşı ifadə olunmuş rola malikdir. İşığın intensivliyinin dəqiq qiymətləndirilməsi ekosistemimizdə, bitkilərin böyüməsində və s. Əsas rol oynayır. Bu məqsədlə xidmət etmək üçün 16 bitlik seriyalı çıxış tipli ətraf işıq sensoru olan BH1715 sensorunu öyrəndik.
Bu təlimatda BH1715 -in Arduino Nano ilə işini nümayiş etdirəcəyik.
Bunun üçün ehtiyac duyacağınız avadanlıq aşağıdakı kimidir:
1. BH1715 - Ambient Light Sensor
2. Arduino nano
3. I2C Kabeli
4. Arduino Nano üçün I2C Shield
Addım 1: BH1715 Baxış:
Əvvəlcə BH1715 sensor modulunun əsas xüsusiyyətləri və işlədiyi ünsiyyət protokolu ilə tanış olmaq istərdik.
BH1715, I²C avtobus interfeysi olan rəqəmsal Ətraf İşıq Sensorudur. BH1715 ümumiyyətlə mobil cihazlar üçün LCD və Klaviatura arxa işığının gücünü tənzimləmək üçün ətraf işıq məlumatlarını əldə etmək üçün istifadə olunur. Bu cihaz 16 bitlik qətnamə və tənzimlənən ölçü diapazonuna malikdir.
Sensorun işlədiyi rabitə protokolu I2C -dir. I2C, inteqrasiya edilmiş dövrəni ifadə edir. SDA (serial məlumat) və SCL (serial saat) xətləri vasitəsi ilə ünsiyyətin qurulduğu bir ünsiyyət protokoludur. Eyni anda birdən çox cihazı birləşdirməyə imkan verir. Ən sadə və ən təsirli ünsiyyət protokollarından biridir.
Addım 2: Nə Lazımdır..
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. BH1715 - Ambient Light Sensor
2. Arduino Nano
3. I2C Kabeli
4. Arduino nano üçün I2C Shield
Addım 3: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:
BH1715 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.
Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük. Lazım olan tək şey dörd teldir!
Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.
Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.
Addım 4: İşıq intensivliyinin ölçülməsi Arduino Kodu:
İndi Arduino kodu ilə başlayaq.
Sensor modulunu Arduino ilə birlikdə istifadə edərkən Wire.h kitabxanasına daxil oluruq. "Tel" kitabxanası, sensor və Arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün Arduino kodu aşağıda verilmişdir:
#daxil edin
// BH1715 I2C ünvanı 0x23 (35) #define Addr 0x23 void setup () {// I2C ünsiyyətini MASTER Wire.begin () olaraq başladın; // Serial Kommunikasiyasını işə salın, baud sürətini təyin edin = 9600 Serial.begin (9600); // I2C Transmission Wire.beginTransmission (Addr) başlayın; // Wire.write (0x01) əmrinə güc göndərin; // I2C Transmission Wire.endTransmission () dayandırın; // I2C Transmission Wire.beginTransmission (Addr) başlayın; // Davamlı ölçmə əmri göndər Wire.write (0x10); // I2C Transmission Wire.endTransmission () dayandırın; gecikmə (300); } void loop () {unsigned int data [2]; // Wire.requestFromdan 2 bayt məlumat istəyin (Addr, 2); // 2 bayt məlumat oxuyun // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } gecikmə (300); // məlumatların üzmə parlaqlığını çevirmək = ((data [0] * 256) + data [1]) /1.20; // Serial.print ("Ambient Light Luminance:") seriyalı monitora çıxış məlumatları; Serial çap (parlaqlıq); Serial.println ("lüks"); }
Kodun aşağıdakı hissəsi, Wire.begin () və Serial.begin () funksiyalarının köməyi ilə i2c ünsiyyətini və serial ünsiyyətini başlatır.
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin (); // Serial Kommunikasiyasını işə salın, baud sürətini təyin edin = 9600 Serial.begin (9600); // I2C Transmission Wire.beginTransmission (Addr) başlayın; // Wire.write (0x01) əmrinə güc göndərin; // I2C Transmission Wire.endTransmission () dayandırın; // I2C Transmission Wire.beginTransmission (Addr) başlayın; // Wire.write (0x10) davamlı ölçmə əmrini göndərin; // I2C Transmission Wire.endTransmission () dayandırın; gecikmə (300);
İşığın intensivliyi kodun növbəti hissəsində ölçülür.
imzasız int məlumatları [2];
// Wire.requestFromdan 2 bayt məlumat istəyin (Addr, 2); // 2 bayt məlumat oxuyun // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } gecikmə (300); // məlumatların üzmə parlaqlığını çevirmək = ((data [0] * 256) + data [1]) /1.20; // Serial.print ("Ambient Light Luminance:") seriyalı monitora çıxış məlumatları; Serial çap (parlaqlıq); Serial.println ("lüks");
Etməyiniz lazım olan hər şey kodu arduinoda yazmaq və seriya portunda oxunuşlarınızı yoxlamaqdır. Çıxış istinad üçün yuxarıdakı şəkildə də göstərilmişdir.
Addım 5: Tətbiqlər:
BH1715, Cib telefonu, LCD TV, NOTE PC və s. Daxil edilə bilən rəqəmsal bir çıxış işıq sensoru, Portativ oyun maşını, Rəqəmsal kamera, Rəqəmsal video kamera, PDA, LCD ekran və daha çox cihazda istifadə edilə bilər. səmərəli işıq algılama tətbiqləri.
Tövsiyə:
BME280 və Foton İnterfeysindən istifadə edərək Nəmlik, Təzyiq və Temperaturun Hesablanması .: 6 Addım
BME280 və Foton İnterfeysindən istifadə edərək Nəmlik, Təzyiq və Temperatur Hesablamaları: İstilik, təzyiq və rütubət monitorinqini tələb edən müxtəlif layihələrlə rastlaşırıq. Beləliklə, bu parametrlərin əslində fərqli atmosfer şəraitində bir sistemin iş səmərəliliyinin qiymətləndirilməsində mühüm rol oynadığını başa düşürük
BH1715 və Raspberry Pi istifadə edərək işıq intensivliyinin ölçülməsi: 5 addım
BH1715 və Raspberry Pi istifadə edərək işığın intensivliyinin ölçülməsi: Dünən LCD displeylər üzərində işləyirdik və onların üzərində işləyərkən işıq intensivliyi hesablamasının vacibliyini anladıq. İşıq intensivliyi təkcə bu dünyanın fiziki aləmində deyil, bioloji fəaliyyətində də çox yaxşı deyilən rola malikdir
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
BH1715 və Particle Photon istifadə edərək İşıq İntensivliyi Hesablanması: 5 addım
BH1715 və Particle Photon istifadə edərək işığın intensivliyinin hesablanması: Dünən LCD displeylər üzərində işləyirdik və onların üzərində işləyərkən işıq intensivliyi hesablamasının vacibliyini anladıq. İşıq intensivliyi təkcə bu dünyanın fiziki aləmində deyil, bioloji fəaliyyətində də çox yaxşı deyilən rola malikdir
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: 6 Addım
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: Hamıya salam! Pulse Width Modulation (PWM) telekommunikasiya və güc nəzarətində çox yayılmış bir texnikadır. bir mühərrik, bir LED, dinamiklər və s., bir elektrik cihazına verilən enerjini idarə etmək üçün ümumiyyətlə istifadə olunur. Əsasən bir modudur