ARD - Output Digital dan Analog
Output Digital
Output digital hanya memiliki dua keadaan yaitu 1 dan 0. 1 berarti ada tegangan dan 0 berarti tidak ada tegangan. Untuk mengatur suatu pin menjadi output syntax-nya adalah sebagai berikut:
pinMode(pin, OUTPUT);
Syntax tersebut harus diletakan pada bagian void setup. Sebagai contoh kita akan mengatur pin 13 sebagai output maka syntax-nya adalah sebagai berikut
pinMode(13, OUTPUT);
Mengatur Output Digital
Untuk mengatur pin yang kita atur mengeluarkan logika satu atau nol syntax-nya adalah sebagai berikut
//membuat output mengeluarkan logika 1
digitalWrite(13, HIGH); //cara 1
digitalWrite(13, 1); //cara 2
//membuat output mengeluarkan logika 0
digitalWrite(13, LOW); //cara 1
digitalWrite(13, 0); //cara 2
Output Analog
Output analog memiliki keluaran yang bervariasi bergantung resolusi PWM yang dimiliki mikrokontroler. Pada Arduino Uno dan ESP32, resolusi PWM yang dimiliki yaitu 8 bit yang artinya output analog mampu mengeluarkan 2 pangkat 8 variasi yaitu 256 variasi. Mulai dari 0 sampai 255.
Untuk mengatur suatu pin menjadi output analog syntax sama dengan mengatur pin menjadi output digital yaitu sebagai berikut:
pinMode(pin, OUTPUT);
Syntax tersebut harus diletakan pada bagian void setup. Tidak semua pin pada Arduino Uno support PWM. pin yang support PWM ditandai dengan tanda tilde (~) di samping nomor pin nya.
Sebagai contoh kita akan mengatur pin3 sebagai output analog maka syntax-nya adalah sebagai berikut
pinMode(3, OUTPUT);
Mengatur Output Analog
Untuk mengatur nilai output dari output analog syntax-nya adalah sebagai berikut
analogWrite(pin, nilaiAnalog);
sebagai contoh kita akan mengatur pin 3 mengeluarkan nilai analog 200 maka programnya adalah sebagai berikut:
analogWrite(3, 200);
Contoh Rangkaian: Dimming LED

Program:
const int ledPin = 9;
void setup() {
// mengatur pin 9 sebagai output
pinMode(ledPin, OUTPUT);
}
void loop(){
// menaikan kecerahan LED
for(int nilaiAnalog = 0; nilaiAnalog <= 255; nilaiAnalog++){
analogWrite(ledPin, nilaiAnalog);
delay(15);
}
// menurunkan kecerahan LED
for(int nilaiAnalog = 255; nilaiAnalog >= 0; nilaiAnalog--){
// changing the LED brightness with PWM
analogWrite(ledPin, nilaiAnalog);
delay(15);
}
}
Kondisi awal LED adalah padam (nilai analog = 0) dan perlahan akan mulai menyala dan semakin terang. Setalah pada kondisi paling terang LED akan perlahan mulai redup hingga pada kondisi padam dan berulang seperti itu.