Perintang Bergantung Cahaya – Penderia LDR dengan ESP32 Menggunakan Arduino IDE

Perintang Bergantung Cahaya Penderia Ldr Dengan Esp32 Menggunakan Arduino Ide



ESP32 ialah mikropengawal berkuasa yang dilengkapi dengan ciri untuk IoT. ESP32 dengan LDR boleh mengukur keamatan cahaya dan mencetuskan tindak balas mengikutnya. Menggunakan ESP32 dan LDR, kami boleh mencipta projek berasaskan penderiaan cahaya jauh dan mereka bentuk pelbagai penyelesaian IoT yang inovatif untuk pelbagai industri dan aplikasi.

Dalam panduan ini, asas LDR dan aplikasinya dengan ESP32 akan diliputi.







1: Pengenalan kepada Penderia LDR



2: Aplikasi LDR dengan ESP32



3: Mengantaramuka LDR dengan ESP32 Menggunakan Arduino IDE





Kesimpulan

1: Pengenalan kepada Sensor LDR

A L ight D ependant R esistor (LDR) ialah sejenis perintang yang mengubah rintangannya berdasarkan keamatan cahaya yang terdedah kepadanya. Dalam kegelapan, rintangannya sangat tinggi, manakala dalam cahaya terang rintangannya sangat rendah. Perubahan dalam rintangan ini menjadikannya terbaik untuk projek penderiaan cahaya.




Pin analog ESP32 menukar voltan masuk kepada integer antara 0 dan 4095. Nilai integer ini dipetakan terhadap voltan input analog daripada 0V kepada 3.3V yang secara lalai adalah voltan rujukan ADC dalam ESP32. Nilai ini dibaca menggunakan Arduino analogRead() fungsi dari LDR.

Untuk panduan terperinci lanjut dan pinout ADC ESP32 baca artikel itu ESP32 ADC – Baca Nilai Analog dengan Arduino IDE .


ESP32 mempunyai penukar analog-ke-digital (ADC) terbina dalam yang boleh mengukur voltan merentasi LDR dan menukarnya kepada isyarat digital yang boleh diproses oleh mikropengawal. Menggunakan isyarat ini ESP32 menentukan rintangan LDR, yang berkadar dengan keamatan cahaya.

Di sini kita akan menggunakan pin saluran 1 ESP32 ADC.


Foton atau zarah cahaya memainkan peranan penting dalam operasi LDR. Apabila cahaya jatuh pada permukaan LDR, foton diserap oleh bahan, yang kemudian membebaskan elektron dalam bahan. Bilangan elektron bebas adalah berkadar terus dengan keamatan cahaya, dan semakin banyak elektron yang dibebaskan, semakin rendah rintangan LDR.

2: Aplikasi LDR dengan ESP32

Berikut ialah senarai beberapa aplikasi berasaskan IoT LDR dengan ESP32:

    • Suis diaktifkan lampu
    • Penunjuk aras cahaya
    • Mod malam dalam peranti
    • Sistem keselamatan berasaskan cahaya
    • Sistem pencahayaan pintar
    • Sistem keselamatan sensitif cahaya
    • Pemantauan tumbuhan
    • Pencahayaan yang cekap tenaga
    • Tirai tingkap automatik

3: Mengantaramuka LDR dengan ESP32 Menggunakan Arduino IDE

Untuk menggunakan LDR dengan ESP32 kita perlu menyambungkan LDR dengan pin saluran ESP32 ADC. Selepas itu kod Arduino diperlukan yang akan membaca nilai analog dari pin keluaran LDR. Untuk mereka bentuk litar ini, kami memerlukan LDR, perintang, dan papan ESP32.

LDR dan perintang disambung secara bersiri, dengan LDR disambungkan ke saluran analog 1 pin input ESP32. LED akan ditambah pada litar yang boleh menguji kerja LDR.

3.1: Skema

Gambar rajah litar untuk antara muka LDR dengan ESP32 agak mudah. Kita perlu menyambungkan LDR dan perintang dalam konfigurasi pembahagi voltan dan sambungkan output pembahagi voltan ke pin ADC (Analog to Digital Converter) ESP32. Saluran ADC 1 pin D34 digunakan sebagai input analog untuk ESP32.

Imej berikut ialah skema ESP32 dengan sensor LDR.

3.2: Kod

Setelah litar telah disediakan, langkah seterusnya ialah menulis kod untuk ESP32. Kod akan membaca input analog daripada LDR dan menggunakannya untuk mengawal LED atau peranti lain berdasarkan tahap cahaya yang berbeza.

int LDR_Val = 0 ; /* Pembolehubah untuk menyimpan nilai photoresistor */
int sensor = 3. 4 ; /* Input Analog untuk fotoperintang */
int dipimpin = 25 ; /* Pin output LED */
persediaan kosong ( ) {
Bersiri.mulakan ( 9600 ) ; /* Kadar baud untuk komunikasi bersiri */
    mod pin ( dipimpin, OUTPUT ) ; /* Pin LED ditetapkan sebagai pengeluaran */
}
gelung kosong ( ) {
LDR_Val = analogRead ( penderia ) ; /* Analog membaca nilai LDR */
Bersiri.cetak ( 'Nilai Output LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* Paparkan Val Output LDR pada monitor bersiri */
jika ( LDR_Val > 100 ) { /* Jika keamatan cahaya adalah TINGGI */
Serial.println ( ' Intensiti tinggi ' ) ;
digitalWrite ( dipimpin, RENDAH ) ; /* LED Kekal PADAM */
}
lain {
/* Lainlah jika Keamatan cahaya adalah RENDAH LED akan Kekal HIDUP */
Serial.println ( 'Intensiti RENDAH' ) ;
digitalWrite ( dipimpin, TINGGI ) ; /* LED Hidupkan nilai LDR ialah kurang daripada 100 */
}
kelewatan ( 1000 ) ; /* Membaca nilai selepas setiap 1 sec */
}


Dalam kod di atas kami menggunakan LDR dengan ESP32 yang akan mengawal LED menggunakan input analog yang datang dari LDR.

Tiga baris pertama kod mengisytiharkan pembolehubah untuk menyimpan nilai photoresistor , yang pin analog untuk fotoperintang, dan LED pin keluaran.

Di dalam persediaan() fungsi, komunikasi bersiri dimulakan dengan kadar baud 9600 dan pin LED D25 ditetapkan sebagai output.

Di dalam gelung() fungsi, nilai photoresistor dibaca menggunakan fungsi analogRead(), yang disimpan dalam LDR_Val pembolehubah. Nilai photoresistor kemudiannya dipaparkan pada monitor bersiri menggunakan fungsi Serial.println().

An jika tidak pernyataan digunakan untuk mengawal LED berdasarkan keamatan cahaya yang dikesan oleh photoresistor. Jika nilai photoresistor lebih besar daripada 100, ini bermakna keamatan cahaya adalah HIGH, dan LED kekal OFF. Walau bagaimanapun, jika nilai photoresistor kurang daripada atau sama dengan 100, ini bermakna keamatan cahaya adalah RENDAH, dan LED dihidupkan.

Akhirnya, program menunggu selama 1 saat menggunakan fungsi delay() sebelum membaca nilai photoresistor sekali lagi. Kitaran ini berulang tanpa had, menjadikan LED dihidupkan dan dimatikan berdasarkan keamatan cahaya yang dikesan oleh fotoperintang.

3.3: Output di bawah Cahaya Malap

Keamatan cahaya kurang daripada 100 jadi LED akan kekal HIDUP.

3.4: Output di bawah Cahaya Terang

Apabila keamatan cahaya meningkat, nilai LDR akan meningkat dan rintangan LDR akan berkurangan jadi LED akan dimatikan.

Kesimpulan

LDR boleh disambungkan dengan ESP32 menggunakan saluran ADC 1 pin. Output LDR boleh mengawal penderiaan cahaya dalam pelbagai aplikasi. Dengan kos rendah dan saiznya yang padat, ESP32 dan LDR membuat pilihan yang menarik untuk projek IoT yang memerlukan keupayaan penderiaan cahaya. Menggunakan Arduino analogRead() fungsi kita boleh membaca nilai dari LDR.