Isi kandungan:

Pengukuran Intensiti Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah
Pengukuran Intensiti Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah

Video: Pengukuran Intensiti Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah

Video: Pengukuran Intensiti Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah
Video: Cara Menggunakan Sensor Lux Meter BH1750 Sensor Intensitas Cahaya Dengan ESP8266 IDE Arduino 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 cara kerja BH1715 dengan Raspberry pi, menggunakan Java sebagai bahasa pengaturcaraan.

Perkakasan yang anda perlukan untuk tujuan ini adalah seperti berikut:

1. BH1715 - Sensor Cahaya Ambient

2. Raspberryy Pi

3. Kabel I2C

4. Perisai I2C Untuk Raspberry Pi

5. Kabel Ethernet

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

3. Kabel I2C

4. Perisai I2C Untuk Raspberry Pi

5. Kabel Ethernet

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 Menggunakan Kod Java:

Pengukuran Intensiti Cahaya Menggunakan Kod Java
Pengukuran Intensiti Cahaya Menggunakan Kod Java
Pengukuran Intensiti Cahaya Menggunakan Kod Java
Pengukuran Intensiti Cahaya Menggunakan Kod Java

Kelebihan menggunakan raspberry pi adalah, yang memberi anda fleksibiliti bahasa pengaturcaraan di mana anda ingin memprogram papan untuk menghubungkan antara sensor dengannya. Dengan memanfaatkan kelebihan papan ini, kami menunjukkan di sini programnya di Java. Kod Java untuk BH1715 boleh dimuat turun dari komuniti GitHub kami iaitu Dcube Store.

Serta untuk kemudahan pengguna, kami menerangkan kodnya di sini juga:

Sebagai langkah pertama pengekodan, anda perlu memuat turun pustaka pi4j sekiranya terdapat java, kerana perpustakaan ini menyokong fungsi yang digunakan dalam kod. Oleh itu, untuk memuat turun perpustakaan anda boleh melayari pautan berikut:

pi4j.com/install.html

Anda boleh menyalin kod java yang berfungsi untuk sensor ini dari sini juga:

// Diagihkan dengan lesen kehendak bebas.

// Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.

// BH1715

// Kod ini direka bentuk untuk bekerja dengan Modul Mini BH1715_I2CS I2C yang tersedia dari ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

kelas awam BH1715

{

utama kekosongan statik awam (String args ) melontarkan Pengecualian

{

// Buat bas I2C

Bas I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Dapatkan peranti I2C, alamat BH1715 I2C adalah 0x23 (35)

Peranti I2CDevice = bus.getDevice (0x23);

// Hantar arahan power on

device.write ((byte) 0x01);

// Hantar arahan pengukuran berterusan

device.write ((byte) 0x10);

Thread.sleep (500);

// Baca 2 bait data

// luminance msb, luminance lsb

bait data = bait baru [2];

device.read (data, 0, 2);

// Tukar data

pencahayaan berganda = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;

// Keluarkan data ke skrin

System.out.printf ("Pencahayaan Cahaya Ambient:%.2f lux% n", pencahayaan);

}

}

Perpustakaan yang memudahkan komunikasi i2c antara sensor dan papan adalah pi4j, pelbagai paket I2CBus, I2CDevice dan I2CFactory membantu mewujudkan sambungan.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;

Bahagian kod ini menjadikan sensor beroperasi untuk pengukuran intensiti cahaya dengan menulis perintah masing-masing menggunakan fungsi tulis () dan kemudian data dibaca menggunakan fungsi baca ().

device.write ((byte) 0x01); // power on perintah

device.write ((byte) 0x10); // arahan pengukuran berterusan

bait data = bait baru [2]; // Baca 2 bait data

device.read (data, 0, 2);

Data yang diterima dari sensor diubah ke format yang sesuai dengan menggunakan yang berikut:

pencahayaan berganda = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;

Keluaran dicetak menggunakan fungsi System.out.println (), dalam format berikut.

System.out.printf ("Pencahayaan Cahaya Ambient:%.2f lux% n", pencahayaan);

Output sensor ditunjukkan pada gambar di atas.

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: