Cari Kode

Tutorial ESP32 22/55 - Merasakan Cahaya menggunakan LED Arduino | Kit Pembelajaran IoT ESP32 SunFounder

Tutorial ESP32 22/55 - Merasakan Cahaya menggunakan LED Arduino | Kit Pembelajaran IoT ESP32 SunFounder

Dalam tutorial ini, kita akan mempelajari cara menggunakan Light Dependent Resistor (LDR) dengan mikrokontroler ESP32 untuk mengukur intensitas cahaya. Dengan membaca resistansi LDR, kita dapat memicu tindakan, seperti menyalakan buzzer ketika tingkat cahaya melebihi ambang batas tertentu. Proyek ini akan menunjukkan interaksi antara tingkat cahaya dan kemampuan pembacaan analog ESP32, memungkinkan kita untuk membuat aplikasi responsif berdasarkan cahaya sekitar. (dalam video pada 5:30)

Penjelasan Perangkat Keras

Komponen utama yang akan kita gunakan dalam proyek ini meliputi mikrokontroler ESP32, sebuah LDR, dan resistor 10 kΩ. LDR mengubah resistansinya berdasarkan intensitas cahaya yang mengenai permukaannya: semakin banyak cahaya menghasilkan resistansi yang lebih rendah, sedangkan semakin sedikit cahaya menghasilkan resistansi yang lebih tinggi. Sifat ini memungkinkan kita untuk mengukur tingkat cahaya yang bervariasi dengan menghubungkan LDR dalam konfigurasi pembagi tegangan dengan resistor.

Mikrokontroler ESP32 dilengkapi dengan Wi-Fi dan Bluetooth bawaan, menjadikannya ideal untuk proyek IoT. ESP32 memiliki beberapa pin analog yang dapat membaca tingkat tegangan yang bervariasi, yang akan kita gunakan untuk memantau tegangan pada LDR. Tegangan ini akan diubah menjadi nilai analog yang dapat diproses oleh ESP32 dan digunakan untuk memicu tindakan seperti mengaktifkan buzzer.

Detail Datasheet

ProdusenEspressif Systems
Nomor bagianESP32
Tegangan logika/IO3,3 V
Tegangan suplai3,0 - 3,6 V
Arus keluaran (per GPIO)Maks 40 mA
Panduan frekuensi PWM1 kHz - 40 kHz
Ambang batas logika masukanTinggi: min 2,0 V, Rendah: maks 0,8 V
Penurunan tegangan / RDS(on) / saturasiMaks 0,3 V
Batas termal-40 °C hingga 125 °C
KemasanQFN48
Catatan / varianMendukung berbagai protokol Wi-Fi dan Bluetooth

  • Gunakan resistor 10 kΩ secara seri dengan LDR untuk pembagian tegangan.
  • Pastikan ESP32 diberi daya dengan 3,3 V untuk menghindari kerusakan.
  • Hubungkan LDR dan resistor dengan benar untuk mengukur intensitas cahaya.
  • Gunakan kapasitor untuk decoupling jika diperlukan untuk menstabilkan catu daya.
  • Periksa nilai pembacaan analog untuk memastikan nilainya berada dalam rentang yang diharapkan.

Instruksi Pengkabelan

ESP32-22_light_sensor-wiring

Untuk menghubungkan LDR dan resistor ke ESP32, mulailah dengan menghubungkan satu terminal LDR ke pin daya 3,3 V pada ESP32. Terminal LDR lainnya harus dihubungkan ke salah satu terminal resistor 10 kΩ. Hubungkan terminal resistor lainnya ke ground.

Selanjutnya, hubungkan kabel jumper dari titik persimpangan antara LDR dan resistor ke pin 35 pada ESP32. Pengaturan ini menciptakan pembagi tegangan, memungkinkan ESP32 untuk membaca tegangan yang bervariasi berdasarkan intensitas cahaya yang mengenai LDR. Pastikan semua koneksi aman dan LDR diposisikan di tempat yang dapat merasakan perubahan cahaya secara akurat.

Contoh Kode & Penjelasan

Dalam kode, kita mulai dengan menginisialisasi komunikasi serial untuk memantau pembacaan dari LDR. Pengidentifikasi kunci di sini adalah analogValue, yang menyimpan pembacaan dari pin 35.

void setup() {
  Serial.begin(115200);
}

void loop() {
  int analogValue = analogRead(35);
  Serial.printf("Nilai analog ADC = %d\n",analogValue);
  delay(100);
}

Potongan kode ini menginisialisasi monitor serial pada baud rate 115200 dan terus membaca nilai analog dari pin 35. Nilai tersebut dicetak ke monitor serial, memungkinkan kita untuk mengamati bagaimana nilainya berubah dengan tingkat cahaya yang bervariasi.

Ketika intensitas cahaya berubah, resistansi LDR bervariasi, dan dengan demikian tegangan yang dibaca oleh ESP32 juga akan berubah, mencerminkan kondisi cahaya (dalam video pada 12:45).

Demonstrasi / Apa yang Diharapkan

Saat Anda menjalankan program dan mengamati monitor serial, Anda akan melihat nilai analog ADC berfluktuasi berdasarkan kondisi cahaya sekitar. Ketika Anda menutupi LDR, nilainya akan meningkat, menunjukkan resistansi yang lebih tinggi, sementara mengeksposnya ke cahaya terang akan menurunkan nilainya secara signifikan. Perilaku ini dapat digunakan untuk memicu buzzer atau tindakan lain berdasarkan ambang batas yang telah ditentukan.

Jika pembacaan tidak berubah seperti yang diharapkan, periksa masalah pengkabelan, pastikan LDR tidak mengambang, dan konfirmasikan bahwa ESP32 diberi daya dengan benar. Ini akan membantu mencegah kesalahan umum dan memastikan pengoperasian yang lancar (dalam video pada 15:30).

Stempel Waktu Video

  • 00:00 Mulai
  • 1:48 Pengenalan LDR
  • 8:33 Penjelasan pengkabelan
  • 11:07 Penjelasan kode Arduino
  • 13:07 Memilih papan ESP32 dan port COM di Arduino IDE
  • 14:49 Demonstrasi pembacaan nilai
  • 17:24 Memahami nilai Siang dan Malam
  • 18:47 Nilai DAC dan pembacaan Tegangan

Gambar

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
Bahasa: C++

void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

}

void loop() {
  // read the analog value
  int analogValue = analogRead(35);
  
  // print out the values you read:
  Serial.printf("ADC analog value = %d\n",analogValue);
  
  delay(100);  // delay in between reads for clear read from serial
}

Sumber daya & referensi

Berkas📁

Tidak ada file tersedia.