LA 1





Laporan Akhir Percobaan 1
== Percobaan 4 Kondisi 1 ==
KEYPAD dan LCD


  1. Membuka proteus
  2. Buka file proteus yang sudah disesuaikan dengan kondisi
  3. Running rangkaiannya
  4. Sesuaikan dengan kondisi yang diinginkan




Arduino Uno


LCD


Keypad









#include <LiquidCrystal.h> 

// Define button = mendefinisikan konstanta untuk setiap pin tombol tekan
#define PB1 A0 
#define PB2 A1 
#define PB3 A2 
#define PB4 A3 
#define PB5 A4 
#define PB6 A5 
#define PB7 12 
#define PB8 13 

// Initialize LCD = LCD diinisialisasi dengan pin-pin yang ditentukan
const int rs = 11, en = 10, d4 = 6, d5 = 5, d6 = 4, d7 = 3; 
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); 

// Define variables to store button states = Menyimpan status masing-masing tombol.
bool Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8; 

void setup() { 
  Serial.begin(9600); 
  lcd.begin(16, 2); // Initialize LCD: 16 columns, 2 rows

  // Pin untuk tombol tekan diatur 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() { 
  // Membaca status setiap button ditekan
  Button1 = digitalRead(PB1); 
  Button2 = digitalRead(PB2); 
  Button3 = digitalRead(PB3); 
  Button4 = digitalRead(PB4); 
  Button5 = digitalRead(PB5); 
  Button6 = digitalRead(PB6); 
  Button7 = digitalRead(PB7); 
  Button8 = digitalRead(PB8);  

  // Menampilkan "LEI" jika buttons 1 ke 4 ditekan
  if (Button1 && Button2 && Button3 && Button4) { 
    lcd.clear(); 
    lcd.setCursor(0, 0); 
    lcd.print("LEI"); 
  } 
  // Menampilkan "DTE" jika buttons 5 ke 8 ditekan
  else if (Button5 && Button6 && Button7 && Button8) { 
    lcd.clear(); 
    lcd.setCursor(0, 1); 
    lcd.print("DTE"); 
  } 
  // Menampilkan default message jika tidak ada button yang ditekan
  else { 
    lcd.clear(); 
    lcd.setCursor(0, 0); 
    lcd.print("Silahkan Tekan"); 
    lcd.setCursor(0, 1); 
    lcd.print("Salah Satu SW"); 
  } 

  delay(100); // Delay ditambahkan untuk mencegah perubahan tampilan yang cepat
}


Modul 1: Percobaan 6 Kondisi 4
"Button 1 - 4 menampilkan LEI dikolom 1, Button 5 - 8 menampilkan DTE dikolom 2"




Percobaan 4

1. Analisa kenapa data pin yang kita gunakan hanya dari D4- D7? 
Jawab:

Pada LCD, pin D4-D7 terhubung ke output Arduino untuk transfer data. Saat pin D4-D7 yang dihubungkan ke output Arduino, maka data yang dihasilkan itu 4 bit data saja. Jika menggunakan pin D0-D7 maka data yang dihasilkan itu 8 bit data. Dalam penggunaan 8 bit, proses transfer data akan panjang yang berarti memakan waktu yang lama. Oleh karena itu, pada percobaan ini yang dipakai hanyalah D4-D7 saja. Kesimpulannya, baik 8 bit maupun 4 bit data dapat diterima oleh sistem LCD. Tapi, jika ingin menghemat waktu yang dipakai adalah yang 4 bit saja.

2. Analisa bagaimana cara kerja dari keypad sehingga bisa menampilkan hasil pada LCD, jelaskan kenapa!
Jawab:

Pertama, keypad akan membaca input yang diterima (R1-R4,C1-C4) yang mana setelah itu arduino melakukan pemindaian matriks yang menentukan tombol mana yang ditekan. Setelah itu arduino akan memetakan lokasi dari tombol yang ditekan tadi, contoh jika baris ke-1 dan kolom ke-3 maka hasilnya "2".
Untuk menampilkan hasil pemetaan tadi itu menggunakan LCD, yang mana pin RS dihubungkan ke A0 untuk mengirimkan data, pin D4-D7 LCD dihubungkan ke output arduino. Maka, nantinya arduino mengirimkana data yang dipetakan. Dan, hasilnya ditampilkan pada LCD.


Tidak ada komentar:

Posting Komentar

  PRATIKUM SISTEM DIGITAL TAHUN 2022 OLEH : Tyas Ananda Putri 2010952036 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS ANDALAS PADANG 2021