LAPORAN AKHIR 2
1. Prosedur
[Kembali]
LAPORAN AKHIR PRAKTIKUM
MODUL 1 PERCOBAAN 6
8x Switch SPDT DAN LCD
- Rangkai semua komponen sesuai kondisi yang dipilih
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino (Verify and Upload)
- Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
- Finish
2. Hardware dan diagram blok
[Kembali]
a. hardware
1. 8x Switch SPDT
2. Arduino Uno
3. LCD 2X16
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Gambar Rangkaian
Percobaan ini menggunakan 8 tombol (Switches) dengan konfigurasi Single Pole Double Throw (SPDT), serta LCD untuk menampilkan output berdasarkan kombinasi tombol yang ditekan. Dapat terlihat dari program akan melakukan inisialisasi dengan mendefinisikan pin untuk setiap tombol menggunakan konstanta yang telah ditetapkan sebelumnya. Pada rangkaian simulasi ini sudah dilakukan pengaturan awal untuk inisialisasi LCD beserta komunikasi serial. Selanjutnya program akan terus menerus membaca status setiap tombol. Status tombol kemudian disimpan dalam variabel boolean masing-masing (Button1 hingga Button8).
Selanjutnya adalah proses penentuan tindakan yang harus diambil berdasarkan kombinasi tombol yang ditekan. Setiap kondisi kemungkinan diperiksa secara berurutan menggunakan pernyataan if-else. Contohnya jika hanya Button1 yang ditekan, maka LCD akan menampilkan pesan "Merah". Jika Button2 yang ditekan, maka LCD akan menampilkan pesan "Kuning".Namun jika dua tombol ditekan secara bersamaan, program akan menampilkan pesan kesalahan "Error". Terdapat kondisi untuk menampilkan pesan instruksi jika tidak ada tombol yang ditekan.
Setelah tindakan yang sesuai ditentukan, program mengatur LCD untuk menampilkan pesan sesuai dengan aksi yang dipilih. Yang mana pesan ini tidak akan berubah terlalu cepat karena sudah diatur waktu penundaannya sebesar 100 milidetik tiap akhiran loop(). DEngan demikian, pengguna dapat melihat output yang ditampilkan pada LCD sesuai dengan kombinasi tombol yang ditekan, sementara program secara terus-menerus membaca status tombol dan mengambil tindakan yang sesuai berdasarkan kondisi yang ditemui.
4. FlowChart
[Kembali]
#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);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
pinMode(PB5, INPUT);
pinMode(PB6, INPUT);
pinMode(PB7, INPUT);
pinMode(PB8, INPUT);
}
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==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button5==LOW &
Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Merah");
}
else if(Button2==HIGH & Button1==LOW & Button3==LOW & Button4==LOW & Button5==LOW
& Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Kuning");
}
else if(Button3==HIGH & Button2==LOW & Button1==LOW & Button4==LOW & Button5==LOW
& Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Hijau");
}
else if(Button4==HIGH & Button2==LOW & Button3==LOW & Button1==LOW & Button5==LOW
& Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Biru");
}
else if(Button5==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button1==LOW
& Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Merah");
}
else if(Button6==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button5==LOW
& Button1==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Hijau");
}
else if(Button7==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button5==LOW
& Button6==LOW & Button1==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Biru");
}
else if(Button8==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button5==LOW
& Button6==LOW & Button7==LOW & Button1==LOW){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Putih");
}
else if(Button1==LOW & Button2==LOW & Button3==LOW & Button5==LOW & Button5==LOW
& Button6==LOW & Button7==LOW & Button8==LOW){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Silahkan Tekan");
lcd.setCursor(0, 1);
lcd.print("Salah Satu SW");
}
else{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error");
}
delay(100); // Tambahkan penundaan agar tampilan tidak berubah terlalu cepat
}
b. Flowchart
Percobaan 6 => 8x Switch SPDT dan LCD
6.Video Demo[Kembali]
7. Download File
[Kembali]
Download HMTL klik disini
Download Simulasi Rangkaian klik disinii
Download Video Demo klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Switch SPDT klik disini
Download Datasheet LCD 2x16 klik disini
Tidak ada komentar:
Posting Komentar