Modul III COMMUNICATION
a. Arduino Uno
b. LED
c. Button
2. Gambar Rangkaian [Daftar]


Rangkaian terdiri atas 2 arduino, button, dan led. Percobaan ini menggunakan komunikasi UART
yang mana antara Arduino master dan slave dihubungkan dengan pin Tx di pin 1 dan
Rx di pin 0, yang mana pin Tx mester akan dihubungkan pada pin Rx slave, dan
pin Rx master dihubungkan di pin Tx slave. Kemudian button dihubungkan pada pin
2 yang mana fungsinya sebagai input dari master yang menghasilkan logika high
dan low. Selanjutnya led dihubungkan pada pin 12 di slave. Prinsip dari
percobaan ini yaitu Ketika button dalam keadaan tertutup maka button akan
mengirimkan logika low dan led menyala. Kemudian Ketika button terbuka, button berlogika
high dan led padam.
Pada program master akan mendeklarasikan button sebagai
input. Jika input dari button berlogika low (0) maka master akan mengirimkan data
1 ke slave, sedangkan jika button berlogika high (1), maka master akan
mengirimkan data 2 ke slave.
Selanjutnya pada program slave, led dideklarasikan sebagai
output. Kemudian data yang dikirimkan dari master, jika data yang dikirimkan berupa
1, yaitu saat button dalam keadaan low, maka led akan dalam keadaan high
(menyala). Jika data dari master berupa angka 2, yaitu saat button dalam
keadaan high, maka led akan berada dalam keadaan low (mati).
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button,INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(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(9600); //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
}
}
}
5. Video Simulasi [Daftar]
1. 1. Analisa bagaimana hasil jika memvariasikan baudrate
antar master dan slave terhadap output yang dihasilkan?
Jawab:
Baudrate merupakan kecepatan transmisi
antara master dan slave, padas komunikasi UART nilai baudrate harus sama.
Ketika kita mengatur baudrate antara master dan slave tidak sama, maka
komunikasi tidak dapat berjalan, sehingga rangkaian yang di buat tidak akan
berjalan sebagai mana mestinya.
2.
2. Analisa pengaruh jika kabel pada Rx master ke Tx
Slave diputus?
Jawab:
Kabel Rx master Tx slave berfungsi sebagai
jalan pengiriman data atau informasi dari slave ke master. Pada percobaan sendiri
hanya akan mengirimkan data dari master ke slave, bukan dari slave ke maseter,
sehingga Ketika memutus kabel antara Rx master ke Tx slave, rangkaian tetap
berjalan sesuai program yang diberikan.
3.
3. Analisa pengaruh jika kabel pada Tx master ke Rx
slave diputus?
Jawab:
Kabel Tx master ke Rx slave berfungsi
sebagai jalan pengiriman informasi dari master ke slave. Pada percobaan ini
master akan mengirimkan data dari pebacaan button ke slave, sehingga Ketika
memutus Tx master Rx slave, maka rangkaian tidak akan berjalan sebagai mana
program yang diberikan.
4.
4. Analisa pengaruh penggunaan input pullup pada
program?
Jawab:
Inpul pullup ini berfungsi untuk
menghilangkan kondisi floating pada rangkaian. Jadi Ketika kita memberikan
instruksi input pullup ini pada button, maka button hanya akan berkondisi high
atau low, sementara Ketika pada program diatur hanya menggunakan input saja
maka Ketika button dalam keadaan terbuka, kondisi output dari button akan dalam
keadaan floating. Meskipun pada percobaan tetap dapat bekerja sesuai program,
hal ini dikarenakan di program Ketika input dari button selain 0 akan
dikirimkan data 2 ke slave, sehingga percobaan akan berjalan semestinya. Akan
tetapi jika program disetting Ketika input dari button berlogika 0 (low)
dikirim data 1 dan Ketika berlogika 1 (high) dikirim angka 2, maka Ketika dalam
keadaan floating program tidak akan berjalan semestinya.
Materi HTML
Tidak ada komentar:
Posting Komentar