Percobaan 3
1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
5. Selesai
d. Jumper
2. Diagram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian Simulasi
Prinsip Kerja
Dalam percobaan ini, dilakukan komunikasi antara dua Arduino menggunakan protokol I2C. Arduino master berperan sebagai pengirim perintah, yang dalam kasus ini berasal dari input keypad yang terhubung. Sementara Arduino slave bertugas sebagai penerima perintah dan mengeksekusinya, dengan hasilnya ditampilkan pada LCD 16x2. Ketika pengguna menekan tombol pada keypad, Arduino master mendeteksi input tersebut dan mengirimkan karakter yang sesuai melalui saluran komunikasi I2C. Proses dimulai dengan inisialisasi menggunakan fungsi Wire.begin(). Pada sisi Arduino slave, LCD diatur menggunakan pustaka LiquidCrystal, dan Arduino tersebut bergabung dengan bus I2C dengan alamat 4. Setelah menerima data dari Arduino master, LCD membersihkan tampilan dan menampilkan karakter yang diterima. Komunikasi ini berlangsung secara berulang, memungkinkan tampilan LCD merespons setiap input yang diberikan melalui keypad pada Arduino master.
4. FlowChart [Kembali]
Master
// Memasukkan library yang dibutuhkan
#include <Keypad.h>
#include <Wire.h>
// Mendefinisikan jumlah baris dan kolom pada keypad
const byte ROWS = 4;
const byte COLS = 3;
// Membuat array yang berisi karakter-karakter pada keypad
char keys[ROWS][COLS] = {
{'1', '2', '3'}, // Baris pertama pada keypad
{'4', '5', '6'}, // Baris kedua pada keypad
{'7', '8', '9'}, // Baris ketiga pada keypad
{'*', '0', '#'}, // Baris keempat pada keypad
};
// Mendefinisikan pin-pin untuk baris pada Arduino
char rowPins[ROWS] = {9, 8, 7, 6};
// Mendefinisikan pin-pin untuk kolom pada Arduino
char colPins[COLS] = {5, 4, 3};
// Inisialisasi objek Keypad
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup()
{
Wire.begin(); // Bergabung dengan bus I2C sebagai master
}
void loop(){
char key = keypad.getKey(); // Mendapatkan tombol yang ditekan
if (key) { // Jika ada tombol yang ditekan
Wire.beginTransmission(4); // Mulai transmisi ke perangkat dengan alamat I2C #4
Wire.write(key); // Mengirim karakter tombol yang ditekan
Wire.endTransmission(); // Mengakhiri transmisi
}
}
Slave
// Memasukkan library yang dibutuhkan untuk LCD dan komunikasi I2C
#include <LiquidCrystal.h>
#include <Wire.h>
// Inisialisasi objek LiquidCrystal dengan pin-pin yang terhubung ke LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Sesuaikan pin sesuai dengan koneksi LCD
void setup()
{
lcd.begin(16, 2); // Menginisialisasi LCD dengan ukuran 16 kolom dan 2 baris
Wire.begin(4); // Bergabung dengan bus I2C dengan alamat #4 sebagai slave
Wire.onReceive(receiveEvent); // Mendaftarkan fungsi receiveEvent sebagai event handler ketika data diterima
Serial.begin(9600); // Memulai komunikasi serial untuk output
}
void loop()
{
delay(100); // Loop utama hanya memiliki delay, pemrosesan dilakukan di receiveEvent
}
// Fungsi yang dijalankan setiap kali data diterima dari master
void receiveEvent(int howMany)
{
char c = Wire.read(); // Menerima byte sebagai karakter
Serial.println(c); // Mencetak karakter ke serial monitor
lcd.clear(); // Membersihkan layar LCD
lcd.setCursor(0, 0); // Menyetel kursor ke posisi awal
lcd.print(c); // Menampilkan karakter pada LCD
delay(100); // Delay untuk stabilitas
}
b. Flowchart
5. Kondisi [Kembali]Kondisi : Percobaan 3 Sesuai modul
6. Video Simulasi [Kembali]
7. Download File
[Kembali]
Download Simulasi Rangkaian Klik disini
Download HTML Klik disini
Download Video Simulasi Klik disini
Download Listing Code Klik disini
Download Listing Code Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Keypad Klik disini
Tidak ada komentar:
Posting Komentar