Cari Kode

Tutorial ESP32 18/55 - Mendeteksi Kemiringan menggunakan ESP32 | Kit Pembelajaran IoT ESP32 SunFounder

Tutorial ESP32 18/55 - Mendeteksi Kemiringan menggunakan ESP32 | Kit Pembelajaran IoT ESP32 SunFounder

Dalam tutorial ini, kita akan menggunakan mikrokontroler SunFounder ESP32 untuk membuat proyek sederhana yang mendeteksi kemiringan menggunakan sakelar kemiringan. Ketika sakelar kemiringan diaktifkan, LED akan mati, dan ketika dalam posisi tegak, LED akan menyala. Proyek ini tidak hanya menjadi pengenalan yang bagus untuk bekerja dengan sensor kemiringan, tetapi juga menjadi dasar untuk berbagai aplikasi robotika. Untuk panduan visual yang detail, pastikan untuk menonton video yang ditautkan di atas (di video pada 00:00).

sakelar_kemiringan

Penjelasan Perangkat Keras

Komponen utama yang digunakan dalam proyek ini termasuk mikrokontroler ESP32, sakelar kemiringan, dan LED. ESP32 adalah mikrokontroler yang kuat dengan Wi-Fi dan Bluetooth bawaan, menjadikannya ideal untuk aplikasi IoT. Sakelar kemiringan adalah perangkat sederhana yang berisi bola logam di dalam kaleng. Saat dimiringkan, bola bergerak dan memutus sirkuit, memungkinkan kita mendeteksi keadaan kemiringan. LED akan menunjukkan status kemiringan secara visual berdasarkan keadaan sakelar. Selain komponen-komponen ini, kita juga akan menggunakan resistor untuk pembatas arus dan pull-down. Resistor 220-ohm yang terhubung ke LED memastikan LED beroperasi dengan aman tanpa menarik terlalu banyak arus. Resistor 10k-ohm berfungsi sebagai pull-down untuk sakelar kemiringan, memastikan pin input membaca keadaan yang diketahui saat sakelar tidak diaktifkan.

Detail Datasheet

Produsen SunFounder
Nomor bagian ESP32
Tegangan logika/IO 3,3 V
Tegangan suplai 5 V
Arus keluaran (per saluran) 12 mA
Arus puncak (per saluran) 40 mA
Panduan frekuensi PWM 1 kHz
Ambang logika input 0,8 V (rendah), 2,0 V (tinggi)
Penurunan tegangan / RDS(on) / saturasi 0,2 V
Batas termal 85 °C
Kemasan Modul ESP32
Catatan / varian Termasuk kemampuan Wi-Fi dan Bluetooth

 

  • Pastikan nilai resistor yang tepat untuk mencegah kerusakan pada LED.
  • Jaga kerapian kabel untuk menghindari korsleting.
  • Gunakan resistor pull-down untuk memastikan pembacaan yang stabil dari sakelar kemiringan.
  • Uji koneksi sebelum memberi daya pada sirkuit untuk menghindari kegagalan komponen.
  • Periksa orientasi sakelar kemiringan untuk fungsi yang akurat.

Instruksi Pengkabelan

ESP32-18_tile_wiring

Untuk mengkabel komponen, mulailah dengan sakelar kemiringan, yang tidak memiliki polaritas, sehingga dapat dihubungkan ke arah mana pun. Hubungkan satu pin sakelar kemiringan ke suplai 3,3V dan pin lainnya ke pin 14 pada ESP32. Untuk memastikan pin 14 membaca keadaan yang diketahui saat sakelar tidak diaktifkan, hubungkan resistor 10k-ohm dari pin yang sama ke ground. Selanjutnya, ambil LED dan masukkan ke breadboard dengan kaki yang lebih panjang (anoda) terhubung ke resistor 220-ohm. Hubungkan ujung lain resistor ke pin 26 pada ESP32. Kaki yang lebih pendek (katoda) dari LED harus dihubungkan ke ground. Terakhir, hubungkan pin ground ESP32 ke rel ground breadboard Anda dan pin 3,3V ke rel daya. Pastikan untuk memeriksa ulang semua koneksi untuk mencegah korsleting atau pembacaan yang salah. Jika Anda mengikuti langkah-langkah ini, Anda akan memiliki pengaturan sensor kemiringan yang berfungsi siap untuk diprogram.

Contoh Kode & Penjelasan

Kode dimulai dengan mendefinisikan nomor pin untuk sakelar kemiringan dan LED. Sakelar kemiringan terhubung ke pin 14, dan LED terhubung ke pin 26. Keadaan sakelar kemiringan disimpan dalam variabel tiltState.


// Atur nomor pin
const int tiltPin = 14;  // Sakelar Kemiringan
const int ledPin = 26;   // LED

// Variabel untuk menyimpan status kemiringan
int tiltState = 0;

Kutipan ini menunjukkan penugasan pin dan deklarasi variabel yang akan melacak keadaan kemiringan. tiltPin diatur sebagai input untuk membaca status sakelar. Dalam fungsi setup(), komunikasi serial diinisialisasi, dan mode pin diatur untuk sakelar kemiringan dan LED. Ini memastikan ESP32 dapat membaca input dari sakelar kemiringan dan mengontrol LED sesuai.


void setup() {
  Serial.begin(115200);
  // Inisialisasi pin kemiringan sebagai input
  pinMode(tiltPin, INPUT);
  // Inisialisasi pin LED sebagai output
  pinMode(ledPin, OUTPUT);
}

Bagian ini sangat penting karena mengatur lingkungan, memungkinkan ESP32 berkomunikasi secara efektif dan mengontrol output berdasarkan status sakelar kemiringan. Fungsi loop() terus-menerus memeriksa keadaan sakelar kemiringan. Jika sakelar tegak, LED akan menyala; jika dimiringkan, LED akan mati. Keadaan saat ini dicetak ke monitor serial untuk debugging.


void loop() {
  // Baca keadaan sakelar kemiringan
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // Jika sakelar tegak
  if (tiltState == HIGH) {
    // Nyalakan LED
    digitalWrite(ledPin, HIGH);
  } else {
    // Matikan LED
    digitalWrite(ledPin, LOW);
  }
}

Loop ini berjalan terus-menerus, memungkinkan pemantauan real-time dari keadaan sakelar kemiringan dan kontrol LED yang sesuai. Output dapat diamati di monitor serial, membuatnya mudah untuk memverifikasi fungsi.

Demonstrasi / Apa yang Diharapkan

Setelah semua terhubung dengan benar dan kode berhasil diunggah, Anda akan melihat LED menyala saat sakelar kemiringan dalam posisi tegak, dan akan mati saat dimiringkan. Korelasi langsung antara keadaan kemiringan dan respons LED ini menunjukkan fungsi sakelar kemiringan secara efektif. Kesalahan umum yang sering terjadi meliputi memastikan bahwa kabel terhubung dengan benar dan memverifikasi bahwa resistor ditempatkan dengan tepat untuk menghindari korsleting (dalam video pada menit 12:00).

Stempel Waktu Video

  • 00:00 Mulai
  • 1:44 Pengenalan Proyek
  • 2:49 Dokumentasi
  • 6:43 Penjelasan Wiring Arduino
  • 10:39 Penjelasan kode Arduino
  • 13:40 Memilih papan ESP32 dan port COM di Arduino IDE
  • 15:22 Demonstrasi Proyek Kemiringan

Gambar

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
Bahasa: C++
// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

void setup() {
  Serial.begin(115200);
  // Initialize the tilt pin as an input
  pinMode(tiltPin, INPUT);
  // Initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Read the state of the tilt switch
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // If the switch is upright
  if (tiltState == HIGH) {
    // Turn LED on
    digitalWrite(ledPin, HIGH);

  } else {
    // Turn LED off
    digitalWrite(ledPin, LOW);
  }
}

Sumber daya & referensi

Berkas📁

Tidak ada file tersedia.