Isi kandungan:
- Langkah 1: Gambaran Keseluruhan BH1715:
- Langkah 2: Apa yang Anda Perlu..
- Langkah 3: Penyambungan Perkakasan:
- Langkah 4: Pengukuran Intensiti Cahaya Menggunakan Kod Java:
- Langkah 5: Aplikasi:
Video: Pengukuran Intensiti Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
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:
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..
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:
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:
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:
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:
Cara Membuat Penebangan Suhu dan Intensiti Cahaya - Simulasi Proteus - Fritzing - Pembuat Liono: 5 Langkah
Cara Membuat Penebangan Suhu dan Intensiti Cahaya | Simulasi Proteus | Fritzing | Liono Maker: Hai ini Liono Maker, Ini adalah Saluran YouTube rasmi saya. Ini adalah Saluran YouTube Sumber terbuka. Ada Pautan: Saluran YouTube Liono Maker Ada pautan video: Temp & light Intensity LoggingDalam tutorial ini kita akan belajar bagaimana membuat Temper
Rancangan Intensiti Cahaya Menggunakan Perpustakaan Arduino Arduino dan Python's Master: 5 Langkah
Rancangan Intensiti Cahaya Menggunakan Arduino dan Pustaka Arduino Master Python's: Arduino menjadi alat yang ekonomik namun sangat efisien dan berfungsi, memprogramkannya di Embedded C menjadikan proses membuat projek membosankan! Modul Arduino_Master Python mempermudah ini dan membolehkan kita melakukan pengiraan, membuang nilai sampah
Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: 5 Langkah
Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Arduino Nano: Semalam kami mengerjakan paparan LCD, dan semasa mengusahakannya, kami menyedari betapa pentingnya pengiraan intensiti cahaya. Keamatan cahaya tidak hanya penting dalam domain fizikal dunia ini tetapi juga berperanan baik dalam biologi
Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Foton Zarah: 5 Langkah
Pengiraan Intensiti Cahaya Menggunakan BH1715 dan Foton Partikel: 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 juga berperanan baik dalam biologi
Penjimat Tenaga Intensiti Cahaya Menggunakan Photocells dan Thermistor: 6 Langkah
Penjimat Tenaga Intensiti Cahaya Menggunakan Photocells dan Thermistor: Instruksional ini direka untuk mengajar anda cara menjimatkan tenaga dengan mengubah intensiti cahaya menggunakan photocells dan thermistors. Kami akan menunjukkan kepada anda cara membina litar dan memberi kod Arduino menggunakan MATLAB