Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
MIKROPROSESOR
MODUL I : DIGITAL INPUT DAN DIGITAL OUTPUT
Disusun Oleh :
Atwatan Malik Mahardi
(17101008)
Partner Praktikum :
Anang Bagus R (17101006)
Asisten Praktikum :
Indak Danil Mabar (16101134)
I. TUJUAN PRAKTIKUM
1. Mahasiswa mampu memahami pembagian port dan pin pada Board
Arduino Uno R3.
2. Mahasiswa mampu memahami fungsi pin I/O pada Board Arduino
Uno R3 sebagai input dan output.
3. Mahasiswa mampu mengkonfigurasi pin I/O Arduino Uno R3 sebagai
input dan output.
4. Mahasiswa mampu membuat program yang menggunakan pin I/O
Arduino Uno R3.
5. Mahasiswa Mampu menggunakan Arduino IDE untuk memprogram
dan meng-upload program ke Board Arduino Uno R3.
Hasil :
Hasil :
B) Digital Input.
1) LED Menyala dengan Tombol Saklar (Pushbotton Switch).
Source Code Program :
int masukan;
int led = 7;
int tombol = 8;
void setup()
{
pinMode(led, OUTPUT);
pinMode(tombol, INPUT);
}
void loop()
{
masukan = digitalRead(tombol);
if(masukan == HIGH)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
Hasil :
void setup()
{
pinMode(led, OUTPUT);
pinMode(tombol_led, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(tombol_buzzer, INPUT);
}
void loop()
{
if(digitalRead(tombol_buzzer) == HIGH)
{
digitalWrite(buzzer, HIGH);
}
else
{
digitalWrite(buzzer, LOW);
}
if(digitalRead(tombol_led) == HIGH)
{
status = !status;
delay(200);
}
if(status == true)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
Hasil :
1. Apakah yang dimaksud dengan PORT pada menu Tools Arduino IDE?
PORT digunakan untuk mengkoneksikan papan Arduino dengan Arduino
IDE.
2. Apakah fungsi dari void setup() dan void loop()?
1. void setup() : Perintah ini digunakan untuk menginisialisasi beberapa
variabel yang akan digunakan serta hanya dijalankan sekali saat
Arduino menyala.
2. void loop() : Perintah ini digunakan untuk menjalankan program
secara berulang atau terus-menerus hingga Arduino mati.
3. Apakah arti dari pinMode(Led,OUTPUT) dan pinMode(Led,INPUT)?
1. pinMode(Led,OUTPUT) : Perintah ini berfungsi untuk
menginisialisasi pin Led menjadi sebuah keluaran atau output.
2. pinMode(Led,INPUT) : Perintah ini berfungsi untuk
menginisialisasi pin Led menjadi sebuah masukan atau input.
4. Apakah fungsi dari resistor 220 pada rangkaian?
Resistor berfungsi untuk menahan tegangan dan arus yang mengalir
sehingga masukkan tegangan dan arus yang masuk ke sebuah komponen
tidak melebihi yang bisa ditampung komponen, jika lebih maka akan
terjadi kerusakan pada komponen tersebut.
5. Apakah fungsi dari digitalWrite() dan digitalRead()?
1. DigitalWrite() : Perintah ini berfungsi untuk memasukkan atau
menuliskan suatu nilai digital ke dalam pin.
2. DigitalRead() : Perintah ini digunakan untuk membaca nilai masukan
yang diberikan Arduino.
6. Apakah maksud dari printah berikut ini :
int tombol_led = 6; : Mendeklarasikan bahwa tombol_led
dihubungkan melalui pin 6.
int buzzer = 7; : Mendeklarasikan bahwa buzzer dihubungkan
melalui pin 7.
7. Apakah arti dari delay(1500)?
Fungsi yang memberikan waktu jeda antar fungsi selama 1500 ms atau 1.5
detik.
8. Apakah arti dari status HIGH dan LOW pada script yang anda gunakan?
Status HIGH berarti aktif atau menyala dan status LOW berarti nonaktif
atau mati.
9. Apa persamaan dari bahasa pemograman C++ dan bahasa pemograman
Arduino?
Bahasa pemrograman C++ dan bahasa pemrograman Arduino memiliki
kesamaan dalam segi struktur penulisan seperti fungsi void, tipe data
integer, fungsi perulangan for, fungsi pemilihan if-else.
10. Apakah arti dari perintah berikut ini ?
if(digitalRead(tombol_buzzer) == HIGH) : Jika tombol_buzzer terbaca
dalam status aktif maka program akan melakukan perintah tertentu.
11. Apakah arti dari perintah berikut ini ?
for(led = 2; led <= 7; led++) : Program akan berjalan dengan dimulai dari
led 2 hingga led 7 secara berulang, terus-menerus dan berurutan.
12. Buatlah simulasi dan program Lampu Lalu Lintas (traffic light) di sebuah
pertigaan dengan ketentuan :
• Output 9 lampu LED.
• Lampu Kuning hidup selama 1 detik.
• Lampu Hijau1 (X+2) detik.
• Lampu Hijau2 (Y+2) detik.
• Lampu Hijau3 (Z+2) detik.
X,Y,Z = 3 digit terakhir NIM.
Tampilan Rangkaian Simulasi :
void setup() {
pinMode(merah1,OUTPUT);
pinMode(kuning1,OUTPUT);
pinMode(hijau1,OUTPUT);
pinMode(merah2,OUTPUT);
pinMode(kuning2,OUTPUT);
pinMode(hijau2,OUTPUT);
pinMode(merah3,OUTPUT);
pinMode(kuning3,OUTPUT);
pinMode(hijau3,OUTPUT);
}
void loop() {
digitalWrite(hijau1,HIGH);
digitalWrite(merah2,HIGH);
digitalWrite(merah3,HIGH);
delay(2000); //(X+2)=(0+2)=2 s
digitalWrite(hijau1,LOW);
delay(250);
digitalWrite(kuning1,HIGH);
delay(1000);
digitalWrite(kuning1,LOW);
digitalWrite(merah2,LOW);
delay(250);
digitalWrite(hijau2,HIGH);
digitalWrite(merah1,HIGH);
digitalWrite(merah3,HIGH);
delay(2000); //(Y+2)=(0+2)=2 s
digitalWrite(hijau2,LOW);
delay(250);
digitalWrite(kuning2,HIGH);
delay(1000);
digitalWrite(kuning2,LOW);
digitalWrite(merah3,LOW);
delay(250);
digitalWrite(hijau3,HIGH);
digitalWrite(merah1,HIGH);
digitalWrite(merah2,HIGH);
delay(10000); //(Z+2)=(8+2)=10 s
digitalWrite(hijau3,LOW);
delay(250);
digitalWrite(kuning3,HIGH);
delay(1000);
digitalWrite(kuning3,LOW);
digitalWrite(merah1,LOW);
delay(250);
}