1. Tujuan (BACK)
a) Memahami prinsip kerja UART, SPI, dan I2C
b) Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino
2. Komponen (BACK)
Alat
3. Rangkaian Simulasi (BACK)
4. Prinsip Kerja Rangkaian (BACK)
Rangkaian pada percoobaan ini menggunakan beberapa komponen seperti Simulino Uno, Push button, LED, ground, dan Power/Vcc. Pada percobaan ini menggunakan 2 Simulino Uno, satu untuk menjadi MASTER dan satu lagi untuk menjadi SLAVE, rangkaian terhubung secara hubungan UART, dimana pin yang digunakan Pin Tx, Rx pada masing-masing Simulino Uno. MASTER dan SLAVE dihubungkan silang, Pada MASTER pin yang digunakan adalah pin 2 dan SLAVE pin 12. Pada pin 2 dihubungkan pada push-button, pin 12 dihubungkan pada LED dan keduanya diground kan. untuk memulai rangkaian , dibuatlah programnya terlebih dahulu.
MASTER
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button, INPUT_PULLUP);
Serial.begin(115200); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
SLAVE
#define led 12 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led, OUTPUT); //Deklarasi LED sebagai output
Serial.begin(115200); //Set baud rate 9600
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
if (Serial.available() > 0)
{
int data = Serial.read();
if (data == '1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led, HIGH); //LED menyala
}
else
{
digitalWrite(led, LOW); //LED mati
}
}
}
Pada program terdapat boudrate yang divariasikan, baik pada MASTER maupun pada SLAVE. Program dicompile dan dimasukkan pada MASTER dan SLAVE. Saat boud rate pada MASTER diubah nilainya, karena Adanya perbedaan antara boud rate MASTER dan SLAVE, rangkaian berjalan tapi LED tidak menyala, karena adanya perbedaan frekuensi antara kedua Simulino Uno ( Komunikasi ). jika nilainya dibuat sama yaitu 34500 pada SLAVE itu LED akan menyala saat push button ditekan, karena perintah atau frekuensinya sama, terjadi komunikasi dari MASTER ke SLAVE.
5. Video Rangkaian (BACK)
6. Analisa (BACK)
1. kenapa ketika mengupload program akan error jika kita menghubungkan Tx dan Rx di Master dan Slave?
Error terjadi pada Tx dan Rx saat mengupload program terjadi karena tidak terhubungnya antara ground pada masing-masing Arduino dan jika groundnya sudah terhubung dan masih error itu karena skecth dari arduino tidak terbaca oleh arduino dilaptop. Jadi untuk datanya itu tidak dapat dikirim, anya salah satu dapat dikirim pada Arduino( MASTER atau SLAVE), saat kta hubungkan Aplikasi ke Arduino itu telah terjadi proses UART sendiri
2. Analisa pengaruh baudrate terhadap komunikasi UART
Baudrate berpengaruh terhadap komunikasi UART agar MASTER dan SLAVE masing-masing memiliki hubungan perlu adanya koneksi dengan menyamakan baudratenya, baudrate antara MASTER dan SLAVE harus sama dan baudrate juga kecepatan dalam mengirim data atau pengiriman dan penerimaan data
7. Link Download (BACK)
Download Datasheet Push Button
Tidak ada komentar:
Posting Komentar