Modul 1
Percobaan 6
1. Susunlah komponen sesuai dengan eksperimen dan opsi yang telah dipilih.
2. Sintesiskan kode menggunakan Arduino IDE.
3. Pindahkan program yang telah disusun ke dalam Arduino Uno.
4. Lakukan pengujian program pada rangkaian eksperimen sesuai dengan preferensi yang diinginkan.
5. Langkah penyelesaian dilakukan setelah berhasil menguji program secara efektif pada rangkaian yang dipilih.
2. Hardware dan Diagram Blok [Kembali]
a. Hardware
a. Rangkaian Percobaan
Rangkaian ini merupakan implementasi penggunaan push button (tombol tekan) sebagai input dan Liquid Crystal Display (LCD) sebagai output pada Arduino. Pada setup(), pin-pin yang terhubung dengan push button diatur sebagai input, dan inisialisasi LCD menggunakan library LiquidCrystal.h dilakukan dengan menentukan pin untuk koneksi (rs, en, d4, d5, d6, d7). Dalam loop(), setiap push button dibaca menggunakan digitalRead() dan statusnya disimpan dalam variabel boolean. Berdasarkan kombinasi push button yang ditekan, Arduino akan menampilkan teks yang sesuai pada LCD. misalnya, hanya Button1 yang ditekan (HIGH) dan semua push button lainnya tidak ditekan (LOW), maka kondisi "Button1==HIGH & Button2==LOW & Button3==LOW & Button4==LOW & Button5==LOW & Button6==LOW & Button7==LOW & Button8==LOW" akan terpenuhi. Kondisi ini menghasilkan output pada LCD dengan teks "Merah". Hal ini karena setiap kondisi if-else mengatur LCD untuk menampilkan teks tertentu saat kombinasi push button yang diperiksa sesuai dengan kondisi yang ditentukan. Sehingga, munculnya teks "Merah" pada LCD menunjukkan bahwa hanya Button1 yang ditekan pada saat itu. Jika tidak ada push button yang ditekan, pesan "Silahkan Tekan Salah Satu SW" akan muncul, dan jika terjadi kesalahan, pesan "Error" akan ditampilkan. Delay() digunakan untuk memberikan penundaan agar tampilan tidak berubah terlalu cepat.
4. Flowcharth dan Listing program[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
}
5. Kondisi [Kembali]
Modul 1 Percobaan 6 8x Switch SPDT DAN LCD
6. Video Demo [Kembali]
1. Jelaskan bagaimana LCD dapat menampilkan display berdasarkan inputnya
Jawab:
LCD dapat menampilkan output bedasarkan inputanya dimana lcd terdiri dari beberapa layer, dan terconnect satu sama sama lain ke pin2 sumber tenaga, ground, pin analog, dll dimana ketika lcd sudah diberi inputan sesuai dengan aturan nilai nilai nya lcd bisa diatur kecerahan nya untuk menampilkan sesuatu pada layar disini berfungsi lah peran dari pitensio unuk mengatu kecerahan kecerah gambar pada lcd
2. Jelaskan input dan output pada rangkaian Arduino
Input untuk percobaan ini ialah push boton dimana botton2 ini dihubungkan ke pin pin pada arduino, dan dieberikan perintah program agar arduino bisa menampilkan warna warna pada layar lcd sesuai dengan warna push botton yang akan ditekan, dan juga output yang terjadi diini ialah lcd untuk menampilkan warna warna push botton yang ditekan adapun warna2 dari botton nya yaitu, merah,hijau,biru,putih dan kuning
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Demo Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet LCD 2X16 klik disini
Tidak ada komentar:
Posting Komentar