LAPORANPRAKTIKUMMIKROPROSESOR&MIKROKONTROLER
Modul3:DigitalI/O
DISUSUNOLEH:
M. YUSRIFAL 32222047
2BTEKNIKTELEKOMUNIKASI
PROGRAM STUDI D3 TEKNIK
TELEKOMUNIKASIJURUSANELEKTRO
POLITEKNIK NEGERI UJUNG
PANDANG2023/2024
PraktikumMikroprosesordanMikrokontroler
Digital Input-
OutputTujuan:
1. Mengakses portdigitalarduino UNO
2. Mengaturport digitalsebagaiinputdanoutput
3. Membuatprogram aplikasiportdigitalinputdanoutput.
DasarTeori:
ArduinoUNOmemlikiport12digitalyangdapatdigunakansebagaiinputdanoutput.Pengaturan
input dan output digital ini dilakukan dengan instruksi pinMode pada bagian void
setuparduinoIDE.InstruksipinMode(pin,OUTPUT)untukmengaturpindigitalsebagaioutputuntukmenga
ktifkanlogikasatuataunoldarimikrokontrolersepertipadapenyalaanLED.Sedangkaninstruksi
pinMode(pin,INPUT)untuk mengatur pin digital sebagai input untukmendeteksilogikasatu atau nol
dari luar. Untuk memberikan logika satu atau nol pada port output digital, digunakaninstruksi
digitalWrite(pin, HIGH) atau digitalWrite(pin, LOW). LOW dan HIGH merupakan nilai
logikanoldansatu.
Untuk mendeteksi logika satu atau nol dari luar digunakan instruksi digitalRead(pin)
dandibandingkan dengan nilai logika LOW atau HIGH yang juga merupakan nilai logika nol dan
satu.Instruksiinibiasanyadituliskan dengandigitalRead(pin)==HIGHataudigitalRead(pin)==LOW.
Langkah kerja:
1. Buatprogramtrafficlightmenggunakanportdigitalarduino UNOsebagaiberikut:
int
h1=13;int
k1=12;int
m1=11;int
h2=10;int
k2=9;int
m2=8;intt=
1000;
voidsetup(){
//putyoursetupcodehere,torunonce:
pinMode(h1, OUTPUT); pinMode(k1, OUTPUT); pinMode(m1,
OUTPUT);pinMode(h2, OUTPUT); pinMode(k2, OUTPUT); pinMode(m2,
OUTPUT);digitalWrite(h1, LOW); digitalWrite(k1, LOW);
digitalWrite(m1, LOW);digitalWrite(h2, LOW); digitalWrite(k2, LOW);
digitalWrite(m2, LOW);delay(t/5);
}
voidloop() {
// putyourmaincodehere,torunrepeatedly:
digitalWrite(h1, HIGH); digitalWrite(k1, LOW); digitalWrite(m1,
LOW);digitalWrite(h2, LOW); digitalWrite(k2, LOW); digitalWrite(m2,
HIGH);delay(t); //wait fora second
digitalWrite(h1, LOW); digitalWrite(k1, HIGH); digitalWrite(m1,
LOW);digitalWrite(h2, LOW); digitalWrite(k2, LOW); digitalWrite(m2,
HIGH);delay(t/2);
digitalWrite(h1, LOW); digitalWrite(k1, LOW); digitalWrite(m1,
HIGH);digitalWrite(h2, LOW); digitalWrite(k2, LOW); digitalWrite(m2,
HIGH);delay(t/2);
digitalWrite(h1, LOW); digitalWrite(k1, LOW); digitalWrite(m1,
HIGH);digitalWrite(h2,HIGH);digitalWrite(k2,LOW);digitalWrite(m2,LO
W);
delay(t);
digitalWrite(h1, LOW); digitalWrite(k1, LOW); digitalWrite(m1,
HIGH);digitalWrite(h2, LOW); digitalWrite(k2, HIGH); digitalWrite(m2,
LOW);delay(t/2);
digitalWrite(h1, LOW); digitalWrite(k1, LOW); digitalWrite(m1,
HIGH);digitalWrite(h2, LOW); digitalWrite(k2, LOW); digitalWrite(m2,
HIGH);delay(t/2);
}
2. Verify program di atas dengan terlebih dahulu mengaktifkan kotak compilation pada
bagianpreference Arduino IDE untuk mendapatkan Link dari file Hex di Output directory
yangditampilkanpadapesanhasilverify.CopyLinkfileHexdiOutput directoryyangditampilkan.
3. Kemudian buka program aplikasi proteus, konfigurasi board arduino UNO dengan LED
yangterhubung ke 6 port (13-8). Klik dua kali pada arduino dan paste link alamat file HEX
sebelumnya.Kemudianklikokdanjalankan.
4. Buatlah program traffic light yang sama dengan langkah 1, menggunakan 12 pin (13-2)
untukperempatan jalan atau 4 jalur. Setiap siklus hanya 1 jalur yang jalan (hijau), jalur yang
lainberhenti(merah)seperti pada gambar di bawah ini:
Jalur1
Jalur4
Jalur2
Jalur3
5. Jika suatu saat ada orang yang menyebrang, diperlukan sebuah saklar yang dapat diktifkan
untukmemberi kesempatan orang lain menyebarang jalan. Saat saklar ini diaktifkan, maka
semualampu merah akan menyala. Buatlah program yang sama dengan langkah 4, dengan
tambahansaklartersebut.
ANALISADATA
HasilPercobaanPraktikum
Job1menggunakan6LED
Fungsi void setup() di dalam program Arduino adalah sebuah program yang dibaca
sekalisaja
Fungsi void loop() di dalam program Arduino adalah sebuah program yang dibaca
berulangkali
Fungsi pinMode() di dalam program Arduino adalah sebuah program untuk
menentukanpintersebutmenjadiinputatauoutput
Fungsi digitalWrite() di dalam program Arduino adalah sebuah program untuk
memberiperintah1atau0(TRUEorFALSE)
Fungsi delay() di dalam program Arduino adalah sebuah program untuk memberi
jedapadaprogram
INPUT_PULLUP di dalam program Arduino adalah sebuah program untuk memberi
nilaiawal1padaPushButton
Job2menggunakan12LED
Dalam Traffic Light ini kerjanya dikontrol oleh Arduino Uno, dimana Arduino Uno
akanmemberikan perintah terhadap lampu dan beberapa perintah tersebut dibuat dalam
coding.Dimana lama/durasi menyala dan mati dari beberapa lampu (merah,kuning,hijau)
mengikutidari perintah yang terdapat di dalam coding. Jadi apabila untuk mengatur
lama/durasimenyala dan mati lampu dapat dilakukan dengan mengubah delay yang
terdapat padacoding. Arduino Uno memberikan perintah terhadap lampu dengan
bergantian dan tidakbisa menyala dengan bersamaan. Dengan menggunakan Traffic Light
ini, pengguna dapatmemahami secara lebih mudah cara kerja Traffic Light yang sederhana.
Traffic Light ini jugadapat digunakan untuk media sosialisi karena memiliki bentuk yang tidak
terlalu besar,simple,dan mudahuntuk dibawa.
KESIMPULAN
Penggunaan Arduino Uno dalam membuat traffic light memberikan
kemudahan,fleksibilitas, dan kontrol penuh atas sistem traffic light yang dapat
disesuaikan dengankebutuhan dan preferensi masing-masing. Selain itu, Arduino Uno
juga memiliki sejumlahpin input/output yang dapat digunakan untuk menghubungkan
lampu-lampu dan sensor-sensor yang diperlukandalam sistemtraffic light.