//MASTER
#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
}
}
}
1. Apa yang terjadi jika komunikasi UART hanya menggunakan 1 kabel saja, yang terhubung TX ke RX?
JAWAB:
Jika pada komunikasi UART hanya menggunakan 1 kabel saja yang terhubung dari Tx Master ke Rx Slave, maka akan terjadi error. Hal tersebut dikarenakan Tx Slave tidak terhubung ke Rx Master untuk menandakan adanya data yang masuk ke Slave. Jadi, dihubungkan 2 kabel dimana tujuan kabel pertama dihubungkannya dari Tx Master ke Rx Slave adalah untuk komunikasi asinkron dari Master ke Slave, kemudian kabel kedua dihubungkannya dari Tx Slave ke Rx Master sebagai penanda atau memberitahukan ke Master bahwa data telah masuk ke Slave.
2. Apakah pada uart dapat menggunakan banyak master ataupun slave? Jelaskan alasannya!
JAWAB:
Pada UART, jumlah Master maupun Slave masing-masing hanya 1 saja. Hal tersebut dikarenakan UART menggunakan jalur data tunggal untuk mentransmisikan data (Transmitter) dan untuk menerima data (Receiver). Jadi, dari Transmitter Master dihubungkan ke Receiver Slave untuk pentransmisian data dan Transmitter Slave dihubungkan ke Receiver Master untuk menandakan Slave telah menerima data dari Master. Pada UART ini hanya dapat mengirimkan sekitar 8 bit dan bit-bit tambahan (start bit, parity bit, dan stop bit ) setiap pentransmisian data.
3. Jika ditambahkan resistor 22k sebelum LED, apa yang akan terjadi?
JAWAB:
Sebelumnya, ketika resistor tidak ditambahkan sebelum LED, maka LED akan hidup dimana tegangan yang dihasilkan dari Slave sekitar 2,5V dengan besar tegangan volt minimal diterima LED sekitar 2,2V. Namun, ketika ditambahkan resistor 22k ditambahkan, maka tahanan pada resistor akan menghambat laju arus listrik sehingga tegangan yang dihasilkan sekitar 2V dan itu kurang dari 2,2V yang dibutuhkan LED untuk hidup atau menyala. Dengan begitu LED tidak menyala.
4. Jelaskan prinsip kerja UART pada rangkaian
JAWAB:
Pada
percobaan komunikasi UART (Universal ASychronous Receiver Transmitter) yang
terdiri dari 2 arduino yang berfungsi sebagai pirsnti yang disebut sebagai
master dan slave, master berfungsi sebagai pemerintah. Master akan menerima
data dari bus data yang dikirm secara parallel kemudian data pada master akan
dikirm ke slave untuk menyuruh slave mengeksekusi dan menjalankan perintah dari
master. Pada sistem UART menggunakan dua buah jalur penghubung antara master
dan slave yaitu dengan mentransmisikan data secara serial dari pin Tx pada
master ke Rx pada slave. Agar data yang dikirmkan sama dengan data yang diterima,
maka kedua frekuensi clock harus sama dengan data yang diterima, maka kedua
frekuensi clock harus sama dan harus sinkronisasi. Pada rangkaian juga terdapat
button yang berfungsi sebagai pengatur kondisi high dan low output LED, jika
button ditekan maka kondisinya high dan lampu LED akan menyala, dan sebaliknya
jika button tidak ditekan maka kondisinya low, dan lampu LED mati.
No comments:
Post a Comment