Anda di halaman 1dari 5

PART 1.

DIGITAL I/O DASAR

 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:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


nyala nyala mati mati nyala nyala mati mati

b. Program 2

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() {
PART 1. DIGITAL I/O DASAR

for(int i=0; i<8;i++){ //nyala berurutan


digitalWrite(LED[i],HIGH);
delay(500);
}
for(int i=0; i<8;i++){ //padam berurutan
digitalWrite(LED[i],LOW);
}
delay(500);
}

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

int ledPin[] = {6,13,7,12}; //address pin LED


int biner = 9; //<<<----masukin angka
void setup()
{
for (int i =0;i<4;i++)
{
pinMode(ledPin[i], OUTPUT);
}
}

void loop()
{
PART 1. DIGITAL I/O DASAR

displayBinary(biner);
}

void displayBinary(byte numToShow)


{
for (int i =0;i<4;i++)
{
if (bitRead(numToShow, i)==1)
{
digitalWrite(ledPin[i], HIGH);
}
else
{
digitalWrite(ledPin[i], LOW);
}
}
}
Program diatas akan menampilkan nyala LED sesuai bit Biner hasil konversi bilangan Desimal.
Latihan Mandiri

a. Buatlah program untuk menampilkan LED pada port A dengan kondisi.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


nyala nyala mati mati mati mati nyala nyala

b. Buatlah program untuk menampilkan 1 buah LED berotasi ke kanan.


c. Buatlah program untuk menampilkan bit LED bergeser ke kanan
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

2. Digital Input Output


- Hubungkan Port A ke Port OUTPUT.
- Hubungkan Port B ke Port INPUT.
- Hubungkan arduino Mega 2560 R3 dengan komputer menggunakan kabel USB.
a. Program 1:

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

int IS1 = 21;


int LED[]= {6,13,7,12,8,11,9,10};
void setup() {
for (int i=0; i<8; i++)
{
pinMode(LED[i], OUTPUT);
pinMode(IS1, INPUT);
}
}
void loop() {
if(digitalRead(IS1)==HIGH)
{
for(int i=0; i<8;i++){
digitalWrite(LED[i],HIGH);
delay(200);
digitalWrite(LED[i],LOW);
delay(1);
}
}
}
Program diatas akan menyalakan 1 bit LED berotasi ke kiri saat tombol IS1 ditekan.
Latihan Mandiri

a. Buatlah program 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.
c. Buatlah program untuk menampilkan LED berotasi dari kiri ke kanan saat IS1 ditekan dan
LED berotasi dari kanan ke kiri saat IS2 ditekan.

Anda mungkin juga menyukai