Tugas Pendahuluan 2 Modul 3

 






Percobaan 3 Kondisi 2
Key 1 - 9 menampilkan karakter nomor 9 - 1 secara berurut di kolom kedua LCD
    
1. Prosedur [Kembali]
  • Rangkailah semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai, masukkan program ke arduino 
  • Jalankan program pada simulasi dan lakukan sesuai kondisi

2. Hardware dan diagram blok

a. Hardware
                                            
1. Arduino Uno

2. Keypad








3.LCD











4. VCC



5. Ground




b. Diagram blok








3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

a) Gambar rangkaian sebelum dijalankan






b) Gambar rangkaian sesudah dijalankan 



Prinsip Kerja

    Pada rangkaian di atas merupakan rangkaian percobaan 3 kondisi 2 , pada percobaan ini kondisi rangkaian yaitu Key 1 - 9 menampilkan karakter nomor 9 - 1 secara berurut di kolom kedua LCD. Rangkaian terdiri dari beberapa komponen, seperti arduino sebanyak 2 buah , keypad dan LCD.  
 
    Rangkaian ini menggunakan komunikasi pada arduino jenis 12c, karena pada arduino yang digunakan, menggunakan 2 pin dan 1 jalur dalam proses pengiriman data. Pada I2C, menggunakan pin SDA dan pin SCK pada arduino uno.

    Pada arduino master , terhubung ke inputan berupa keypad untuk memberikan inputan melalui jalur I2C ke slave.Untuk ne==menghubungkan arduino master dan slave, pada listing program digunakan fungsi wire.begin(), yang berfungsi sebagai penghubung antara arduino master dan arduino slave



4. Flowchart dan Listing Program [Kembali]

a. Flowchart 
MASTER ARDUINO

SLAVE ARDUINO







b. Listing Program

MASTER ARDUINO


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





5. Kondisi [Kembali]

Pada percobaan 3 kondisi 2 kondisi rangkaian yaitu Key 1 - 9 menampilkan karakter nomor 9 - 1 secara berurut di kolom kedua LCD

6. Video Simulasi [Kembali]







7. Download File [Kembali]

HTML Klik disini Klik disini
Rangkaian Simulasi Klik disini 
Video Simulasi Klik disini
Listing Program Master Klik disini
Listing Program Slave Klik disini
Datasheet Arduino Uno klik disini

























Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

                                     BAHAN PRESENTASI UNTUK MATAKULIAH                                                 ELEKTRONIKA 2022 Nama...

Postingan Populer