Mündəricat:

BH1715 və Particle Photon istifadə edərək İşıq İntensivliyi Hesablanması: 5 addım
BH1715 və Particle Photon istifadə edərək İşıq İntensivliyi Hesablanması: 5 addım

Video: BH1715 və Particle Photon istifadə edərək İşıq İntensivliyi Hesablanması: 5 addım

Video: BH1715 və Particle Photon istifadə edərək İşıq İntensivliyi Hesablanması: 5 addım
Video: Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial 2024, Noyabr
Anonim
Image
Image

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 Particle Photon ilə işini nümayiş etdirəcəyik. Particle Photon, İnternet vasitəsilə hər hansı bir cihazın idarə olunmasını asanlaşdıra bilən lövhədir.

Bunun üçün ehtiyac duyacağınız avadanlıq aşağıdakı kimidir:

1. BH1715 - Ambient Light Sensor

2. Foton hissəcikləri

3. I2C Kabeli

4. Partikül Foton üçün I2C Qalxanı

Addım 1: BH1715 Baxış:

Nə Lazımdır.. !!
Nə Lazımdır.. !!

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

Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
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. Foton hissəcikləri

3. I2C Kabeli

4. Partikül Fotonu üçün I2C Qalxanı

Addım 3: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

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 İntensivliyi Ölçmə Partikül Kodu:

İşığın İntensivliyi Ölçmə Partikül Kodu
İşığın İntensivliyi Ölçmə Partikül Kodu
İşığın İntensivliyi Ölçmə Partikül Kodu
İşığın İntensivliyi Ölçmə Partikül Kodu

İndi hissəcik kodundan başlayaq.

Sensor modulunu arduino ilə işləyərkən application.h və spark_wiring_i2c.h kitabxanasını daxil edirik. "application.h" və spark_wiring_i2c.h kitabxanası, sensor və hissəcik arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.

İstifadəçinin rahatlığı üçün bütün hissəcik kodu aşağıda verilmişdir:

#daxil edin

#daxil edin

// BH1715 I2C ünvanı 0x23 (35)

#define Addr 0x23

int parlaqlıq = 0;

boş quraşdırma ()

{

// Dəyişən təyin edin

Particle.variable ("i2cdevice", "BH1715");

Hissəcik.dəyişən ("parlaqlıq", parlaqlıq);

// I2C ünsiyyətini MASTER olaraq başladın

Wire.begin ();

// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Güc əmrini göndərin

Wire.write (0x01);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Davamlı ölçmə əmri göndərin

Wire.write (0x10);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int məlumatları [2];

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// ALS msb, ALS lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

gecikmə (300);

// Məlumatları çevirin

parlaqlıq = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;

// Göstərişlər panelinə məlumat çıxarın

Particle.publish ("Ambient Light Luminance:", String (parlaqlıq));

}

Addım 5: Tətbiqlər:

Tətbiqlər
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ə: