Laporan Akhir 1 Modul 3

 Laporan Akhir 1 Modul 3






Percobaan 3 
I2C

1. Foto Hardware dan diagram Blok [Kembali]

a. Hardware









    1. LCD 




    2. Arduino Uno


    

    3. Keypad



    4. Jumper




    5. Breadboard  
  


b. Diagram Blok



    



2. Prosedur Percobaan [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan dengan modul

3 . Rangkaian Simulasi dan Prinsip Kerja [Kembali]


Prinsip Kerja : 

     Pada rangkaian percobaan 2 , menggunakan prinsip komunikasi 2 arduino jenis I2C.Dimana pada rangkaian terdapat 2 buah arduino yang salah satunya bertindak sebagai master arduino yang nantinya akan dihubungkan dengan input ( pada percobaan ini, input berasal dari keypad ), dan arduino yang lainnya bertindak sebagai arduino slave yang nantinya akan terhubung pada output ( pada percobaan ini output akan ditampilkan pada LCD ). Pada LCD juga terdapat sebuah potensiometer yang berfungsi sebagai pengatur tingkat kecerahan pada tampilan LCD, dimana kaki yang berada pada bagian tengah potensiometer akan dihubungkan langsung ke arduino.
    
    Pada input diberikan pada keypad,arduino master akan mendeteksi input yang diberikan dan selanjutnya akan memberikan karakter yang sesuai melalui saluran komunikasi I2C. Dimana pada komunikasi I2C dapat menggunakan 2 pin dan satu jalur dalam proses pengiriman data. Proses dimulai dengan inisialisasi menggunakan fungsi Wire,begin(). 

    Penampilan output pada LCD pada arduino slave, akan diatur dengan menggunakan library LiquidCrystal dan arduino tersebut pada program diatur dengan alamat 4. Komunikasi I2C akan ditandai dengan menggunakan pin SDA dan SCK  pada arduino.

     
 
                                         
4. Flowchart [Kembali]

a. Flowchart

Master



Slave




b. Listing Program 

Master

//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
//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. Video Simulasi Praktikum [Kembali]





6. Analisa [Kembali



7. Download File [Kembali]

HTML  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
Datasheet Keypad klik disini

























Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

                                     BAHAN PRESENTASI UNTUK MATAKULIAH                                                 ELEKTRONIKA 2022 Nama...

Postingan Populer