TUJUAN PRAKTIKUM
- Mampu membuat program input dan output menggunakan digital I/O arduino.
PROSEDUR PERCOBAAN
1. Digital Output.
- Hubungkan Port A arduino Mega 2560 R3 dengan Port OUTPUT pada Trainer.
- Hubungkan arduino Mega 2560 R3 dengan komputer menggunakan kabel USB.
a. Program 1
void setup() {
pinMode(6,OUTPUT); //pin 6 sebagai output
pinMode(13,OUTPUT); //pin 13 sebagai output
pinMode(7,OUTPUT); //pin 7 sebagai output
pinMode(12,OUTPUT); //pin 12 sebagai output
pinMode(8,OUTPUT); //pin 8 sebagai output
pinMode(11,OUTPUT); //pin 11 sebagai output
pinMode(9,OUTPUT); //pin 9 sebagai output
pinMode(10,OUTPUT); //pin 10 sebagai output
}
void loop() {
digitalWrite(6,LOW); // pin 6 berlogika LOW
digitalWrite(13,LOW); // pin 13 berlogika LOW
digitalWrite(7,HIGH); // pin 7 berlogika HIGH
digitalWrite(12,HIGH); // pin 12 berlogika HIGH
digitalWrite(8,LOW); // pin 8 berlogika LOW
digitalWrite(11,LOW); // pin 11 berlogika LOW
digitalWrite(9,HIGH); // pin 9 berlogika HIGH
digitalWrite(10,HIGH); // pin 10 berlogika HIGH
}
Program di atas akan menyalakan LED seperti tabel di bawah ini:
b. Program 2
Program di atas akan menyalakan 1 bit LED bergeser dari kiri ke kanan.
c. Program 3
int LED[]={6,13,7,12,8,11,9,10}; //array (pin address)
void setup() {
for (int i=0; i<8; i++)
{
pinMode(LED[i], OUTPUT); //inisialisasi OUTPUT
}
}
void loop() {
for(int i=0; i<8;i++){ //nyala berurutan
digitalWrite(LED[i],HIGH);
delay(200);
digitalWrite(LED[i],LOW);
delay(200);
}
}
Program di atas akan menyalakan 1 bit LED berotasi dari kiri ke kanan.
d. Program 4
void loop()
{
PART 1. DIGITAL I/O DASAR
displayBinary(biner);
}
Gambar Program 1
Gambar Program 2
PART 1. DIGITAL I/O DASAR
Gambar Program 3
Gambar Program 4
PART 1. DIGITAL I/O DASAR
PART 1. DIGITAL I/O DASAR
Latihan Mandiri
Maka program diatas akan menampilkan LED seperti tabel berikut ini:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Nyala nyala mati Mati mati Mati nyala nyala
Maka program diatas menampilkan LED dengan berjalan beruntun dari rotasi kiri menuju rotasi
kanan dengan delay 0,2 seconds.
d. Buatlah program untuk menampilkan LED dengan nyala bit biner dari 0 ~ 15 kemudian
berulang dengan selang waktu 1 detik.
PART 1. DIGITAL I/O DASAR
Maka program diatas menampilkan LED dengan nyala bit biner dari 0 ~ 15 kemudian berulang
dengan selang waktu 1 detik dari sisi kanan.
PART 1. DIGITAL I/O DASAR
int SW7 = 2;
int LED7 = 10;
void setup() {
pinMode(SW7, INPUT);
pinMode(LED7, OUTPUT);
}
void loop() {
if(digitalRead(SW7)==HIGH){
digitalWrite(LED7,HIGH);
}
else digitalWrite(LED7,LOW);
}
Program diatas akan menyalakan LED bit 7 jika SW7 aktif.
b. Program 2
int SW7 = 2;
int LED[] = {6,13,7,12,8,11,9,10};
void setup() {
for(int i=0; i<8;i++){
pinMode(SW7, INPUT);
pinMode(LED[i], OUTPUT);
}
}
void loop() {
if(digitalRead(SW7)==HIGH){
for(int i=0; i<8;i++){
digitalWrite(LED[i],HIGH);
delay(200);
digitalWrite(LED[i],LOW);
}
}
}
Program diatas akan menyalakan 1 bit LED berotasi ke kiri saat SW7 aktif.
PART 1. DIGITAL I/O DASAR
c. Program 3
a. Buatlah program untuk menyalakan LED bit 0 ~ bit7 sesuai SW yang aktif.
PART 1. DIGITAL I/O DASAR
Maka program diatas untuk menyalakan LED bit 0 ~ bit7 sesuai SW yang aktif.
b. Buatlah program untuk menampilkan LED berotasi dari kiri ke kanan saat SW0 aktif dan
LED berotasi dari kanan ke kiri saat SW7 aktif.
Maka program untuk menampilkan LED berotasi dari kiri ke kanan saat SW0 aktif dan LED
berotasi dari kanan ke kiri saat SW7 aktif.
c. Buatlah program untuk menampilkan LED berotasi dari kiri ke kanan saat IS1 ditekan dan
LED berotasi dari kanan ke kiri saat IS2 ditekan.
PART 1. DIGITAL I/O DASAR
Maka program untuk menampilkan LED berotasi dari kiri ke kanan saat IS1 ditekan dan LED
berotasi dari kanan ke kiri saat IS2 ditekan.