TP P3K7

TUGAS PENDAHULUAN 1 Up dan Uc Modul 3




P3K7

1. Prosedur  [Kembali]

  • Rangkailah seperti rangkaian berikut 
  • Buka Arduino IDE dan masukan listing program master dan slave ke  program ke arduino 
  • Variasikan tombol yang ditekan dan amati keluarannya pada LCD
2. Hardware dan Diagram Blok [Kembali]

a. Arduino

 


b. Keypad

c. LCD


Blog Diagram 



3. Rangkaian Simulasi dan Prinsip Kerja  [Kembali]


  Pada percobaan 3 kondis 7 ini kita menggunakan 3 komponen yaitu Keypad sebagai inputan, Arduino sebagai Microcontroller (Master dan slave) dan LCD sebagai Output. Prinsip kerja dari rangkaian ini ketika Arduino menerima inputan berupa data dari Keypad 4x3 yang mana kaki column dan row dihubungkan ke kaki arduino pada kaki 3-9 sesuai dengan program, maka alamat dari master akan mentransmisikan data pada slave. Lalu outputan data dari slave akan ditampilkan pada LCD berupa huruf A - D dan scroll ke kiri.

4. Flowchart dan Listing Program [Kembali]

     Flowchart


PlantUML diagram

listning program
//Master Arduino
#include <Keypad.h>
#include <Wire.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'A', '2', '3'},
{'B', '5', '6'},
{'C', '8', '9'},
{'D', '0', '#'},
};
char rowPins[ROWS] = {9, 8, 7, 6};
char colPins[COLS] = {5, 4, 3};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
}
//byte x = 0;
void loop(){
char key = keypad.getKey();
if (key) {
Wire.beginTransmission(4); // transmit to device #4
Wire.write(key);
Wire.endTransmission(); // stop transmitting
}
}
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inisialisasi objek LCD dengan pin yang terhubung
String message = ""; // Pesan yang akan ditampilkan di LCD
void setup() {
lcd.begin(16, 2); // Inisialisasi LCD dengan ukuran 16x2
Wire.begin(9); // Mulai komunikasi I2C sebagai slave dengan alamat 9
Wire.onReceive(receiveEvent); // Panggil fungsi receiveEvent() saat menerima data dari master
}
void loop() {
// Tidak ada yang perlu dilakukan di loop()
}
void receiveEvent(int byteCount) {
while (Wire.available()) {
char receivedChar = Wire.read(); // Baca karakter yang diterima dari master
message += receivedChar; // Tambahkan karakter ke pesan
if (message.length() > 16) { // Jika panjang pesan lebih dari 16 karakter
message = message.substring(1); // Potong karakter pertama dari pesan
}
displayMessage(); // Tampilkan pesan pada LCD
}
}
void displayMessage() {
lcd.clear(); // Bersihkan layar LCD
lcd.setCursor(0, 0); // Set posisi kursor di baris pertama
lcd.print(message); // Tampilkan pesan di LCD
}

5. Video Demo [Kembali]


SAAT PRAKTIKUM DITAKE

6. Kondisi [Kembali]
  • Keypad A - D menampilkan Huruf A - D secara berurut, huruf yang ditampilkan mengalami scroll ke kiri pada baris kedua.

7. Video Simulasi [Kembali]







8. Link Download [Kembali]
Download HTML [Klik di sini]
Download file rangkaian [Klik di sini]
Download video rangkaian [Klik di sini]
Download program Arduino [Klik di sini]
Download datasheet Arduino [Klik di sini]
Download Library LCD [Klik di sini]











No comments:

Post a Comment

almajri

  Bahan Presentasi Ini Dibuat Untuk Memenuhi  Tugas Mata Kuliah Sistem Digital Dosen : Darwison, M.T Oleh : ALMAJRI KUSMAIDI 2110952003 Ju...