Minggu, 28 April 2024

LA 1 Modul 3



MODUL 2
PERCOBAAN 1
1. Prosedur
[Kembali]

        1. Rangkai semua komponen sesuai kondisi yang dipilih
        2. Buat program di aplikasi arduino IDE
        3. Setelah selesai masukkan program ke arduino (Verify and Upload)
        4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
        5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. Hardware

a. Hardware
1. Arduino uno
Spesifikasi Arduino Uno:




2. LCD

Spesifikasi LCD:



3. 
Keypad



4.   Kabel Jumper


            b. Digram Blok





3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

A. Gambar Rangkaian




                         
B. PRINSIP KERJA
   Dalam percobaan 3 ini, dua Arduino menggunakan protokol komunikasi I2C. Arduino master bertindak sebagai pengirim perintah, yang dihubungkan dengan input dari keypad yang terhubung. Sementara Arduino slave bertugas menerima perintah dan mengeksekusinya, menampilkan outputnya sehingga dihubungkan dengan LCD 16x2. Saat 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 Arduino slave, LCD dikendalikan menggunakan library LiquidCrystal, dan Arduino tersebut bergabung dengan bus I2C dengan alamat 4. Ketika data diterima oleh Arduino slave, LCD membersihkan tampilan dan menampilkan karakter yang diterima dari Arduino master. Komunikasi ini terjadi berulang kali, memungkinkan tampilan LCD merespons setiap input yang diberikan melalui keypad pada Arduino master.
4. FlowChart [Kembali]

a. Listing Program 

 Master
//Master Arduino
#include <Keypad.h>
#include <Wire.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
 {'1', '2', '3'},
 {'4', '5', '6'},
 {'7', '8', '9'},
 {'*', '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
 }
}

Slave
//Slave Arduino
#include <LiquidCrystal.h>
#include <Wire.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Sesuaikan pin sesuai dengan koneksi LCD
void setup()
{
 lcd.begin(16, 2);
 Wire.begin(4); // join i2c bus with address #4
 Wire.onReceive(receiveEvent); // register event
 Serial.begin(9600); // start serial for output
}
void loop()
{
 delay(100);
}
// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
 char c = Wire.read(); // receive byte as a character
 Serial.println(c); // print the character
 lcd.clear();
 lcd.setCursor(1, 0);
 lcd.print(c);
 delay(100);
}
b. Flowchart




Arduino Master


Arduino Slave








5. Video Demo [Kembali]




6. Kondisi [Kembali]

Percobaan 3 modul 3

8. Download File [Kembali]

Download HMTL klik di sini
Download Video Demo Klik di sini
Download Datasheet ARDUINO UNO klik di sini
Download Datasheet LCD klik di sini
Datasheet keypad klik di sini



Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

LA 2 modul 3

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Prosedur 2. Hardware dan diagram blok 3. Rangkaian Simulasi dan P...