LA 2 M3P
LA 1
== Percobaan 4 ==
Komunikasi UART
- Siapkan alat dan bahan yang akan digunakan pada saat praktikum seperti Arduino Uno, Keypad, LCD
- Rangkai sesuai gambar percobaan
- Rancang kerja rangkaian menggunakan flowchart
- Running rangkaian simulasi sesuai dengan kondisi pada saat praktikum
Blok Diagram
Keypad
Kabel Jumper
Breadboard
Prinsip Kerja:
Pada percobaan 4 ini, keypad 3x4 berperan sebagai input dan LCD 16x2 berperan sebagai output. Arduino berperan sebagai transmitter yang akan mengirim data melalui UART. Data yang akan dikirim adalah kode yang merepresentasikan tombol yang ditekan pada keypad. Arduino akan membaca input dari keypad dan mengirim data tersebut melalui pin UART ke perangkat penerima. Pada sisi penerima, akan ada perangkat yang berperan sebagai receiver, misalnya komputer atau perangkat lain yang dapat menerima data melalui UART. Perangkat penerima akan menerima data yang dikirim oleh Arduino melalui koneksi serial. LCD digunakan sebagai output untuk menampilkan informasi atau hasil dari proses yang dilakukan oleh Arduino. Arduino akan mengirimkan data yang akan ditampilkan ke LCD melalui koneksi yang sesuai. Perangkat Arduino akan mengatur tampilan pada LCD sesuai dengan data yang diterima dari keypad atau hasil pemrosesan data lainnya. Jadi kesimpulannya adalah prinsip kerja UART itu mengirim data secara serial bit per bit antara dua perangkat, yaitu pengirim (transmitter) dan penerima (receiver), melalui jalur komunikasi yang biasanya berupa kabel
Flowchart
Listing Program
- Arduino 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);
}
- Arduino Slave
//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();
if (message)
{
lcd.print(message);
}
}
}
Modul 3: Percobaan 4
"Komunikasi UART Menggunakan Arduino"
Gambar Rangkaian [Download]
Listing Program [Download]
HTML [Download]
Datasheet [Download]
Video Demo [Download]