Isi kandungan:

Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: 5 Langkah
Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: 5 Langkah

Video: Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: 5 Langkah

Video: Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: 5 Langkah
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, November
Anonim
Image
Image

Semalam kami mengerjakan paparan LCD, dan semasa mengusahakannya, kami menyedari pentingnya pengiraan intensiti cahaya. Keamatan cahaya tidak hanya penting dalam domain fizikal dunia ini tetapi ia juga berperanan baik dalam domain biologi. Anggaran tepat mengenai intensiti cahaya memainkan peranan penting dalam ekosistem kita, dalam pertumbuhan tanaman, dan lain-lain. Oleh itu, untuk tujuan ini, kami mempelajari sensor ini BH1715, yang merupakan sensor cahaya ambien jenis output bersiri 16-bit.

Dalam tutorial ini, kita akan menunjukkan kerja BH1715 dengan Arduino Nano.

Perkakasan yang anda perlukan untuk tujuan ini adalah seperti berikut:

1. BH1715 - Sensor Cahaya Ambient

2. Arduino nano

3. Kabel I2C

4. Perisai I2C Untuk Arduino Nano

Langkah 1: Gambaran Keseluruhan BH1715:

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

Pertama sekali, kami ingin membiasakan anda dengan ciri asas modul sensor iaitu BH1715 dan protokol komunikasi yang berfungsi.

BH1715 adalah Sensor Cahaya Ambient digital dengan antara muka bas I²C. BH1715 biasanya digunakan untuk mendapatkan data cahaya sekitar untuk menyesuaikan daya lampu latar LCD dan Keypad untuk peranti mudah alih. Peranti ini menawarkan resolusi 16-bit dan julat pengukuran yang boleh disesuaikan, yang memungkinkan pengesanan dari 0,23 hingga 100, 000 lux.

Protokol komunikasi di mana sensor berfungsi adalah I2C. I2C bermaksud litar antara bersepadu. Ini adalah protokol komunikasi di mana komunikasi berlaku melalui talian SDA (data bersiri) dan SCL (jam bersiri). Ia membolehkan menyambungkan pelbagai peranti pada masa yang sama. Ini adalah salah satu protokol komunikasi yang paling mudah dan berkesan.

Langkah 2: Apa yang Anda Perlu..

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:

1. BH1715 - Sensor Cahaya Ambient

2. Arduino Nano

3. Kabel I2C

4. Perisai I2C untuk Arduino nano

Langkah 3: Penyambungan Perkakasan:

Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan

Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan raspberry pi. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:

BH1715 akan berfungsi di atas I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.

Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik. Yang anda perlukan hanyalah empat wayar!

Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.

Sambungan ini ditunjukkan dalam gambar di atas.

Langkah 4: Pengukuran Intensiti Cahaya Arduino Code:

Pengukuran Intensiti Cahaya Arduino Code
Pengukuran Intensiti Cahaya Arduino Code
Pengukuran Intensiti Cahaya Arduino Code
Pengukuran Intensiti Cahaya Arduino Code

Mari mulakan dengan kod Arduino sekarang.

Semasa menggunakan modul sensor dengan Arduino, kami menyertakan perpustakaan Wire.h. Perpustakaan "Wire" mengandungi fungsi yang memudahkan komunikasi i2c antara sensor dan papan Arduino.

Keseluruhan kod Arduino diberikan di bawah untuk kemudahan pengguna:

#sertakan

// Alamat BH1715 I2C adalah 0x23 (35) #define Addr 0x23 sia-sia persediaan () {// Memulakan komunikasi I2C sebagai MASTER Wire.begin (); // Inisialisasi Serial Communication, tetapkan baud rate = 9600 Serial.begin (9600); // Mula I2C Transmission Wire.beginTransmission (Addr); // Hantar kuasa pada arahan Wire.write (0x01); // Hentikan I2C Transmission Wire.endTransmission (); // Mula I2C Transmission Wire.beginTransmission (Addr); // Hantar arahan pengukuran berterusan Wire.write (0x10); // Hentikan I2C Transmission Wire.endTransmission (); kelewatan (300); } gelung kosong () {data int yang tidak ditandatangani [2]; // Minta 2 bait data Wire.requestFrom (Addr, 2); // Baca 2 bait data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } kelewatan (300); // ubah data float luminance = ((data [0] * 256) + data [1]) / 1.20; // Keluarkan data ke monitor bersiri Serial.print ("Ambient Light Luminance:"); Serial.print (pencahayaan); Serial.println ("lux"); }

Bahagian kod berikut memulakan komunikasi i2c dan komunikasi bersiri dengan bantuan fungsi Wire.begin () dan Serial.begin ().

// Memulakan komunikasi I2C sebagai MASTER

Wire.begin (); // Permulaan Komunikasi Bersiri, tetapkan kadar baud = 9600 Serial.begin (9600); // Mula I2C Transmission Wire.beginTransmission (Addr); // Hantar kuasa pada arahan Wire.write (0x01); // Hentikan I2C Transmission Wire.endTransmission (); // Mula I2C Transmission Wire.beginTransmission (Addr); // Hantar arahan pengukuran berterusan Wire.write (0x10); // Hentikan I2C Transmission Wire.endTransmission (); kelewatan (300);

Keamatan cahaya diukur pada bahagian kod berikut.

data int yang tidak ditandatangani [2];

// Meminta 2 bait data Wire.requestFrom (Addr, 2); // Baca 2 bait data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } kelewatan (300); // ubah data float luminance = ((data [0] * 256) + data [1]) / 1.20; // Keluarkan data ke monitor bersiri Serial.print ("Ambient Light Luminance:"); Serial.print (pencahayaan); Serial.println ("lux");

Yang perlu anda buat hanyalah membakar kod di arduino dan periksa bacaan anda di port bersiri. Hasilnya ditunjukkan dalam gambar di atas juga untuk rujukan anda.

Langkah 5: Aplikasi:

Permohonan
Permohonan

BH1715 adalah sensor cahaya ambien output digital yang boleh disertakan dalam telefon bimbit, TV LCD, PC CATATAN dan lain-lain. Ia juga dapat digunakan dalam mesin permainan Portable, kamera digital, kamera video Digital, PDA, paparan LCD dan banyak lagi peranti yang memerlukan aplikasi penderiaan cahaya yang cekap.

Disyorkan: