Anda di halaman 1dari 10

LAPORAN PRAKTIKUM SCADA UNIT 1

DIGITAL INPUT, ANALOG INPUT,


DIGITAL OUTPUT, DAN ANALOG OUTPUT

Nama : Akhmad Musthofa Munir


NIM : 40040319650022

1. Digital Input
a. Rangkaian Push Button pada Tinkercad

b. Program
const int btna = A3;
const int btnb = A4;
const int btnc = A5;

int buttonstatea = 0;
int buttonstateb = 0;
int buttonstatec = 0;

int counta = 0;
int countb = 0;
int countc = 0;

void setup()
{
Serial.begin(9600);
pinMode(btna,INPUT);
pinMode(btnb,INPUT);
pinMode(btnc,INPUT);
}

void loop()
{
buttonstatea = digitalRead(btna);
buttonstateb = digitalRead(btnb);
buttonstatec = digitalRead(btnc);
if(buttonstatea == LOW)
{ counta++;
Serial.print("A=");
Serial.print(counta);
Serial.print("B=");
Serial.print(countb);
Serial.print("C=");
Serial.println(countc);
delay(300);
}
else if(buttonstateb == LOW)
{ countb++;
Serial.print("A=");
Serial.print(counta);
Serial.print(" B=");
Serial.print(countb);
Serial.print(" C=");
Serial.println(countc);
delay(300);
}
else if(buttonstatec == LOW)
{ countc++;
Serial.print("A=");
Serial.print(counta);
Serial.print(" B=");
Serial.print(countb);
Serial.print(" C=");
Serial.println(countc);
delay(300);
}
}

c. Ulasan
Dalam kesempatan kali ini saya melakukan percobaan mengenai topik
Digital Input, dimana menggunakan komponen berupa 3 buah push button, 3 buah
resistor 1k ohm, kapasitor MKP 0,1uF, dan Arduino Uno. Push button dan resistor
disusun menjadi rangkaian pull-up resistor yang terhubung ke pin A3, A4, dan A5
Arduino Uno, kemudian kapasitor dirangkai secara paralel dengan push button.
Rangkaian pull-up resistor menyebabkan kondisi awal pada saat push button tidak
ditekan adalah HIGH karena tegangan dari 5 volt mengalir pada pin Arduino Uno,
dan sebaliknya. Kapasitor digunakan sebagai filter untuk mencegah push button
melakukan bouncing. Pada percobaan ini push button digunakan sebagai counter
yang masing- masing hasil counter ditampilkan pada serial monitor.
Pemrograman push button sebagai counter dimulai dengan mendeklarasikan
beberapa variabel untuk nama pin Arduino yang digunakan sebagai masukan dari
push button (btna, btnb, dan btnc), kemudian variabel untuk menyimpan kondisi
masing- masing push button (buttonstatea, buttonstateb, dan buttonstatec), serta
variabel untuk menyimpan hasil penghitungan push button ditekan (counta,
countb, dan countc). Kemudian dilakukan konfigurasi pada setiap pin yang
digunakan serta diberikan perintah untuk memulai komunikasi serial Arduino pada
void setup() dengan baud rate 9600. Pada void loop() dilakukan pembacaan
terhadap kondisi dari push button menggunakan fungsi digitalRead yang
kemudian hasil pembacaan disimpan dalam variabel buttonstate untuk masing-
masing push button. Kemudian diberikan fungsi pengkondisian if else, dengan
kondisi apabila pembacaan pada buttonstate setiap push button menghasilkan
LOW, maka nilai pada variabel count akan bertambah. Kemudian nilai pada setiap
variabel count akan ditampilkan pada serial monitor.

d. Percobaan
2. Analog Input
a. Rangkaian Potensiometer pada Tinkercad

b. Program
int adc=0; float volt=0;

void setup() {
Serial.begin(9600);
}

void loop() {
adc = analogRead(A0);
volt = (float)
(0.004887585533*adc);
Serial.print("ADC = ");
Serial.print(adc);
Serial.print("\t Volt = ");
Serial.println(volt);
delay(500);
}

c. Ulasan
Dalam kesempatan kali ini saya melakukan percobaan mengenai topik
Analog Input, dimana menggunakan komponen berupa potensiometer 10k ohm
dan Arduino Uno. Potensiometer dipasangkan pada pin A0 Arduino Uno untuk
mendeteksi input analog atau ADC Arduino yang kemudian hasil dari pembacaan
ADC ditampilkan pada serial monitor serta diubah ke dalam pembacaan tegangan
yang dialirkan oleh potensiometer.
Pemrograman dimulai dengan mendeklarasikan variabel untuk menyimpan
hasil pembacaan ADC (adc) dengan tipe data Integer dan menyimpan hasil
konversi dari ADC ke tegangan (volt) dengan tipe data Float. Pada void setup()
diberikan perintah untuk memulai komunikasi serial Arduino. Pada void loop()
dilakukan pembacaan analog dengan fungsi analogRead. Setelah itu dilakukan
konversi ke dalam tegangan dengan rumus sebagai berikut:

𝑉𝑖𝑛
𝑇𝑒𝑔𝑎𝑛𝑔𝑎𝑛 (𝑉) = 𝑝𝑒𝑚𝑏𝑎𝑐𝑎𝑎𝑛 𝐴𝐷𝐶 .
1023

Dimana Vin merupakan tegangan 5 volt dan 1023 merupakan rentang dari
konversi Analog ke Digital Arduino Uno dengan resolusi 10 bit. Setelah itu, hasil
pembacaan ADC dan konversi ke dalam volt ditampilkan ke dalam serial monitor
dengan menggunakan perintah serial print.

d. Percobaan
3. Digital Output
a. Rangkaian LED pada Tinkercad

b. Program
const int led1 = 6;
const int led2 = 7;
const int led3 = 8;

void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
}

void loop()
{
digitalWrite(led1,LOW);
delay(500);
digitalWrite(led2,LOW);
delay(500);
digitalWrite(led3,LOW);
delay(500);
digitalWrite(led3,HIGH);
delay(500);
digitalWrite(led2,HIGH);
delay(500);
digitalWrite(led1,HIGH);
delay(500);
}

c. Ulasan
Dalam kesempatan kali ini saya melakukan percobaan mengenai topik
Digital Output, dimana digunakan 3 buah LED dan 3 buah resistor 330 ohm untuk
merepresentasikan penggunaan digital output. LED dan resistor dirangkai dengan
konfigurasi pull-up resistor. Masing-masing LED dipasangkan pada pin 6, 7, dan
8 Arduino Uno. LED yang terpasang akan dinyalakan dan dimatikan secara
berurutan. Pemrograman dimulai dengan mendeklarasikan variabel untuk
menamai masing- masing pin yang digunakan oleh LED (led1, led2, dan led3).
Pada void setup() dilakukan konfigurasi pin LED sebagai output. Pada void loop()
diberikan perintah untuk menyalakan atau mematikan LED dengan fungsi
digitalWrite. Dikarenakan konfigurasi LED menggunakan pull-up resistor, maka
untuk menyalakan LED diberikan kondisi LOW, dan sebaliknya untuk mematikan
LED diberikan kondisi HIGH.
d. Percobaan
4. Analog Output
a. Rangkaian Potensiometer dan LED pada Tinkercad

b. Program
const int led = 9; int adc = 0;

void setup()
{
pinMode(led,OUTPUT);
}

void loop()
{
adc = analogRead(A0);
adc = map(adc, 0, 1023, 0, 255);
analogWrite(led, adc);
}

c. Ulasan
Dalam kesempatan kali ini saya melakukan percobaan mengenai topik Analog
Output, dimana digunakan komponen berupa potensiometer 10k ohm, resistor 330
ohm, dan LED. Untuk merepresentasikan analog output, digunakan PWM Arduino
Uno, sehingga LED akan dipasang pada pin 9 Arduino yang dapat mendukung fungsi
PWM dengan konfigurasi pull-up resistor. Sedangkan untuk potensiometer
dipasangkan pada pin A0 Arduino Uno. Pada percobaan ini, output PWM pada LED
akan diatur melalui input analog dari potensiometer, sehingga potensiometer dapat
mengatur redup-terang nyala dari LED.
Pemrograman dimulai dengan mendeklarasikan variabel untuk menamai pin
output LED (led) dan variabel untuk menyimpan hasil pembacaan analog dari
potensiometer (adc). Pada void setup() dilakukan konfigurasi untuk pin LED sebagai
output. Pada void loop() dilakukan pembacaan input analog yang kemudian hasil
pembacaannya disimpan dalam variabel adc. Setelah itu dilakukan mapping untuk
nilai variabel adc, dikarenakan konversi analog ke digital oleh Arduino Uno memiliki
rentang 0-1023, sedangkan untuk output PWM hanya memiliki rentang 0-255. Setelah
itu output PWM diberikan pada LED dengan menggunakan fungsi analogWrite.

d. Percobaan

Anda mungkin juga menyukai