ARD - Input Pada Arduino IDE
Input adalah sinyal yang masuk ke perangkat mikrokontroler yang berasal dari komponen lain. Terdapat dua jenis input yaitu input digital dan input analog.
Input Digital
Sebelum bisa memahami Input Push Button pada Arduino silakan pahami dulu tentang ELC - Push Button<--click.
Input digital adalah sinyal yang hanya memiliki dua keadaan yaitu HIGH (1) atau LOW (0). Komponen yang biasa digunkaan untuk input adalah ELC - Push Button, sensor cahaya sederhana (yang menghasilkan output HIGH atau LOW), dan output dari sirkuit digital lainnya.
Mengatur Pin Sebagai Input
Untuk mengatur suatu pin sebagai input syntax-nya adalah
pinMode(pin, INPUT); //external pull_up
pinMode(pin, INPUT_PULLUP); //internal_pull_up
Contoh:
//pada void setup
pinMode(5, INPUT); //mengatur pin 5 sebagai input dengan eksternal pull up
pinMode(6, INPUT_PULLUP); //mengatur pin 6 sebagai input dengan internal pull up
Jika rangkaian yang digunakan bukan pull-down atau pull-up maka pada pengaturan pin arduino bisa menggunakan INPUT_PULLUP.
Jika rangkaian menggunakan pull-up atau pull-down maka pada pengaturan pin arduino cukup menggunakan INPUT saja.
Membaca Kondisi Input
Untuk membaca kondisi dari suatu input, syntax yang bisa digunakan adalah
digitalRead(pin);
Biasanya nilai dari digitalRead tersebut dimasukan ke dalam Variable lalu nilai tersebut digunakan pada bagian program lainnya seperti ARD - Instruksi If. Contohnya adalah
bool kondisiTombol=0;
void setup(){
pinMode(2, INPUT_PULLUP);
pinMode(4, OUTPUT);
}
void loop(){
kondisiTombol = digitalRead(2);
if (kondisiTombol==0){
digitalWrite(4, 1);
}else{
digitalWrite(4, 0);
}
}
Contoh Rangkaian: Menyalakan LED Dengan Menggunakan Push Button
Rangkaian

Keterangan:
-
Push button yang digunakan adalah jenis NO
-
Pin pertama Push button dihubungkan ke pin 2 arduino sedangkan pin push button lainnya di hubungkan ke pin GND. Oleh karena itu jika push button ditekan maka pin 2 arduino akan terhubung ke GND sehingga mendapatkan logika 0.
Program Arduino
#define PBPin 2 //membuat makro bernama PBPin berisi 2
#define LEDPin 13 //membuat makro bernama LEDPin berisi 13
void setup(){
pinMode(PBPin, INPUT_PULLUP);
pinMode(LEDPin, OUTPUT);
}
void loop()
{
int bacaPB = digitalRead(PBPin); // membuat variable berisi kondisi PB
if (bacaPB == 0){ //syarat
digitalWrite(LEDPin, HIGH); //jika syarat True maka dikerjakan
}else{ //selain itu
digitalWrite(LEDPin, LOW); //jika syarat False maka dikerjakan
}
delay(10);
}
Untuk materi kelas X E4 cukup tulis sampai sini saja.
Input Analog
Input analog adalah input yang akan memberikan masukan nilai yang bervariasi tergantung kemampuan dari suatu mikrokontroler. Berbeda dengan input digital yang hanya memberikan dua variasi masukan yaitu 1 dan 0, input analog dengan kemampuan 8 bit bisa memberikan input sebanyak 2 pangkat 8 variasi yaitu 256 variasi. Mulai dari 0 sampai 255. Sedangkan input analog dengan kemampuan 10 bit bisa memberikan 2 pangkat 10 variasi yaitu 1024 mulai dari 0 hingga 1023.
Pada Arduino Uno terdapat 6 input analog yaitu A0 - A5 sedangkat pada ESP32 18 pin dengan resolusi 12 bit (0-4095) yaitu
- ADC1_CH0 (GPIO 36)
- ADC1_CH1 (GPIO 37)
- ADC1_CH2 (GPIO 38)
- ADC1_CH3 (GPIO 39)
- ADC1_CH4 (GPIO 32)
- ADC1_CH5 (GPIO 33)
- ADC1_CH6 (GPIO 34)
- ADC1_CH7 (GPIO 35)
- ADC2_CH0 (GPIO 4)
- ADC2_CH1 (GPIO 0)
- ADC2_CH2 (GPIO 2)
- ADC2_CH3 (GPIO 15)
- ADC2_CH4 (GPIO 13)
- ADC2_CH5 (GPIO 12)
- ADC2_CH6 (GPIO 14)
- ADC2_CH7 (GPIO 27)
- ADC2_CH8 (GPIO 25)
- ADC2_CH9 (GPIO 26)
ADC2 tidak bisa digunakan sebagai ADC jika kita menggunakan fitur Wifi. Gunakan ADC 1 jika ingin menggunakan ADC bersamaan dengan fitur Wifi.
Pada arduino IDE kita tidak perlu mengatur suatu pin sebagai input analog pada void setup.
Membaca Input Analog
Syntax yang digunakan untuk membaca input analog adalah sebagai berikut
analogRead(pin);
Biasanya nilai yang dibaca dimasukan ke dalam variable sehingga contohnya seperti berikut
//pin A0 dihubungkan ke input analog, dibaca nilainya dan dimasukan ke variable nilaiSensor
nilaiSensor = analogRead(A0);
Contoh Rangkaian: Memunculkan Nilai Analog Pada Serial Monitor

int nilaiPotensio=0; //membuat variable untuk menyimpan nilai analog
void setup(){
Serial.begin(9600);
}
void loop(){
nilaiPotensio = analogRead(A0); //membaca nilai analog dan menyimpan
Serial.print("Nilai Potensio:");
Serial.println(nilaiPotensio); //memunculkan nilai analog
delay(100);
}