Prak uP&uC : M3 LA2






1. Prosedur [Kembali]

1. Rangkai rangkaian pada alat sesuai dengan modul.
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 rangkaian.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Arduino



b) Kypad



c) Potensiometer


d) LCD






Diagram Blok:



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :








Prinsip Kerja :

Rangkaian ini menggambarkan sebuah sistem yang terdiri dari dua Arduino yang saling berkomunikasi menggunakan protokol I2C. Prinsip kerja utamanya adalah sebagai berikut:

  1. Input dari Keypad: Pengguna memasukkan angka melalui keypad yang terhubung ke Arduino Master. Setiap kali tombol pada keypad ditekan, sinyalnya akan diteruskan ke Arduino Master.

  2. Komunikasi Antar Arduino: Arduino Master bertanggung jawab untuk mengirimkan angka yang ditekan dari keypad ke Arduino Slave melalui protokol I2C. Ini memungkinkan komunikasi data yang efisien antara kedua Arduino.

  3. Transmisi Data: Arduino Master akan mengatur transmisi data ke Arduino Slave menggunakan protokol I2C. Data yang dikirim adalah angka yang dipilih oleh pengguna melalui keypad.

  4. Penerimaan Data oleh Arduino Slave: Arduino Slave akan menerima data yang dikirimkan oleh Arduino Master melalui bus I2C. Begitu data diterima, Arduino Slave akan menanggapi dan memprosesnya.

  5. Output pada Layar LCD: Setelah menerima data, Arduino Slave akan menampilkan angka yang diterima pada layar LCD yang terhubung. Ini memungkinkan pengguna untuk melihat input yang dimasukkan secara visual.

Dengan demikian, sistem ini memungkinkan pengguna untuk memasukkan input melalui keypad yang kemudian ditampilkan secara real-time pada layar LCD melalui komunikasi antara dua Arduino menggunakan protokol I2C.


4. Flowchart dan Listing Program [Kembali]

Flowchart :










Listing Program :
//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 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, 0); lcd.print(c); delay(100); }

5. Kondisi [Kembali]

Percobaan : 3 Komunikasi I2C dengan inoutan kypad dan keluaran lcd


6. Video Demo [Kembali]




 











7. Soal Analisa [Kembali]

1. Apa jenis komunikasi yang digunakan?

Jawab: 
Jenis Komunikasi yang digunakan adalah I2C. 
Komunikasi I2C (Inter-Integrated Circuit) adalah protokol komunikasi yang digunakan untuk memungkinkan berbagai perangkat elektronik berkomunikasi satu sama lain dalam suatu sistem.

Protokol ini menggunakan dua saluran sinyal untuk komunikasi:

  1. SCL (Serial Clock): Saluran ini digunakan untuk mengirimkan sinyal clock dari master ke slave. Ini mengatur waktu transmisi data dan memastikan bahwa perangkat di kedua ujung komunikasi berada dalam sinkronisasi.

  2. SDA (Serial Data): Saluran ini digunakan untuk mentransfer data antara master dan slave. Data dikirim dan diterima pada tepi sinyal clock.

Beberapa karakteristik utama komunikasi I2C meliputi:

  • Master-Slave Architecture: Setiap komunikasi I2C melibatkan satu perangkat yang bertindak sebagai master yang mengendalikan jaringan dan satu atau lebih perangkat yang bertindak sebagai slave yang menerima instruksi dari master.

  • Addressing: Setiap perangkat dalam jaringan I2C memiliki alamat unik yang digunakan oleh master untuk mengidentifikasi perangkat yang ingin diajak berkomunikasi.

  • Half-Duplex Communication: Komunikasi I2C adalah setengah dupleks, yang berarti data dapat dikirim dalam satu arah pada satu waktu. Master dan slave bergantian mengirim dan menerima data.

  • Clock Synchronization: Komunikasi I2C diatur oleh sinyal clock yang dihasilkan oleh master. Data dikirim dan diterima pada tepi sinyal clock.

Keuntungan utama penggunaan I2C adalah kemampuan untuk menghubungkan banyak perangkat menggunakan hanya dua saluran sinyal, yang membuatnya cocok untuk penggunaan dalam sistem terintegrasi dengan ruang terbatas.

2. Berdasarkan program, bagaimana cara master memilih slave?

Jawab:

Dalam kasus program yang diberikan, master memilih slave dengan menentukan alamat slave yang ingin dituju saat menggunakan fungsi Wire.beginTransmission(). Alamat slave ini diberikan dalam bentuk angka desimal. Misalnya, jika master ingin berkomunikasi dengan slave yang memiliki alamat 4, maka master akan menggunakan Wire.beginTransmission(4) untuk menentukan alamat slave yang ingin dihubungi.

Ketika slave sudah terhubung ke bus I2C dan telah dikonfigurasi dengan alamat yang sesuai, maka slave tersebut akan menanggapi permintaan dari master yang dikirimkan ke alamat yang cocok dengan alamat yang telah ditetapkan.

Jadi, inti dari cara master memilih slave adalah dengan menentukan alamat slave yang ingin dihubungi saat menggunakan perintah Wire.beginTransmission(), dan slave yang telah dikonfigurasi dengan alamat yang sesuai akan menerima pesan dari master yang dikirimkan ke alamat tersebut.


8. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet LCD  klik disini
Datasheet Potensiometer  klik disini
Datasheet Kypad  klik disini

Tidak ada komentar:

Posting Komentar

Among Us - Crewmates

  BAHAN PRESENTASI MATA KULIAH SISTEM DIGITAL 2023 OLEH : Raras Yulia Rosandi 2110951012 DOSEN PENGAMPU : Dr. Ir. Darwison, ST, MT JURUSAN T...