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?

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.
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-serial | Cara mengenalinya di board | Nama port di Windows | Catatan |
|---|---|---|---|
| CP2102 / CP2104 | Chip persegi kecil di sebelah port USB, bertuliskan CP2102 atau SiLabs | Silicon 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 CH340 | USB-SERIAL CH340 (COMx) | Butuh driver CH340 dari WCH; Windows Update kadang menginstalnya otomatis |
| CH9102 | Chip persegi kecil di board yang lebih baru, bertuliskan CH9102 | USB-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.
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.
| Barang | Per kelompok | Untuk kelas (8 kelompok + 1 cadangan) | Catatan |
|---|---|---|---|
| ESP32 DevKit (30 pin, ESP32-WROOM-32) | 1 | 9 | Pakai satu model saja; model campuran membuat urutan pin tertukar |
| Kabel data USB (Micro-USB atau USB-C, sesuai board) | 1 | 11 | 2 kabel cadangan; semuanya sudah diuji dan ditandai |
| Breadboard (830 lubang) | 1 | 9 | 2 per kelompok kalau board-nya tidak muat (18 untuk satu kelas) |
| LED merah 5 mm | 2 | 20 | LED merah menyala dengan nyaman di 3,3 V |
| Resistor 220 Ω | 2 | 20 | Gelang warna: merah-merah-cokelat |
| Kabel jumper male-to-male | 4 | sekitar 40 | Selalu pakai warna hitam untuk GND |
| Komputer dengan Arduino IDE dan paket ESP32 | 1 | 8 + komputer guru | Diberi label nomor port |
| Ponsel atau tablet dengan BlueGrays terbuka | 1 (opsional) | 8 | Untuk membaca skema dan kode; proyektor juga bisa |
| Kotak atau kantong komponen | 1 | 9 | Hitung semuanya kembali di akhir pelajaran |
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.
| Menit | Tahap | Guru | Siswa |
|---|---|---|---|
| 0–4 | Pembuka dan tujuan | Mengangkat 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–9 | Mengenal board | Memakai 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–17 | Upload pertama: LED bawaan | Membuka 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–21 | Ubah satu nilai | Bertanya: “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–31 | Rangkaian LED eksternal | Menampilkan 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–35 | Tugas mini | Memberi 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–38 | Beres-beres | Meminta semua siswa mencabut USB dan menghitung komponen. | Membongkar rangkaian dan menghitung komponen sambil memasukkannya kembali ke kotak. |
| 38–40 | Pertanyaan penutup | Menulis keempat pertanyaan di papan tulis atau menanyakannya secara lisan. | Menulis jawaban singkat di kertas dan menyerahkannya sambil keluar kelas. |

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.
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}
15Rangkaian 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().
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}
165 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.
| Topik | Arduino Uno | ESP32 DevKit | Artinya di kelas |
|---|---|---|---|
| Tegangan logika | 5 V | 3,3 V; pinnya tidak tahan 5 V | Jangan pernah memberi 5 V ke GPIO; cek tegangan output modul 5 V sebelum menghubungkannya |
| Nomor pin | D0–D13 dan A0–A5 | Yang dipakai nomor GPIO; pin berlabel D5 di board ditulis 5 di kode | Angka di kode adalah nomor GPIO di board, bukan urutan yang dihitung dari tepi |
| Pin khusus input | Tidak ada; semua pin digital bisa menjadi output | GPIO34, 35, 36 (VP), dan 39 (VN) khusus input dan tidak punya resistor pull-up internal; GPIO6–11 terhubung ke memori flash | LED di pin 34 tidak akan pernah menyala; di pelajaran pertama pakai GPIO2 dan GPIO5 saja |
| Tombol BOOT dan EN | Satu tombol reset; upload mulai sendiri | BOOT (GPIO0) untuk mode pemrograman, EN untuk me-restart | Tahan BOOT kalau “Connecting...” berlarut-larut; tekan EN kalau kodenya seperti tidak jalan |
| Nirkabel | Tidak ada | Wi-Fi 2,4 GHz dan Bluetooth (Classic dan BLE) bawaan | Tidak 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
| Gejala | Kemungkinan penyebab | Solusi satu menit |
|---|---|---|
| Menu Tools > Port kosong atau berwarna abu-abu | Kabel khusus pengisian daya atau driver belum ada | Coba 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 sendirinya | Upload lagi, tahan BOOT ketika “Connecting...” muncul, lepaskan ketika baris “Writing at” mulai muncul |
| Error avrdude di output | Board yang terpilih masih Arduino Uno | Pilih Tools > Board > esp32 > ESP32 Dev Module dan upload lagi |
| Upload berhasil tapi tidak ada yang berubah pada LED | Port 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 menyala | LED terbalik, atau resistor dan LED tidak berada di baris breadboard yang sama | Balik 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 menyala | Kabel 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 berkedip | Board tidak punya LED yang bisa diprogram atau LED-nya ada di pin lain | Cek pinout board; langsung lanjut ke tahap LED eksternal |
| LED terus menyala atau board menjadi hangat | LED tersambung ke 5V/VIN atau 3V3, atau 3V3 korsleting ke GND | Segera cabut USB; pindahkan LED ke GPIO5, temukan kabel yang menyebabkan korsleting, lalu colokkan lagi |
Pertanyaan penutup dan gambaran pelajaran kedua
- Pin mana di board yang dimaksud oleh angka 5 di kode? Kenapa di sebelah pin itu board mungkin bertuliskan “D5”?
- Apa yang berubah pada LED ketika kamu menulis delay(200), bukan delay(1000)? Berapa kali per detik LED berkedip sekarang?
- Kenapa LED tidak menyala ketika dipasang terbalik? Kaki LED yang mana yang dipasang di sisi resistor?
- 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.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
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.

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.

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.

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.

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.

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.

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.

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.
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

