Hari ini kita belajar "chatting" dengan ESP32 lewat komputer, dan mengajarinya cara mengambil keputusan menggunakan logika If-Else!
Bagaimana komputer dan ESP32 saling berkirim pesan?
Bayangkan kabel USB yang menghubungkan ESP32 ke laptopmu itu seperti jaringan internet. Lewat kabel ini, laptop dan ESP32 bisa saling kirim teks satu huruf demi satu huruf secara berurutan (itulah kenapa disebut Serial).
Menggunakan fitur Serial Monitor yang ada di Arduino IDE, kita bisa mengetikkan pesan (misalnya: "1" atau "0") dan mengirimkannya ke ESP32.
ESP32 akan "mendengarkan" pesan tersebut. Jika ada pesan masuk, ia bisa membacanya dan melakukan aksi (seperti menghidupkan LED).
Baud rate adalah kecepatan komunikasi (jumlah bit per detik). Agar Laptop dan ESP32 bisa nyambung ngobrolnya, keduanya harus sepakat menggunakan kecepatan yang sama! Standar untuk ESP32 biasanya adalah 115200.
Mengajarkan robot cara mengambil keputusan
Dalam pemrograman, if (jika) dan else (selain itu) digunakan untuk membuat aturan.
if (pesan == "1") { // Lakukan ini jika pesan = "1" digitalWrite(LED_PIN, HIGH); } else if (pesan == "0") { // Lakukan ini jika pesan = "0" digitalWrite(LED_PIN, LOW); } else { // Lakukan ini jika pesan TIDAK DIKENAL Serial.println("Perintah Salah!"); }
Mengontrol LED ESP32 tanpa tombol fisik
Hubungkan Resistor dan LED ke pin GPIO 23 pada ESP32.
// Pin LED yang digunakan const int LED_PIN = 23; void setup() { // Inisialisasi komunikasi serial dengan baud rate 115200 Serial.begin(115200); // Atur pin LED sebagai OUTPUT pinMode(LED_PIN, OUTPUT); // Sapa pengguna di Serial Monitor Serial.println("Sistem Siap!"); Serial.println("Ketik '1' untuk ON, '0' untuk OFF"); } void loop() { // Mengecek apakah ada pesan masuk dari laptop if (Serial.available() > 0) { // Baca pesan yang masuk sampai karakter Enter (newline) String pesan = Serial.readStringUntil('\n'); // Bersihkan spasi/enter kosong di pesan pesan.trim(); // Logika Pengambilan Keputusan (If-Else) if (pesan == "1") { digitalWrite(LED_PIN, HIGH); Serial.println("LED Dinyalakan 💡"); } else if (pesan == "0") { digitalWrite(LED_PIN, LOW); Serial.println("LED Dimatikan ⚫"); } else { Serial.println("Perintah tidak dikenal! Ketik 1 atau 0."); } } }
Upload kode di samping ke ESP32.
Klik ikon Kaca Pembesar (Serial Monitor) di pojok kanan atas Arduino IDE.
Atur dropdown di bagian bawah Serial Monitor menjadi:
Ketik angka 1 lalu tekan Enter!
Cobalah ketik angka 1 atau 0 pada simulasi di atas.