PERCOBAAN 1
"UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER ( UART)"
1. push button
2. arduino
3. led
|
MASTER
|
|
SLAVE
|
//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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
slave:
//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
}
}
}
Analisis :ANALISA PERCOBAAN 1 UART :
1. Apa yang terjadi jika komunikasi UART hanya menggunakan 1 kabel
saja, yang terhubung TX ke RX?
Jawab:komunikasi hanya berlangsung
satu arah,komunikasi akan tetap bisa di lakukan tetapi hanya dari master ke
slave karena yang terhubung hanya pin transmitter(TX) pada master dan pin
receiver(RX) pada slave,sebaliknya dari slave ke master tidak bisa karena tidak
terhubung,data input hanya akan masuk ke master lalu master mengirim data ke
slave secara parallel,kemudian slave akan mengirimkan data secara serial ke
output led
2. Apakah dapat mengirim data sebanyak 12 bit? Jelaskan
alasannya
Jawab: tidak, karena pada UART terdiri dari start bit,parity bit dan stop bit,dimana start bit dimulai
dari 0,lalu ada paket data perintah yang di kirim terdiri dari 8 bit,lalu di
akhiri 1 stop bit,jadi jumlahnya sekali
kirim itu nantinya 9 bit berulang kali sesuai program yang kita buat
3. Apakah kita dapat menggunakan banyak slave? Jelaskan
alasannya
Jawab: tidak, maksimal master dan
slave hanya 1,sebab jumlah pin rx dan tx pada perangkat master maupun slave
hanya berjumlah satu masing masingnya serta pengiriman data dari UART 1 ke UART
2 adalah serial.Data dikirim secara parallel dari data bus ke uart 1,kemudian
pada uart 1 ditambahkan start bit ,parity bit,stop bit dalam 1 paket
data.kemudian di transmisikan secara serial dari tx UART 1 Ke Uart 2,kemudian
uart 2 mentransferkan secara parallel ke output
PRINSIP KERJA:
untuk rangkaian percobaan digunakan kondisi input pullup artinya adalah
nilai awal dari logika pin saat buttom tidak ditekan adalah 1 atau
HIGH. lalu prinsip kerja rangkainnya adalah saat kondisi awal dimana
bottom tidak ditekan maka logika pada pin masukkan master adalah 1 atau
HIGH. berdasarkan program maka saat logika yang dibaca oleh pin arduino
master adalah HIGH, maka nilai yang dikirimkan oleh master dari TX ke
slave RX adalah 2. saat nilai yang diterima oleh RX slave adalah 2 maka
arduino akan memberikan perintah untuk mengeluarkan nilai logika LOW
atau 0 pada pin output slave yang mengakibatkan LED tidak hidup atau
mati.
lalu saat buttom ditekan maka logika yang dibaca oleh pin input master
berubah dari HIGH menjadi LOW. maka nilai yang dibaca oleh arduino
master adalah 0 maka arduino master akan mengirimkan data 1 dari TX
menuju RX slave. pada program slave saat nilai yang ia terima adalah 1
maka ia akan mengeluarkan logika 1 atau HIGH pada outputnya. sehingga
mengakibatkan LED menjadi hidup.
artinya adalah saat kita membiatkan button tidak ditekan maka nilai yang
dikrimkan adalah 2 saat nilai yang diterima adalah 2 maka LED tidak
hidup atau mati atau diberi logika LOW. sebaliknya saat kita tekan
button maka nilai yang dikrim adalah 1. saat nilai 1 diterima maka LED
kan hidup atau diberi logika HIGH.
Tidak ada komentar:
Posting Komentar