Laporan Akhir 1

M3 P3 

 [Kembali ke Menu Sebelumnya]


MODUL 3: Communication
Laporan Akhir 1

1. Susunlah susunan komponen dalam perangkat lunak Proteus sesuai dengan kondisi eksperimen.
2. Buatlah skrip untuk perangkat Arduino menggunakan perangkat lunak Arduino IDE.
3. Lakukan proses kompilasi untuk skrip tersebut, kemudian unggah ke perangkat Arduino.
4. Setelah proses pengunggahan selesai, aktifkan simulasi rangkaian dalam perangkat lunak Proteus.

a) Modul Arduino


b) Keypad 4x4







c) LCD 16x2



     

Percobaan 3







Percobaan 3


  Rangkaian yang ada pada gambar diatas terdiri dari 2 arduino dimana satu arduino menjadi Master dan satu lagi menjadi Slave. Arduino Master berkerja sebagai penerima kondisi dari keypad 4x4, dimana keypad terhubung ke arduino master melalui kabel jumper. Saat tombol keypad ditekan, maka input akan masuk ke arduino dan data input akan dikirim dari arduino master ke slave melalui komunikasi I2C, dimana arduino berkomunikasi melalui pin SDA dan SCL.

Pada sisi slave, saat arduino slave menerima data dari master, maka data tersebut akan digunakan untuk memunculkan angka pada LCD 16x2. Data yang ditunjukkan pada LCD 16x2 akan sesuai dengan tombol yang ditekan di keypad.

Komunikasi yang dijalankan dapat terjadi karena pada program yang dibuat pada kedua arduino, dilakukan deklarasi library <Wire.h> yang dapat mengaktifkan metode komunikasi I2C.  

4. Flowchart [Kembali]

Percobaan 3
Sisi Master





//Master Arduino #include #include 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 Arduino #include #include 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, 0); lcd.print(c); delay(100); }
Pada percobaan 3 modul 3, dilakukan secara langsung yang menyebabkan tidak ada kondisi 
Percobaan 3






Untuk HTML di sini
Unduh Gambar Rangkaian Simulasi di sini
Unduh Program Slave di sini
Unduh Program Master di sini
Datasheet Arduino Uno  ↠ klik disini
Unduh Video Simulasi di sini

No comments:

Post a Comment

Periodic Relationships Among The Elements

  BAHAN PRESENTASI MATA KULIAH KIMIA 1  2020 OLEH M.Sean Mahogra Radi 2010952044 DOSEN PENGAMPU Dr.Darwison,MT Referensi: Chang, R. and Gold...