Jumat, 22 Maret 2024

LA 1


Percobaan VI

 8x PUSH BUTTON DAN LCD

1. Prosedur [Kembali]

  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing program
  • Upload program ke arduino
  • Variasikan tombol yang ditekan dan amati keluarannya pada LCD
Gambar 1. Rangkaian Hardware
 

   1. Arduino Uno

    2. switch spdt





    3. LCD


    4. Kabel jumper

    5. Breadboard


Diagram Blok:








Prinsip Kerja :
        Pada Percobaan ini inputan menggunakan 8 buah spdt atau push button yang terhubungke pin A0 A1 A2 A3 A4 A5 12 13 arduino dan untuk output yang digunakan adalah LCD 16X2 yang terhubung ke pin3 4 5 6 10 dan 11 arduino.
    
    LCD dapat menampilkan Display berdasarkan inputnya dimulai dengan membaca status setiap tombol yang terhubung ke pin arduino. Program kemudian mengevaluasi kondisi input, memeriksa kombinasi tombol mana yang aktif dengan menggunakan serangkaian pernyataan if-else. Setiap pernyataan if menguji status dari satu tombol, sementara tombol-tombol lainnya dicek dalam kondisi else if. Jika kondisi input sesuai dengan salah satu pernyataan if, program akan menampilkan pesan yang sesuai pada LCD dan membersihkan layar sebelumnya.LCD menampilkan informasi yang relavan sesuai dengan input pengguna.

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);
 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]

    Ketika menekan  salah satu switch SPDT akan dibaca oleh Arduino dan, arduino akan memberikan perintah untuk menampilkan pada layar LCD. 

᭒ HTML↠ klik disini
᭒ Gambar Rangkaian ↠ klik disini
᭒ Video Demo ↠ klik disini
᭒ Listing Program ↠ klik disini






Tidak ada komentar:

Posting Komentar