TP MODUL 1 PERCOBAAN 6
Percobaan VI
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing program
- Upload program ke arduino
- Variasikan tombol yang ditekan dan amati keluarannya pada LCD
- Hardware
- Digram Blok
- Prinsip Kerja
Program diunggah ke Arduino Uno dan rangkaian pada proteus untuk mengontrol layar LCD serta membaca status dari beberapa tombol,
1) Dilakukan inisialisasi komunikasi serial dan LCD, serta penugasan pin yang terhubung ke tombol sebagai input di dalam bagian setup().
2) Dalam bagian utama program, terjadi pengawasan terus-menerus terhadap status masing-masing tombol dengan menggunakan fungsi digitalRead()
Terdapat di kondisi, PB1-PB4 pada baris pertama (Button1 hingga Button4) ditekan, maka pesan "LEI" akan ditampilkan di baris pertama layar LCD.
Terdapat di kondisi, PB5-PB8 pada baris kedua (Button5 hingga Button8) ditekan, maka pesan "DTE" akan ditampilkan di baris kedua layar LCD.
Dan jika di proteus semua berlogika low dan tidak ada tombol yang ditekan, tampilan layar LCD akan dihapus.
- Listing Program
#include <LiquidCrystal.h> // Definisi pin untuk tombol dan LCD #define PB1 A0 #define PB2 A1 #define PB3 A2 #define PB4 A3 #define PB5 A4 #define PB6 A5 #define PB7 2 #define PB8 1 // Inisialisasi objek untuk LCD const int rs = 13, en = 12, d4 = 9, d5 = 8, d6 = 7, d7 = 6; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // Variabel boolean untuk status tombol bool Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8; void setup() { // Inisialisasi komunikasi serial dan LCD Serial.begin(9600); lcd.begin(16, 2); // Inisialisasi LCD 16x2 // Konfigurasi pin tombol sebagai input 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() { // Baca status tombol Button1 = digitalRead(PB1); Button2 = digitalRead(PB2); Button3 = digitalRead(PB3); Button4 = digitalRead(PB4); Button5 = digitalRead(PB5); Button6 = digitalRead(PB6); Button7 = digitalRead(PB7); Button8 = digitalRead(PB8); // Tampilkan pesan pada LCD berdasarkan status tombol if (Button1 || Button2 || Button3 || Button4) { lcd.setCursor(0, 0); // Posisi kursor di kolom 1, baris 1 lcd.print("LEI"); // Menampilkan pesan "LEI" di kolom 1 } else if (Button5 || Button6 || Button7 || Button8) { lcd.setCursor(0, 1); // Posisi kursor di kolom 1, baris 2 lcd.print("DTE"); // Menampilkan pesan "DTE" di kolom 1 } else { lcd.clear(); // Membersihkan tampilan LCD jika tidak ada tombol yang ditekan } delay(100); // Tambahkan penundaan agar tampilan tidak berubah terlalu cepat }
Tidak ada komentar:
Posting Komentar