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]
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
//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