Pertemuan 1
Teori Dasar: Keselamatan, Kelistrikan, Mikrokontroler, Sinyal Digital/Analog & Blink
Tujuan Pembelajaran
- Memahami aturan keselamatan kerja dasar di lab elektronika.
- Memahami konsep tegangan, arus, resistansi, serta peran VCC dan Ground.
- Memahami perbedaan sinyal digital dan analog, serta cara mikrokontroler membacanya.
- Mengenal perbedaan Arduino Uno dan ESP32, serta kapan masing-masing dipakai.
- Berhasil menginstal Arduino IDE dan meng-upload program pertama (Blink LED).
- Memahami konsep dasar Input vs Output dalam sistem elektronika.
Penjelasan Konsep
1. Keselamatan kerja di lab
Sebelum menyentuh komponen, biasakan: tangan kering saat memegang alat, jangan menghubungkan rangkaian ke sumber listrik AC secara langsung tanpa pengawasan, dan selalu cabut kabel USB sebelum mengubah rangkaian.
2. Tegangan, arus, resistansi
- Tegangan (Volt, V) - "dorongan" yang membuat listrik mengalir, diukur antar dua titik.
- Arus (Ampere, A) - jumlah muatan listrik yang mengalir per detik.
- Resistansi (Ohm, Ω) - hambatan yang membatasi aliran arus.
- Hubungan ketiganya dirangkum dalam Hukum Ohm: V = I × R.
3. VCC dan Ground
VCC adalah jalur tegangan positif (sumber daya), GND (Ground) adalah jalur referensi 0V / kutub negatif. Hampir semua modul sensor di kelas ini punya pin VCC dan GND yang harus benar arah pemasangannya.
Peringatan keselamatan: Jika pin VCC dan GND tertukar, ini berbahaya - komponen bisa panas, rusak, bahkan terbakar dalam hitungan detik. Sebaliknya, jika pin data/sinyal (misalnya pin OUT sensor) terpasang salah/terbalik, ini aman - akibatnya hanya data tidak terbaca dengan benar, tidak merusak komponen. Selalu cek label pin modul sebelum menyalakan rangkaian.
4. Arduino Uno vs ESP32
Dua board utama yang dipakai sepanjang kelas ini:
| Board | Prosesor | WiFi/Bluetooth | Jumlah pin analog | Kapan dipakai |
|---|---|---|---|---|
| Arduino Uno | 8-bit, 16MHz | Tidak ada | 6 pin (A0-A5) | Belajar dasar, rangkaian sederhana, kompatibel dengan hampir semua contoh kode klasik |
| ESP32 (Type-C) | 32-bit dual-core, jauh lebih cepat | Ada (WiFi + Bluetooth) | Lebih banyak pin, tapi ADC bisa kurang presisi di beberapa pin | Project yang butuh koneksi internet, lebih banyak sensor sekaligus, atau performa lebih tinggi |
Sepanjang Semester 1, sebagian besar rangkaian bisa dicoba di kedua board - hanya nomor pin yang perlu disesuaikan. Modul yang butuh library khusus (RFID, servo, dsb) tetap kompatibel dengan keduanya.
5. Instalasi Arduino IDE & Blink
- Unduh Arduino IDE dari situs resmi arduino.cc, instal seperti aplikasi biasa.
- Untuk ESP32, tambahkan dukungan board lewat File > Preferences > Additional Board Manager URLs, lalu instal paket "esp32" di Tools > Board > Boards Manager.
- Sambungkan board ke komputer via kabel USB (ESP32 pakai USB Type-C).
- Pilih Tools > Board sesuai board yang dipakai, lalu Tools > Port sesuai port yang muncul.
- Buka contoh program File > Examples > 01.Basics > Blink, lalu klik Upload.
- Jika LED bawaan board berkedip, instalasi berhasil.
6. Input vs Output
- Input - data yang masuk ke mikrokontroler (misalnya pembacaan sensor, tombol ditekan).
- Output - sinyal yang dikeluarkan mikrokontroler untuk mengendalikan sesuatu (misalnya menyalakan LED, motor, buzzer).
Sistem elektronika pada dasarnya adalah alur: Input → Diproses mikrokontroler → Output. Hampir seluruh materi Semester 1 mengikuti pola ini.
7. Sinyal digital vs analog
- Sinyal digital hanya mengenal dua kondisi: HIGH (1, biasanya 5V/3.3V) dan LOW (0, 0V). Contohnya: tombol ditekan/tidak, sensor mendeteksi/tidak.
- Sinyal analog punya nilai yang kontinu, bisa berapa saja dalam suatu rentang. Contohnya: suhu ruangan, intensitas cahaya, kelembaban tanah, posisi putaran potensiometer - hampir semua sensor "kondisi lingkungan" di kit kelas ini bersifat analog.
Mikrokontroler adalah perangkat digital, jadi sinyal analog diubah menjadi angka digital lewat ADC (Analog-to-Digital Converter). Arduino Uno punya ADC 10-bit (nilai 0–1023); ESP32 punya ADC hingga 12-bit (0–4095), tergantung pin dan konfigurasi. Serial Monitor di Arduino IDE dipakai untuk melihat data yang dikirim board lewat kabel USB - sangat berguna untuk debugging dan memeriksa nilai sensor secara langsung.
Kesalahan umum
- Lupa memanggil
pinMode()disetup()- pin yang belum diberi mode bisa berperilaku tidak terduga saat dibaca/ditulis. - Salah memilih Board/Port di menu Tools sebelum upload - muncul error seperti "avrdude: stk500_getsync()" (Uno) atau "Failed to connect" (ESP32). Cek juga apakah kabel USB yang dipakai mendukung transfer data (sebagian kabel hanya untuk mengisi daya).
- Menyamakan level tegangan HIGH di semua board - pada Arduino Uno, HIGH berarti ~5V; pada ESP32, HIGH berarti ~3.3V. Jangan asal pindah kode/wiring dari satu board ke board lain tanpa memeriksa level tegangan pin.
- Serial Monitor menampilkan karakter acak - biasanya karena baud rate di Serial Monitor tidak sama dengan angka di
Serial.begin()pada kode. - Mengira semua pin ESP32 setara - beberapa pin ESP32 hanya bisa input, beberapa dipakai internal saat boot (mis. GPIO0, GPIO2), dan sebagian pin ADC2 tidak bisa dipakai bersamaan dengan WiFi aktif.
Komponen yang Dibutuhkan
- 1x Arduino Uno atau ESP32 (Type-C) - salah satu
- 1x Kabel USB sesuai board
- 1x Komputer dengan Arduino IDE terinstal
Diagram / Skema Pengkabelan
Pertemuan ini belum memerlukan rangkaian tambahan - cukup sambungkan board langsung ke komputer lewat kabel USB.
[Komputer] --(kabel USB)--> [Arduino Uno / ESP32] --(LED bawaan)
LED indikator built-in biasanya sudah terpasang di board, jadi tidak perlu wiring tambahan untuk latihan Blink ini.
Contoh Kode Program
// Contoh program Blink - LED bawaan board berkedip setiap 1 detik
// Kode ini sama untuk Arduino Uno maupun ESP32.
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Set pin LED sebagai OUTPUT
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Nyalakan LED
delay(1000); // Tunggu 1 detik
digitalWrite(LED_BUILTIN, LOW); // Matikan LED
delay(1000); // Tunggu 1 detik
}Tugas / Latihan
- Ubah kode Blink agar LED berkedip lebih cepat (misalnya setiap 200 ms).
- Buat pola kedipan custom, misalnya: nyala pendek-pendek-panjang (mirip kode morse "U").
- Catat spesifikasi board yang kamu pakai (Arduino Uno atau ESP32) di buku catatan, termasuk jumlah pin yang tersedia.
- Jelaskan dengan kata-katamu sendiri perbedaan sinyal digital dan analog, serta berikan 1 contoh sensor untuk masing-masing jenis.
- (Tantangan) Cari tahu apa itu fungsi
millis()dan mengapa ia sering dianggap lebih baik daridelay()untuk program yang harus mengerjakan banyak hal sekaligus. Tulis penjelasan singkat dengan kata-katamu sendiri - konsep ini akan dipakai lagi di Semester 2.