Panduan · 12 mnt baca

Rencana Pelajaran ESP32: Daftar Persiapan Kelas Pertama dan Alur 40 Menit

Rencana pelajaran ESP32: di kelas pertama setiap kelompok meng-upload kode dan menyalakan LED. Daftar persiapan, bahan untuk 24 siswa, alur 40 menit, kode, dan 8 solusi cepat.

Ketika kamu menyusun rencana pelajaran ESP32, persempit kelas pertama menjadi satu tujuan: di akhir pelajaran, setiap kelompok sudah meng-upload kode ke ESP32-nya sendiri dan menyalakan sebuah LED. Wi-Fi, sensor, dan kendali dari ponsel adalah urusan pelajaran berikutnya. Cukup tidaknya 40 menit lebih ditentukan oleh apa yang kamu lakukan sebelum kelas daripada di dalam kelas: apakah driver USB-ke-serial sudah terinstal, apakah paket board ESP32 sudah ada di Arduino IDE, dan apakah kabel di meja benar-benar membawa data? Kalau ketiganya siap, upload pertama selesai dalam lima menit; kalau tidak, separuh pelajaran habis untuk “port-nya nggak kelihatan”.

Tulisan ini memberimu paket yang bisa kamu bawa ke kelas besok: daftar periksa yang bisa disalin untuk seminggu sebelumnya, sehari sebelumnya, dan pagi hari pelajaran, tabel bahan, alur 40 menit menit demi menit, dua sketch yang bisa langsung dikompilasi, lima perbedaan ESP32 dengan Arduino Uno, solusi satu menit untuk delapan masalah yang paling sering muncul, dan pertanyaan penutup. Misalkan kelasmu berisi 24 siswa dan kamu membagi mereka menjadi 8 kelompok bertiga; semua angka di bawah memakai asumsi itu. Kalau jam pelajaranmu 45 atau 50 menit, waktu tambahannya menjadi cadangan. Kalau ESP32 masih baru buatmu, baca dulu Apa Itu ESP32?

Board ESP32 DevKit 30 pin: port Micro-USB, tombol BOOT dan EN, modul ESP32-WROOM-32, dan dua baris pin
Board untuk kelas pertama: ESP32 DevKit 30 pin. Sebelum mulai, temukan bersama siswa port USB, tombol BOOT dan EN, serta pin D5, GND, dan 3V3 di board.

Tujuan pelajaran pertama: kenapa cuma satu LED?

Di pelajaran ESP32 pertama kamu punya dua pilihan: memamerkan proyek Wi-Fi yang mengesankan, atau membuat semua siswa menjalankan sesuatu yang kecil dengan tangan mereka sendiri. Pilihan kedua jauh lebih banyak mengajarkan. Untuk menyalakan LED, siswa harus melewati seluruh rantai sekali dari awal sampai akhir: membuka kode, memilih board dan port, mengompilasi, meng-upload, merakit rangkaian, melihat hasilnya, lalu mengubah satu nilai dan meng-upload lagi. Begitu rantai itu berjalan, pelajaran berikutnya tinggal menambah bagian baru. Kalau kamu melompat ke Wi-Fi sebelum rantai itu berjalan, kata sandi jaringan, driver, dan kabel menumpuk jadi satu, dan menebak mana yang menyebabkan error hampir mustahil. Karena itu rencana ini tidak memakai jaringan di kelas pertama: pertama LED bawaan board, lalu satu LED eksternal di breadboard, dan untuk kelompok yang cepat, keduanya berkedip bergantian.

Daftar periksa persiapan sebelum pelajaran

Bagi persiapan menjadi tiga tahap. Kamu bisa menyalin dan mencetak daftarnya atau membagikannya ke teknisi TI sekolah; pekerjaan yang butuh hak admin, seperti menginstal driver dan software, di kebanyakan sekolah harus lewat mereka. Seminggu sebelumnya:

  • Hitung board-nya dan cek modelnya. Rencana ini ditulis untuk ESP32 DevKit 30 pin (dengan modul ESP32-WROOM-32); di board 38 pin kodenya sama, hanya urutan pinnya yang berbeda.
  • Baca chip kecil di sebelah port USB board: CP2102, CH340, atau CH9102? Itulah yang menentukan driver mana yang kamu butuhkan.
  • Pastikan Arduino IDE 2 terinstal di komputer kelas. Komputer sekolah biasanya butuh hak admin untuk instalasi, jadi atur jadwal dengan bagian TI.
  • Di Arduino IDE, instal paket esp32 by Espressif Systems dari Boards Manager. Paket ini mengunduh ratusan megabyte; di jaringan sekolah, 40 menit mungkin tidak cukup kalau kamu mencobanya di kelas.
  • Instal driver USB-ke-serial, colokkan satu board, dan cek bahwa port baru muncul di Tools > Port.
  • Uji kabel-kabelmu: upload ke board dengan setiap kabel, pisahkan kabel khusus pengisian daya, dan tandai kabel data dengan selotip berwarna.
  • Tancapkan satu ESP32 ke breadboard dan cek apakah masih ada lubang kosong di kedua sisinya. Kalau tidak ada, setiap kelompok mendapat dua breadboard.
  • Cari tahu batasan jaringan sekolah: ESP32 hanya terhubung ke Wi-Fi 2,4 GHz, dan jaringan enterprise yang meminta nama pengguna dan kata sandi sulit ditangani. Kamu tidak akan memakai Wi-Fi di kelas pertama, tapi informasi ini kamu perlukan untuk pelajaran berikutnya.
Jebakan kabel khusus pengisian daya: sebagian kabel Micro-USB dan USB-C di laci dibuat hanya untuk mengisi daya dan tidak punya kabel data di dalamnya. Dengan kabel seperti itu LED power board menyala, siswa mengira board-nya berfungsi, tapi port tidak pernah muncul di Arduino IDE. Hal pertama yang harus dilakukan kelompok yang bilang “port-nya nggak ada” adalah mengganti kabel. Tandai kabel data yang sudah kamu uji dan jangan pakai kabel yang dibawa siswa dari rumah di pelajaran pertama.

Sehari sebelumnya, setiap komputer harus sudah siap untuk kelas; tujuannya, tidak ada langkah instalasi yang dikerjakan pertama kali selama pelajaran. Sisihkan juga sepuluh menit di pagi hari pelajaran. Kedua daftar ada di satu tempat:

  • Sehari sebelumnya: Lakukan upload uji di setiap komputer. Colokkan board, pilih ESP32 Dev Module dan port-nya, upload sketch LED bawaan, lalu lihat LED-nya berkedip. Kompilasi pertama bisa makan waktu lebih dari satu menit; uji coba ini juga mempercepat kompilasi berikutnya.
  • Sehari sebelumnya: Di Windows, tempelkan label berisi nomor port (COM3, COM5, dan seterusnya) di sisi komputer. Board yang sama yang dicolokkan ke soket USB yang sama biasanya mendapat nomor yang sama.
  • Sehari sebelumnya: Siapkan kotak kelompok: board, kabel, breadboard, dua LED, dua resistor 220 Ω, empat kabel jumper. Simpan set cadangan di meja guru.
  • Sehari sebelumnya: Simpan kedua sketch di desktop setiap komputer; kalau internet melambat, siswa membuka kodenya dari sana.
  • Sehari sebelumnya: Cek bahwa proyek Kedipan LED Bawaan ESP32 terbuka di BlueGrays lewat proyektor.
  • Pagi hari pelajaran: Nyalakan komputer, buka Arduino IDE, dan cek bahwa board masih diatur ke ESP32 Dev Module.
  • Pagi hari pelajaran: Gambar sketsa sederhana board di papan tulis: port USB, BOOT, EN, GND, 3V3, dan GPIO5 (berlabel D5 di board).
  • Pagi hari pelajaran: Tulis satu baris di pojok papan tulis: “Mentok di Connecting...? Tahan BOOT.”
  • Pagi hari pelajaran: Hitung LED dan resistor di kotak-kotak untuk terakhir kalinya dan letakkan kabel di bagian atas.

Driver, paket board, dan BOOT: detail yang perlu kamu tahu

Kamu mungkin melihat dua paket ESP32 di Boards Manager Arduino IDE. Untuk board kelas, yang benar adalah paket esp32 dari Espressif; paket bernama “Arduino ESP32 Boards” untuk Nano ESP32 buatan Arduino sendiri. Setelah instalasi, pilih ESP32 Dev Module di Tools > Board > esp32. Kalau paketnya tidak muncul di daftar, kamu perlu menambahkan alamat paket Espressif ke Additional boards manager URLs di Preferences; langkah-langkahnya ada di Apa Itu ESP32? Sketch ESP32 butuh waktu kompilasi lebih lama daripada sketch Uno; bahkan untuk LED berkedip, kompilasi pertama bisa lebih dari satu menit. Beri tahu siswa sejak awal, kalau tidak mereka akan terus menekan Upload ketika progress bar terlihat macet. Chip USB-ke-serial di board menentukan driver mana yang harus diinstal:

Chip USB-ke-serialCara mengenalinya di boardNama port di WindowsCatatan
CP2102 / CP2104Chip persegi kecil di sebelah port USB, bertuliskan CP2102 atau SiLabsSilicon Labs CP210x USB to UART Bridge (COMx)Windows sering menginstal driver-nya sendiri; kalau tidak, kamu perlu driver CP210x dari Silicon Labs
CH340 (CH340C, CH340G)Chip persegi panjang bertuliskan CH340USB-SERIAL CH340 (COMx)Butuh driver CH340 dari WCH; Windows Update kadang menginstalnya otomatis
CH9102Chip persegi kecil di board yang lebih baru, bertuliskan CH9102USB-Enhanced-SERIAL CH9102 (COMx)Butuh driver CH9102/CH343 dari WCH; driver CH340 tidak mengenali chip ini

Tombol BOOT terhubung ke pin GPIO0 ESP32. Ketika upload dimulai, board harus masuk ke mode pemrograman; kebanyakan DevKit melakukannya sendiri dengan dua sinyal dari chip USB-ke-serial. Pada beberapa kombinasi board dan kabel, peralihan otomatis ini gagal: titik-titik “Connecting...” di output terus bertambah dan akhirnya muncul error “Failed to connect to ESP32”. Solusinya, tahan BOOT begitu “Connecting...” muncul dan lepaskan ketika baris progres yang diawali “Writing at” mulai bergulir. Tombol EN me-restart board; kalau upload sudah selesai tapi kodenya seperti tidak jalan, cukup tekan EN sekali. Kalau masalahnya terus berulang di board yang sama, menurunkan Upload Speed di menu Tools dari 921600 ke 115200 biasanya membantu. Di macOS, nama port biasanya diawali cu.usbserial atau cu.SLAB_USBtoUART.

Jangan pakai Wi-Fi di kelas pertama. ESP32 hanya terhubung ke jaringan 2,4 GHz; jaringan sekolah sering meminta nama pengguna dan kata sandi atau membuka halaman login di browser, dan ESP32 tidak bisa melewati halaman seperti itu. Ketika sampai di pelajaran Wi-Fi, cara paling praktis adalah hotspot pribadi dari ponsel guru yang diatur ke pita 2,4 GHz. Coba juga cara itu dengan board-mu sendiri sehari sebelumnya.

Daftar bahan: per kelompok dan untuk kelas 24 siswa

Bagi 24 siswa menjadi kelompok bertiga dan kamu mendapat 8 kelompok; dengan satu cadangan, kamu menyiapkan 9 set. Kalau kamu lebih suka berpasangan, kamu butuh 12 kelompok ditambah satu cadangan, jadi 13 set, dan jumlah komputer yang lebih banyak juga. Tidak ada komponen yang perlu disolder. Alasan dua LED dan dua resistor per kelompok sederhana: LED yang terpasang terbalik atau kakinya patah sangat sering terjadi di pelajaran pertama, dan kamu tidak mau ada kelompok yang menunggu.

BarangPer kelompokUntuk kelas (8 kelompok + 1 cadangan)Catatan
ESP32 DevKit (30 pin, ESP32-WROOM-32)19Pakai satu model saja; model campuran membuat urutan pin tertukar
Kabel data USB (Micro-USB atau USB-C, sesuai board)1112 kabel cadangan; semuanya sudah diuji dan ditandai
Breadboard (830 lubang)192 per kelompok kalau board-nya tidak muat (18 untuk satu kelas)
LED merah 5 mm220LED merah menyala dengan nyaman di 3,3 V
Resistor 220 Ω220Gelang warna: merah-merah-cokelat
Kabel jumper male-to-male4sekitar 40Selalu pakai warna hitam untuk GND
Komputer dengan Arduino IDE dan paket ESP3218 + komputer guruDiberi label nomor port
Ponsel atau tablet dengan BlueGrays terbuka1 (opsional)8Untuk membaca skema dan kode; proyektor juga bisa
Kotak atau kantong komponen19Hitung semuanya kembali di akhir pelajaran
ESP32 DevKit 30 pin menutupi hampir seluruh breadboard standar dan hanya menyisakan satu baris lubang di satu sisi. Tancapkan board sehingga sisi yang berisi pin D5 dan GND punya lubang kosong, lalu rakit LED dan resistor di sisi itu. Di board ini D5, GND, dan 3V3 berada di baris yang sama, jadi rangkaian pelajaran pertama muat di satu sisi. Kalau masih tidak ada tempat, letakkan dua breadboard berdampingan dan pasang satu baris pin board di masing-masing breadboard. Ketika mencabut board, angkat kedua ujungnya secara merata supaya pinnya tidak bengkok.

Alur pelajaran 40 menit

Alurnya dibangun di atas dua proyek BlueGrays gratis: pertama Kedipan LED Bawaan ESP32 (tanpa rangkaian, hanya board dan kabel), lalu LED Berkedip dengan ESP32 (GPIO5, resistor 220 Ω, dan sebuah LED). Di kedua proyek, daftar komponen, skema rangkaian, kode, blok, dan Pahami kode terbuka gratis. Bagikan tiga peran di setiap kelompok dan rotasikan di setiap tahap: satu memegang keyboard, satu merakit rangkaian, satu membaca skema dan kode dari ponsel atau proyektor. Dengan begitu tidak ada yang menghabiskan 40 menit hanya untuk menonton.

MenitTahapGuruSiswa
0–4Pembuka dan tujuanMengangkat board dan menyampaikan satu-satunya tujuan: “Sebelum bel berbunyi, setiap kelompok meng-upload kodenya sendiri dan menyalakan LED.” Menyebutkan bahwa board ini punya Wi-Fi seperti ponsel mereka, tapi hari ini tidak dipakai.Membagi peran, membuka kotak, menghitung komponen.
4–9Mengenal boardMemakai sketsa di papan tulis untuk menunjukkan port USB, tombol BOOT dan EN, serta pin GND, 3V3, dan GPIO5; memberi peringatan 3,3 V.Menemukan titik-titik ini di board sendiri dan mencari letak LED bawaan.
9–17Upload pertama: LED bawaanMembuka proyek Kedipan LED Bawaan ESP32 di proyektor, menunjukkan pemilihan board dan port sekali, mengulang catatan BOOT.Membuka atau menyalin kode, memilih ESP32 Dev Module dan port, meng-upload; LED berkedip sekali per detik.
17–21Ubah satu nilaiBertanya: “Apa yang terjadi kalau kalian menulis 200, bukan 1000?” dan meminta tebakan lebih dulu.Menyampaikan tebakan, mengubah kedua nilai delay(), meng-upload lagi, dan membandingkan hasilnya dengan tebakan.
21–31Rangkaian LED eksternalMenampilkan skema rangkaian LED Berkedip dengan ESP32 di proyektor, menunjukkan kaki panjang LED dan posisi resistor, berkeliling dan memeriksa setiap rangkaian selama USB masih tercabut.Mencabut USB, merakit GPIO5 → 220 Ω → kaki panjang LED, kaki pendek → GND, lalu meng-upload setelah guru memberi izin.
31–35Tugas miniMemberi kelompok yang cepat tugas tambahan: membuat LED bawaan dan LED eksternal berkedip bergantian. Pada kelompok yang mentok, cek kabel dan arah LED lebih dulu.Mengatur kedua pin sebagai output, mematikan satu LED selama yang lain menyala; kelompok yang selesai lanjut ke tugas Coba sendiri di Pahami kode.
35–38Beres-beresMeminta semua siswa mencabut USB dan menghitung komponen.Membongkar rangkaian dan menghitung komponen sambil memasukkannya kembali ke kotak.
38–40Pertanyaan penutupMenulis keempat pertanyaan di papan tulis atau menanyakannya secara lisan.Menulis jawaban singkat di kertas dan menyerahkannya sambil keluar kelas.
Blok proyek Kedipan LED Bawaan ESP32: deklarasi BUILTIN_LED_PIN = 2, mengatur pin sebagai output di setup, menulis HIGH dan LOW di dalam ulangi selamanya, dan menunggu 1000 ms
Blok untuk upload pertama. Tampilkan gambar ini di samping kode di proyektor, dan siswa langsung melihat bahwa blok “deklarasikan” sesuai dengan baris int, blok “setup (jalan sekali)” sesuai dengan setup(), dan blok “ulangi selamanya” sesuai dengan loop().

Kodenya: LED bawaan dan LED eksternal

Dua sketch di bawah memakai pin dan pengaturan waktu yang sama dengan proyek di aplikasi, dan langsung bisa dikompilasi dengan ESP32 Dev Module terpilih di Arduino IDE. Sketch pertama membuat LED di board berkedip sekali per detik. Di kebanyakan board ESP32 DevKit, LED biru ini terhubung ke GPIO2. Di Arduino Uno, LED bawaan ada di pin 13; siswa yang pernah memakai Uno mungkin mengetik 13 karena kebiasaan, jadi tunjukkan perbedaannya sejak awal.

C++ (Arduino IDE)
1// ESP32 Dahili LED Yakma / ESP32 built-in LED blink
2// Çoğu ESP32 DevKit kartında dahili LED GPIO2'dedir / On most ESP32 DevKit boards the built-in LED is on GPIO2
3int BUILTIN_LED_PIN = 2;   // Kartına göre değişebilir / May differ on your board
4
5void setup() {
6  pinMode(BUILTIN_LED_PIN, OUTPUT);   // Pini çıkış yap / Set the pin as output
7}
8
9void loop() {
10  digitalWrite(BUILTIN_LED_PIN, HIGH);   // LED'i yak / Turn the LED on
11  delay(1000);                           // 1 saniye bekle / Wait 1 second
12  digitalWrite(BUILTIN_LED_PIN, LOW);    // LED'i söndür / Turn the LED off
13  delay(1000);                           // 1 saniye bekle / Wait 1 second
14}
15

Rangkaian untuk sketch kedua: dari GPIO5 ke salah satu ujung resistor 220 Ω, dari ujung resistor yang lain ke kaki panjang LED (anoda), dan dari kaki pendek LED (katoda) ke GND. Pin ESP32 mengeluarkan 3,3 V; sekitar 2 V jatuh di LED merah, dan sisa 1,3 V di resistor 220 Ω menghasilkan kira-kira 6 mA. Itu cukup untuk LED yang terlihat jelas dan tidak membebani pin. Kalau kamu memakai warna lain, cek resistornya dengan kalkulator resistor LED. Di tugas mini, kelompok yang cepat menggabungkan kedua sketch: mereka mengatur kedua pin sebagai output di setup() dan menulis salah satunya HIGH selama yang lain LOW di loop().

C++ (Arduino IDE)
1// ESP32 ile LED Yakma: harici LED / ESP32 external LED blink
2// Bağlantı: GPIO5 -> 220 Ω direnç -> LED uzun bacak (+), kısa bacak (-) -> GND
3// Wiring: GPIO5 -> 220 ohm resistor -> LED long leg (+), short leg (-) -> GND
4const int LED_PIN = 5;   // Harici LED pini (kartta D5) / External LED pin (D5 on the board)
5
6void setup() {
7  pinMode(LED_PIN, OUTPUT);   // Pini çıkış yap / Set the pin as output
8}
9
10void loop() {
11  digitalWrite(LED_PIN, HIGH);   // Pin 3,3 V verir, LED yanar / Pin outputs 3.3 V, LED on
12  delay(500);                    // Yarım saniye bekle / Wait half a second
13  digitalWrite(LED_PIN, LOW);    // Pin 0 V verir, LED söner / Pin outputs 0 V, LED off
14  delay(500);                    // Yarım saniye bekle / Wait half a second
15}
16
LED bawaan tidak selalu ada di GPIO2 di setiap board. Beberapa board, seperti DevKitC buatan Espressif sendiri, hanya punya LED power merah dan sama sekali tidak punya LED yang bisa diprogram; di board lain LED-nya terhubung ke pin yang berbeda. Kalau LED tidak berkedip ketika upload uji, cek pinout board-mu; kalau tidak ada LED bawaan, kelompok itu langsung lanjut ke tahap LED eksternal. Memakai satu model untuk seluruh set kelas mencegah kejutan seperti ini sejak awal.

5 perbedaan ESP32 dengan Arduino Uno

Sebagian siswamu mungkin sudah pernah memakai Arduino Uno. Kodenya ditulis dengan bahasa Arduino yang sama, dan setup() serta loop() ada di tempat biasanya, tapi hardware-nya berbeda, dan sebagian besar error di pelajaran pertama berasal dari perbedaan ini. Kamu bisa membahas lima poin di bawah dalam beberapa menit selama tahap mengenal board. Untuk perbandingan yang lebih lengkap, lihat Arduino vs ESP32.

TopikArduino UnoESP32 DevKitArtinya di kelas
Tegangan logika5 V3,3 V; pinnya tidak tahan 5 VJangan pernah memberi 5 V ke GPIO; cek tegangan output modul 5 V sebelum menghubungkannya
Nomor pinD0–D13 dan A0–A5Yang dipakai nomor GPIO; pin berlabel D5 di board ditulis 5 di kodeAngka di kode adalah nomor GPIO di board, bukan urutan yang dihitung dari tepi
Pin khusus inputTidak ada; semua pin digital bisa menjadi outputGPIO34, 35, 36 (VP), dan 39 (VN) khusus input dan tidak punya resistor pull-up internal; GPIO6–11 terhubung ke memori flashLED di pin 34 tidak akan pernah menyala; di pelajaran pertama pakai GPIO2 dan GPIO5 saja
Tombol BOOT dan ENSatu tombol reset; upload mulai sendiriBOOT (GPIO0) untuk mode pemrograman, EN untuk me-restartTahan BOOT kalau “Connecting...” berlarut-larut; tekan EN kalau kodenya seperti tidak jalan
NirkabelTidak adaWi-Fi 2,4 GHz dan Bluetooth (Classic dan BLE) bawaanTidak dipakai di pelajaran pertama; dicoba di pelajaran berikutnya dengan hotspot ponsel, tergantung jaringan sekolah

8 masalah yang paling sering muncul di kelas dan solusi satu menit

GejalaKemungkinan penyebabSolusi satu menit
Menu Tools > Port kosong atau berwarna abu-abuKabel khusus pengisian daya atau driver belum adaCoba kabel data yang sudah ditandai; kalau port masih tidak ada, cari nama chip di Device Manager dan coba board-nya di komputer guru
“Connecting...” berlarut-larut, lalu “Failed to connect to ESP32”Board tidak masuk ke mode pemrograman dengan sendirinyaUpload lagi, tahan BOOT ketika “Connecting...” muncul, lepaskan ketika baris “Writing at” mulai muncul
Error avrdude di outputBoard yang terpilih masih Arduino UnoPilih Tools > Board > esp32 > ESP32 Dev Module dan upload lagi
Upload berhasil tapi tidak ada yang berubah pada LEDPort yang dipilih salah (beberapa board tercolok)Cabut board, lihat port mana yang hilang dari menu Port, colokkan lagi dan pilih port itu; bandingkan dengan label di komputer
LED eksternal tidak pernah menyalaLED terbalik, atau resistor dan LED tidak berada di baris breadboard yang samaBalik LED-nya: kaki panjang di sisi resistor, kaki pendek ke GND; cek bahwa sambungannya berada di baris yang sama
Rangkaian terlihat benar tapi LED tetap tidak menyalaKabel tertancap di pin lain (misalnya D4 atau D34)Baca label pin tempat kabel tertancap dan bandingkan dengan angka di kode; hindari pin 34–39
Kode sudah di-upload tapi LED bawaan tidak berkedipBoard tidak punya LED yang bisa diprogram atau LED-nya ada di pin lainCek pinout board; langsung lanjut ke tahap LED eksternal
LED terus menyala atau board menjadi hangatLED tersambung ke 5V/VIN atau 3V3, atau 3V3 korsleting ke GNDSegera cabut USB; pindahkan LED ke GPIO5, temukan kabel yang menyebabkan korsleting, lalu colokkan lagi
Aturan tiga menit: kalau sebuah kelompok mentok di masalah yang sama lebih dari tiga menit, tukar board dan kabelnya dengan set cadangan, lalu periksa komponen yang bermasalah sendiri setelah kelas. Kelompok yang kehilangan seluruh pelajaran karena kabel rusak jauh lebih merugikan daripada menemukan penyebabnya di tempat. Walaupun progress bar terlihat macet, jangan biarkan mereka menekan Upload untuk kedua kalinya; kompilasi pertama memang butuh waktu. Untuk pemeriksaan lebih dalam soal masalah port dan driver, langkah-langkah di cara mengatasi kode Arduino yang gagal di-upload juga berlaku untuk ESP32.

Pertanyaan penutup dan gambaran pelajaran kedua

  1. Pin mana di board yang dimaksud oleh angka 5 di kode? Kenapa di sebelah pin itu board mungkin bertuliskan “D5”?
  2. Apa yang berubah pada LED ketika kamu menulis delay(200), bukan delay(1000)? Berapa kali per detik LED berkedip sekarang?
  3. Kenapa LED tidak menyala ketika dipasang terbalik? Kaki LED yang mana yang dipasang di sisi resistor?
  4. Berapa tegangan yang dikeluarkan pin ESP32? Kenapa kita tidak boleh menghubungkan LED atau modul langsung ke pin 5V?

Jawabannya menunjukkan konsep mana yang perlu diulang di pelajaran kedua; siswa yang menjawab 2,5 untuk pertanyaan kedua sudah memahami pengaturan waktu. Di pelajaran kedua kamu menambahkan tombol ke rangkaian yang sama: di proyek Kendali LED dengan Tombol Tekan ESP32 (Tekan) LED tetap menyala selama tombol ditahan, dan di Kendali LED dengan Tombol Tekan ESP32 (Toggle) setiap tekanan membalik kondisinya. Keduanya gratis dan punya blok; siswa membaca input untuk pertama kali dan membuat keputusan dengan if. Di pelajaran ketiga atau keempat kamu bisa lanjut ke Wi-Fi; untuk pelajaran itu, siapkan tabel kode status dari ESP32 tidak mau terhubung ke Wi-Fi. Proyek ESP32 dengan Wi-Fi di BlueGrays adalah Premium; kalau kamu ingin siswamu lanjut ke proyek-proyek itu, kami menjelaskan cara memberi setiap siswa kode dari paket pendidik, bukan langganan terpisah, di aplikasi Arduino untuk kelas.

Bagaimana cara memakai BlueGrays di kelas?

  • Temukan proyeknya: Di Jelajah › Proyek, pakai Filter untuk mengatur platform ke ESP32 dan Harga ke gratis. Proyek ESP32 yang cocok untuk pelajaran pertama, seperti LED, tombol, lampu lalu lintas, sensor cahaya, dan sensor jarak, terbuka sepenuhnya.
  • Komponen yang dibutuhkan dan Skema rangkaian: Daftar komponen sudah siap beserta jumlahnya. Kamu bisa memperbesar skema dan menampilkannya di proyektor, atau menyimpannya dengan Simpan ke galeri lalu mencetaknya.
  • Kode sumber: Salin memasukkan kode ke clipboard. Kalau siswa membuka proyek di ponsel, Salin tautan memberi tautan untuk membuka kode di komputer, jadi tidak ada yang perlu mengetiknya dengan tangan.
  • Pahami kode: Pertama ringkasan Kode ini ngapain?, lalu penjelasan Langkah demi langkah, bagian Kalau mentok, dan tugas Coba sendiri. Ini langkah berikutnya yang sudah siap untuk kelompok yang menyelesaikan tugas mini lebih awal.
  • Tampilkan sebagai blok: Semua proyek ESP32 gratis punya tampilan blok. Nyalakan sakelarnya, kode diganti dengan blok dari program yang sama, dan tab-nya berubah menjadi Pahami blok. Blok itu untuk dibaca; blok tidak diedit di aplikasi dan tidak di-upload ke board, dan yang masuk ke board selalu kode aslinya.
  • Yuk bikin bareng: Mode terpandu yang membimbing langkah menyiapkan komponen, merakit rangkaian, meng-upload kode, serta menjalankan dan menguji. Layar tetap menyala, jadi kelompok bisa mengikuti langkahnya sambil ponsel tergeletak di meja; di akhir, Sudah buat menandai proyek sebagai selesai.

Pelajaran pertama mungkin terlihat cuma satu LED, tapi dalam 40 menit itu siswa sekali melewati kompilasi, upload, nomor pin, batas 3,3 V, dan debugging, dan setiap pelajaran ESP32 berikutnya dibangun di atasnya. Kami membahas setiap bagian halaman proyek secara rinci di panduan halaman proyek langkah demi langkah. Kalau kamu ingin membuat kedua proyek sendiri sekali sebelum kelas, buka Kedipan LED Bawaan ESP32 di aplikasi BlueGrays; skema, kode, blok, dan Pahami kode semuanya ada di sana, dan gladi resikmu tidak akan lebih dari sepuluh menit.

Pertanyaan umum

Apa yang sebaiknya dibahas di pelajaran ESP32 pertama?

Tujuan pelajaran pertama adalah setiap kelompok meng-upload kode ke ESP32-nya sendiri dan menyalakan LED: pertama LED bawaan board, lalu LED eksternal dengan resistor 220 Ω di breadboard. Wi-Fi dan sensor menunggu pelajaran berikutnya. Dengan begitu siswa melewati kompilasi, upload, dan nomor pin sekali tanpa kendala.

Board apa yang harus kupilih untuk ESP32 di Arduino IDE?

Untuk board generik seperti ESP32 DevKit, instal paket esp32 dari Espressif dan pilih ESP32 Dev Module di Tools > Board > esp32. Paket Arduino ESP32 Boards untuk Arduino Nano ESP32. Kalau board masih diatur ke Arduino Uno, upload berhenti dengan error avrdude.

Kenapa ESP32-ku tidak muncul di komputer?

Ganti kabelnya dulu; banyak kabel USB yang khusus untuk mengisi daya dan tidak membawa data. Lalu baca chip USB-ke-serial di board (CP2102, CH340, atau CH9102) dan instal driver yang sesuai. Di Windows, port COM baru seharusnya muncul di bawah Ports di Device Manager.

Apakah aku harus menekan tombol BOOT untuk upload ke ESP32?

Kebanyakan DevKit masuk ke mode pemrograman dengan sendirinya, jadi kamu tidak perlu BOOT. Kalau “Connecting...” berlarut-larut dan muncul “Failed to connect to ESP32”, ulangi upload, tahan BOOT ketika “Connecting...” muncul, dan lepaskan begitu penulisan dimulai. Kalau terus terjadi, turunkan kecepatan upload ke 115200.

LED bawaan ESP32 ada di pin berapa?

Di board ESP32 DevKit 30 pin yang umum, LED bawaan berwarna biru terhubung ke GPIO2. Tapi ini tergantung board-nya: DevKitC dari Espressif hanya punya LED power, dan di beberapa board LED-nya ada di pin lain. Kalau tidak yakin, cek pinout board atau pakai LED eksternal di breadboard.

Bisakah sekolah memulai dengan ESP32, bukan Arduino Uno?

Bisa; kodenya ditulis dengan bahasa Arduino yang sama dan pelajaran LED pertama hampir identik. Perbedaannya adalah level logika 3,3 V, penomoran GPIO, pin khusus input, dan tombol BOOT, dan beberapa menit di pelajaran pertama cukup untuk membahasnya. Persiapannya sedikit lebih lama dibanding Uno, tapi sebagai gantinya Wi-Fi dan Bluetooth sudah siap untuk pelajaran berikutnya.

Lihat semua proyek
Kedipan LED Bawaan ESP32
#106Pemula

Kedipan LED Bawaan ESP32

Mengedipkan LED biru bawaan di ESP32 DevKit V1. Tidak perlu komponen eksternal! Proyek pertama yang sebaiknya kamu coba ketika membeli ESP32. GPIO 2 tersambung ke LED bawaan.

4.8(29)
53
LED Berkedip dengan ESP32
#103Pemula

LED Berkedip dengan ESP32

Mengajarkan penggunaan output GPIO dasar dengan ESP32. Kita membuat efek berkedip dengan menyalakan dan mematikan LED dari pin digital. Versi ESP32 dari proyek blink klasik di Arduino UNO; perintah blink dasar di lingkungan Arduino sama, tetapi susunan pin ESP32 dan level GPIO 3,3 V-nya berbeda dengan Arduino UNO.

4.7(37)
99
Kendali LED dengan Tombol Tekan ESP32 (Tekan)
#104Pemula

Kendali LED dengan Tombol Tekan ESP32 (Tekan)

LED menyala ketika tombol ditekan dan mati ketika dilepas. Menunjukkan cara memakai pin input digital ESP32 dan resistor pull-up internalnya. Mode INPUT_PULLUP membuat resistor eksternal tidak diperlukan.

4.6(36)
55
Kendali LED dengan Tombol Tekan ESP32 (Toggle)
#105Pemula

Kendali LED dengan Tombol Tekan ESP32 (Toggle)

Setiap kali tombol ditekan, keadaan LED berubah: jika menyala jadi mati, jika mati jadi menyala. Pola toggle klasik. Dengan debounce, kita membersihkan derau mekanis tombol tekan agar satu tekanan menghasilkan satu kali toggle.

4.6(39)
57
Lampu Lalu Lintas ESP32
#107Pemula

Lampu Lalu Lintas ESP32

Simulasi lampu lalu lintas sungguhan dengan 3 LED merah-kuning-hijau. Pengaturan waktunya mendekati logika lalu lintas sungguhan: merah lama, kuning singkat, hijau lama. Contoh klasik kendali GPIO berurutan.

4.4(21)
44
Membaca Intensitas Cahaya dengan Modul LDR ESP32
#113Pemula

Membaca Intensitas Cahaya dengan Modul LDR ESP32

Memantau secara real-time di Serial Monitor nilai ADC mentah modul LDR dan persentase cahaya relatif yang dihitung dari nilai acuan gelap dan terang. Persentase ini bukan pengukuran lux. Mengajarkan logika kalibrasi modul. Ideal dikerjakan sebelum Proyek 10, karena dipakai untuk menentukan nilai ambang.

4.6(36)
55
Sensor Jarak Ultrasonik HC-SR04 ESP32
#116Menengah

Sensor Jarak Ultrasonik HC-SR04 ESP32

Sensor ultrasonik HC-SR04 menghitung jarak dengan mengukur waktu yang dibutuhkan gelombang suara yang dipancarkannya untuk memantul dari benda lalu kembali (Time of Flight). Di proyek ini, kita mengirim pulsa 10 mikrodetik dari ESP32 ke pin TRIG sensor dan membaca durasi pantulan dari pin ECHO dengan pulseIn(). Jarak hasil hitung ditampilkan dalam sentimeter di LCD I2C 16x2. Karena HC-SR04 bekerja di 5V, pembagi tegangan wajib dipasang di pin ECHO.

4.9(28)
45
Suhu dan Kelembapan DHT22 ESP32 (dengan Layar LCD)
#117Menengah

Suhu dan Kelembapan DHT22 ESP32 (dengan Layar LCD)

Proyek ini mengukur suhu dan kelembapan sekitar dengan sensor DHT22 dan menampilkan datanya secara real-time di LCD I2C 16x2. Data dibaca dari sensor dengan protokol satu kabel lewat library Adafruit DHT. Proyek ini menjadi dasar untuk stasiun cuaca IoT, otomasi rumah pintar, atau sistem pemantauan lingkungan di rumah kaca. Komunikasi dengan DHT22 dilakukan lewat pin GPIO 4 ESP32.

4.8(38)
56