Cari Kode

Tutorial ESP32 23/55 - Membaca Tegangan Potensiometer menggunakan ESP32 | Kit IoT ESP32 SunFounder

Tutorial ESP32 23/55 - Membaca Tegangan Potensiometer menggunakan ESP32 | Kit IoT ESP32 SunFounder

Dalam tutorial ini, kita akan mempelajari cara mengukur tegangan DC dari potensiometer menggunakan modul ESP32 dari SunFounder. Proyek ini juga akan menunjukkan cara meredupkan LED berdasarkan posisi potensiometer. Saat Anda memutar potensiometer berlawanan arah jarum jam, pembacaan tegangan menurun dan LED meredup sesuai. Latihan ini akan memberikan pemahaman praktis tentang penggunaan konverter analog-ke-digital (ADC) di ESP32.

potensiometer
Potensiometer atau resistor variabel
Potensiometer atau resistor variabel

ESP32 adalah mikrokontroler yang kuat dengan kemampuan Wi-Fi dan Bluetooth bawaan, menjadikannya ideal untuk proyek IoT. Dalam tutorial ini, kita akan memanfaatkan fitur input analognya untuk membaca tingkat tegangan dari potensiometer, sekaligus mengontrol kecerahan LED berdasarkan pembacaan tersebut. Hasilnya akan menjadi LED yang responsif yang mengubah intensitasnya saat Anda menyesuaikan potensiometer.

Penjelasan Perangkat Keras

Untuk proyek ini, kita akan membutuhkan komponen-komponen berikut:

  • Modul ESP32: Mikrokontroler utama yang akan membaca tegangan potensiometer dan mengontrol LED.
  • Potensiometer: Resistor variabel yang digunakan untuk menyesuaikan tegangan. Ini memiliki tiga pin: dua untuk resistor tetap dan satu yang bervariasi.
  • LED: Dioda pemancar cahaya yang kecerahannya akan dikontrol berdasarkan posisi potensiometer.
  • Resistor: Resistor 220-ohm untuk membatasi arus melalui LED.

Potensiometer bekerja dengan memvariasikan resistansi antara pin-pinnya, memungkinkannya menghasilkan tegangan yang dapat dibaca ESP32 melalui ADC-nya. Kecerahan LED dikontrol menggunakan Modulasi Lebar Pulsa (PWM) untuk menyesuaikan daya yang diberikan kepadanya berdasarkan pembacaan analog.

Detail Datasheet

Instruksi Pengkabelan

ESP32-23-fading-LED_pot-wiring

Untuk merangkai komponen, mulailah dengan menghubungkan potensiometer. Hubungkan salah satu pin luarnya ke catu daya 3.3V pada ESP32. Hubungkan pin luar lainnya ke ground (GND). Pin tengah potensiometer akan terhubung ke pin 35 pada ESP32, yang digunakan untuk membaca tegangan analog.

Selanjutnya, untuk LED, hubungkan pin yang lebih panjang (anoda) ke pin 26 pada ESP32 melalui resistor 220-ohm. Hubungkan pin yang lebih pendek (katoda) dari LED ke ground. Pastikan semua koneksi aman dan periksa ulang orientasi LED untuk mencegah kerusakan.

Potentiometer or variable resistor

Contoh Kode & Penjelasan

Cuplikan kode berikut menunjukkan cara mengatur ESP32 untuk membaca potensiometer dan mengontrol LED:

const int potPin = 35; // Potensiometer terhubung ke
const int ledPin = 26; // LED terhubung ke

// Pengaturan PWM
const int freq = 5000; // Frekuensi PWM
const int resolution = 12; // Resolusi PWM (bit)

Dalam kutipan ini, kita mendefinisikan pin untuk potensiometer dan LED. Frekuensi dan resolusi PWM juga diatur, yang akan menentukan tingkat kecerahan LED.

Selanjutnya, kita akan menginisialisasi pengaturan:

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

  // Konfigurasi PWM
  ledcAttach(ledPin, freq, resolution);
}

Dalam fungsi setup, kita menginisialisasi komunikasi serial dan mengonfigurasi pengaturan PWM untuk LED. Pengaturan ini berjalan sekali saat program dimulai.

Terakhir, fungsi loop terus membaca nilai potensiometer dan menyesuaikan kecerahan LED:

void loop() {
  int potValue = analogRead(potPin); // membaca nilai potensiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Membaca tegangan dalam milivolt

  ledcWrite(ledPin, potValue);
  // Output serial dihilangkan demi singkatnya
}

Dalam loop, kita membaca nilai analog dari potensiometer dan menerjemahkannya untuk mengontrol kecerahan LED. Output serial menunjukkan nilai potensiometer dan tegangan, membantu memverifikasi pembacaan.

Demonstrasi / Apa yang Diharapkan

Ketika rangkaian dipasang dengan benar dan kode diunggah, memutar potensiometer seharusnya menghasilkan perubahan yang sesuai dalam pembacaan tegangan yang ditampilkan di monitor serial. LED seharusnya meredup dengan mulus saat potensiometer disesuaikan. Jika LED tidak merespons seperti yang diharapkan, periksa koneksi kabel dan pastikan potensiometer berfungsi dengan benar (dalam video pada 11:30).

Stempel Waktu Video

  • 00:00 Mulai
  • 2:02 Apa itu Pot
  • 4:15 Mengukur resistansi pot
  • 6:59 Halaman dokumentasi
  • 8:56 Pengkabelan dijelaskan
  • 12:28 Kode Arduino dijelaskan
  • 15:58 Memilih papan ESP32 dan port COM di Arduino IDE
  • 17:40 Demonstrasi membaca nilai pot dengan ESP32

Gambar

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
Bahasa: C++
const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

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

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

void loop() {

  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);

  Serial.print("Potentiometer Value: ");
  Serial.print(potValue);
  Serial.print(", Voltage: ");
  Serial.print(voltage_mV / 1000.0); // Convert millivolts to volts
  Serial.println(" V");

  delay(100);
}

Sumber daya & referensi

Berkas📁

Tidak ada file tersedia.