Tugas Pendahuluan 2 - M3

  





Tugas Pendahuluan 2
== Percobaan 4 Tanpa Kondisi ==


  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




Sebelum menjalankan rangkaian, compile terlebih dahulu listing program pada arduino IDE dan pastikan kembali file .HEX pada arduino diproteus sesuai dengan yang ada di hasil compiling arduino IDE.





Pada gambar rangkaian diatas adalah kondisi awal rangkaian sebelum dijalankan.





Prinsip kerja rangkaian ini berdasarkan komunikasi UART (Universal Asynchronous Receiver-Transmitter) adalah sebagai berikut:

Inisialisasi UART: Pada fungsi setup(), komunikasi serial diatur dengan memulai UART menggunakan `Serial.begin(9600)`. Ini menentukan kecepatan komunikasi serial menjadi 9600 baud.
   
Penerimaan Data: Pada loop(), Arduino terus memeriksa apakah ada data yang tersedia di port serial menggunakan `Serial.available()`.
   
Membaca Data: Jika ada data yang tersedia, Arduino membacanya dari port serial menggunakan `Serial.read()`.
   
Penanganan Data: Data yang dibaca kemudian ditampilkan di LCD setelah teks "Tombol :" dengan menggunakan `lcd.print(message)`.
   
Proses ini terus berulang secara terus-menerus, sehingga Arduino dapat terus menerima dan menampilkan data yang dikirimkan melalui komunikasi serial.








LISTING PROGRAM MASTER

// MASTER 
#include <Keypad.h> 
const byte ROWS = 4; 
const byte COLS = 3; 
 
// Array to represent keys on keypad 
char hexaKeys[ROWS][COLS] = { 
  {'1', '2', '3'}, 
  {'4', '5', '6'}, 
  {'7', '8', '9'}, 
  {'*', '0', '#'} 
}; 
 
byte rowPins[ROWS] = {7, 6, 5, 4}; 
byte colPins[COLS] = {8, 9 , 10}; 
 
// Create keypad object 
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 
 
void setup()  
{  
Serial.begin(9600); 
 
  
void loop() 
  char customKey = customKeypad.getKey(); 
  if (customKey) 
    { 
      Serial.write(customKey); 
    } 
  delay(20); 

LISTING PROGRAM SLAVE

#include <LiquidCrystal.h> 

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

char message;

void setup()  
{  
  Serial.begin(9600); 
  lcd.begin(16, 2); 

void loop() 
  lcd.setCursor(0, 0); 
  lcd.print("Tombol :"); 
  
  if (Serial.available())
  { 
    message = Serial.read(); 
    lcd.print(message); 
  } 
}



Modul 1: Percobaan 4

Tidak ada komentar:

Posting Komentar

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