Rangkaian ini menggambarkan sebuah sistem yang terdiri dari dua Arduino yang saling berkomunikasi menggunakan protokol I2C. Prinsip kerja utamanya adalah sebagai berikut:
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.
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.
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.
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.
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.
Flowchart :
Protokol ini menggunakan dua saluran sinyal untuk komunikasi:
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.
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.
Video Percobaan klik disini
Tidak ada komentar:
Posting Komentar