LA 1




Modul 1
Percobaan 4

1. Prosedur
[Kembali]
 1. Rangkai komponen sesuai percobaan dan yang dipilih.

2. Buat program menggunakan Arduino IDE.

3. Transfer program yang telah dibuat ke Arduino Uno.

4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.

5. Proses selesai setelah uji coba berhasil dilakukan.

2. Hardware dan Diagram Blok [Kembali]
a. Hardware

b. diagram blok


3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]


a. Rangkaian Simulasi
 


b. Prinsip Kerja
 dimulai dengan menghubungkan mikrokontroler Arduino ke keypad dan layar LCD sesuai dengan modul Praktikum yang tersedia. Setelah itu, kode yang telah disiapkan akan diunggah ke dalam mikrokontroler Arduino Uno. Tahap awal akan memulai inisialisasi, di mana pin yang terhubung ke keypad dan layar LCD akan dikonfigurasi, dan mungkin juga komunikasi serial akan dimulai. Setelah tahap inisialisasi selesai, mikrokontroler akan memulai pemantauan input dari keypad secara kontinu. Setiap kali tombol pada keypad ditekan, mikrokontroler akan mendeteksi sinyal yang masuk dari pin yang terhubung ke keypad. Nilai dari tombol yang ditekan akan diekstraksi, dan kemudian nilai tersebut akan ditampilkan di layar LCD. Proses ini akan berulang terus-menerus, sehingga setiap kali pengguna berinteraksi dengan keypad, respons yang sesuai akan ditampilkan di layar LCD. Keypad menggunakan prinsip scanning, di mana setiap tombol pada keypad dipindai baik dalam baris maupun kolom. Ketika tombol ditekan, mikrokontroler akan mengenali posisi tombol berdasarkan baris dan kolom yang dipindai terlebih dahulu. Dengan cara ini, angka yang muncul di layar LCD akan sesuai dengan posisi tombol yang ditekan. Jika tombol ditekan secara bersamaan, data atau angka yang muncul akan bergantung pada baris dan kolom yang dipindai terlebih dahulu oleh mikrokontroler.

Pada percobaan ini terdapat 8 buah button sebagai input dan 8 buah LED sebagai output yang mewakili setiap button tersebut. Pada mulanya LED dalam kondisi mati karena tidak ada button yang ditekan. Namun, ketika salah satu button ditekan, maka button tersebut akan memberikan sinyal kepada Arduino, lalu Arduino akan meneruskan sinyal tersebut ke LED.

Pada rangkaian simulasi LED disini bersifat forward bias, sehingga ketika sinyal keluaran bernilai 1 LED akan hidup. Berikut program ketika LED bersifat forward bias :
cpp
Copy code
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++) {
  digitalWrite(led[i], LOW); 
}

// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == HIGH) digitalWrite(led[7], HIGH);
if (b7 == HIGH) digitalWrite(led[6], HIGH);
if (b6 == HIGH) digitalWrite(led[5], HIGH);
if (b5 == HIGH) digitalWrite(led[4], HIGH);
if (b4 == HIGH) digitalWrite(led[3], HIGH);
if (b3 == HIGH) digitalWrite(led[2], HIGH);
if (b2 == HIGH) digitalWrite(led[1], HIGH);
if (b1 == HIGH) digitalWrite(led[0], HIGH);
Sedangkan pada rangkaian percobaan di praktikum, LED bersifat reverse bias. Sehingga, ketika sinyal keluaran bernilai 0 LED akan menyala. Berikut adalah program ketika LED bersifat forward bias :
cpp
Copy code
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++) {
  digitalWrite(led[i], HIGH); 
}

// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == HIGH) digitalWrite(led[7], LOW);
if (b7 == HIGH) digitalWrite(led[6], LOW);
if (b6 == HIGH) digitalWrite(led[5], LOW);
if (b5 == HIGH) digitalWrite(led[4], LOW);
if (b4 == HIGH) digitalWrite(led[3], LOW);
if (b3 == HIGH) digitalWrite(led[2], LOW);
if (b2 == HIGH) digitalWrite(led[1], LOW);
if (b1 == HIGH) digitalWrite(led[0], LOW);



 
 4. Flowcharth dan Listing Program [Kembali]
a. Flowcharth

b. Listing Program

// Include the Keypad library

#include <Keypad.h>

#include <LiquidCrystal.h>


// Constants for row and column sizes

const byte ROWS = 4;

const byte COLS = 4;

LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

// Array to represent keys on keypad

char hexaKeys[ROWS][COLS] = {

  {'1', '2', '3', 'A'},

  {'4', '5', '6', 'B'},

  {'7', '8', '9', 'C'},

  {'*', '0', '#', 'D'}

};

// Connections to Arduino

byte rowPins[ROWS] = {9, 8, 7, 6};

byte colPins[COLS] = {5, 4, 3, 2};

// Create keypad object

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

 

void setup() {

  // Setup serial monitor

  Serial.begin(9600);

  lcd.begin(16, 2);

}

void loop() {

// Get key value if pressed

char customKey = customKeypad.getKey();

if (customKey) {

// Print key value to serial monitor

lcd.setCursor(0, 0);

lcd.print("Tombol :");

lcd.print(customKey);

}

}

5. Kondisi [Kembali]
Modul 1 Percobaan 1 LED dan Switch

6. Video Demo[Kembali]

7. Download File [Kembali]
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