Tugas Pendahuluan 2 Modul 1
(Percobaan 6 Kondisi 1)
1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulislah program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulislah program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
5. Selesai
2. Hardware dan Diagram Blok
[Kembali]
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi Sebelum dirunning:
Rangkaian Simulasi Setelah dirunning:
Prinsip Kerja :
Setelah program diunggah ke Arduino Uno untuk mengatur sebuah layar LCD dan memantau status beberapa tombol, pada tahap awal, dalam fungsi setup(), dilakukan inisialisasi komunikasi serial dan LCD, serta penentuan pin yang terhubung ke tombol sebagai input. Pada rangkaian ini, yang berfungsi sebagai input adalah button dan yang berperan sebagai output adalah LCD. Kemudian, dalam loop utama, program terus membaca status dari masing-masing tombol menggunakan fungsi digitalRead(). Rangkaian ini menggunakan prinsip kerja PULL UP., dimana pada kondisi OFF berlogika 1 dan kondisi ON berlogika 0. Apabila Button 1 ditekan, maka LCD akan menampilkan "Dimas 1". Apabila Button 2 ditekan, maka LCD akan menampilkan "Dimas 2". Apabila Button 3 ditekan, maka LCD akan menampilkan "Dimas 3". Apabila Button 4 ditekan, maka LCD akan menampilkan "Dimas 4". Apabila Button 5 ditekan, maka LCD akan menampilkan "Dimas 5". Apabila Button 6 ditekan, maka LCD akan menampilkan "Dimas 6". Apabila Button 7 ditekan, maka LCD akan menampilkan "Dimas 7". Apabila Button 8 ditekan, maka LCD akan menampilkan "Dimas 8". Apabila jumlah button yang ditekan lebih dari 1, LCD akan menampilkan "Error". Apabila semua buton dalam keadaan OFF, maka LCD akan menampilkan "Silahkan Tekan Buttonnya". Prinsip kerja ini akan langsung terbukti saat disimulasikan di Proteus. Melalui simulasi ini, pengguna dapat mengeksekusi operasi tombol dan memperhatikan respons yang sesuai di layar LCD, menggambarkan prinsip kerja kode yang telah diimplementasikan.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
Listing Program :
#include <LiquidCrystal.h>
#define PB1 A0
#define PB2 A1
#define PB3 A2
#define PB4 A3
#define PB5 A4
#define PB6 A5
#define PB7 12
#define PB8 13
const int rs = 11, en = 10, d4 = 6, d5 = 5, d6 = 4, d7 = 3;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
bool Button1,Button2,Button3,Button4,Button5,Button6,Button7,Button8;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
pinMode(PB1, INPUT_PULLUP);
pinMode(PB2, INPUT_PULLUP);
pinMode(PB3, INPUT_PULLUP);
pinMode(PB4, INPUT_PULLUP);
pinMode(PB5, INPUT_PULLUP);
pinMode(PB6, INPUT_PULLUP);
pinMode(PB7, INPUT_PULLUP);
pinMode(PB8, INPUT_PULLUP);
}
void loop() {
Button1 = digitalRead(PB1);
Button2 = digitalRead(PB2);
Button3 = digitalRead(PB3);
Button4 = digitalRead(PB4);
Button5 = digitalRead(PB5);
Button6 = digitalRead(PB6);
Button7 = digitalRead(PB7);
Button8 = digitalRead(PB8);
if(Button1==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH& Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button8==HIGH){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Dimas 1");
}
else if(Button2==LOW& Button8==HIGH & Button3==HIGH & Button4==HIGH& Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Dimas 2");
}
else if(Button3==LOW& Button2==HIGH & Button8==HIGH & Button4==HIGH& Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Dimas 3");
}
else if(Button4==LOW & Button2==HIGH & Button3==HIGH & Button8==HIGH& Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Dimas 4");
}
else if(Button5==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH& Button8==HIGH
& Button6==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Dimas 5");
}
else if(Button6==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH& Button5==HIGH
& Button8==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(1, 1);
lcd.print("Dimas 6");
}
else if(Button7==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH& Button5==HIGH
& Button6==HIGH & Button8==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Dimas 7");
}
else if(Button8==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH& Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button1==HIGH){
lcd.clear();
lcd.setCursor(1, 1);
lcd.print("Dimas 8");
}
else if(Button1==HIGH & Button2==HIGH & Button3==HIGH & Button5==HIGH & Button5==HIGH
& Button6==HIGH & Button7==HIGH & Button8==HIGH){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Silahkan Tekan");
lcd.setCursor(1, 1);
lcd.print("Buttonnya");
}
else{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error");
}
delay(100); // Tambahkan penundaan agar tampilan tidak berubah terlalu cepat
}
Percobaan 6 Kondisi 1
Button 1 - 8 menampilkan Dimas 1-Dimas 8 secara berurut
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
HTML Download
Listing Program Download
Datasheet Arduino Download
Datasheet Button Download
Datasheet LCD 16X2 Download
Tidak ada komentar:
Posting Komentar