Membaca dunia analog (analogRead) dan mengontrol keluaran "setengah nyala" (analogWrite/PWM).
Sinyal digital hanya 0 atau 5V. Sinyal analog bisa berapapun di antaranya โ suhu 36,5ยฐC, cahaya 40%, tegangan sensor 2,7V. Untuk "berbicara" dengan dunia analog, MCU punya dua alat:
Membaca tegangan 0-5V dan mengubahnya menjadi angka
0 sampai 1023 (10-bit: 2ยนโฐ = 1024 nilai).
Fungsi: analogRead(). Pin: A0-A5.
Menyala-mati sangat cepat (ยฑ500 Hz) dengan rasio tertentu,
sehingga terlihat seperti tegangan menengah.
Fungsi: analogWrite(). Pin: 3, 5, 6, 9, 10, 11.
analogRead(): Membaca Sensor| Raw (analogRead) | Tegangan |
|---|---|
| 0 | 0 V |
| 256 | ยฑ 1,25 V |
| 512 | ยฑ 2,5 V |
| 768 | ยฑ 3,75 V |
| 1023 | 5 V |
map()Memetakan angka dari satu rentang ke rentang lain โ paling sering dipakai untuk sensor:
analogWrite(): PWMPWM bukan tegangan analog โ ia adalah sinyal digital yang nyala-mati super cepat. Duty cycle = porsi waktu "nyala".
analogWrite() hanya bekerja di pin PWM: 3, 5, 6, 9, 10, 11
(di Uno). Di pin lain, ia hanya berperilaku seperti digitalWrite.
LDR (Light Dependent Resistor) = resistor yang nilainya turun saat terang. Dipasang sebagai pembagi tegangan ke pin analog, lalu dibaca: gelap โ raw kecil, terang โ raw besar.
Angka 512 adalah threshold (ambang) โ nilai tengah 0-1023. Di dunia nyata, ambang yang pas ditentukan dengan mencoba-coba (kalibrasi).