1. Komponen [Kembali]
- arduino uno
- Button
- LED
2. Rangkaian Simulasi [Kembali]
3.Flowchart [Kembali]
4. Listing Program [Kembali]
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
}
}
}
5. Video [Kembali]
Rangakain percobaan 1 ini merupakan rangkaian komunikasi UART. Pada percobaan komunikasi UART (Universal ASychronous Receiver Transmitter) yang terdiri dari 2 arduino, yang satu sebagai master dan yang satu lagi sebagai 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 danmenjalankan 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.
6. Kondisi [Kembali]
Analisa :
Komunikasi UART akan menjadi error jika menghubungkan TX Master ke Rx Slave hanya dengan menggunakan 1 kabel saja. Hal itu terjadi karena Tx Slave tidak terhubung ke Rx Master untuk menandakan adanya data yang masuk ke Slave. Jika Tx Master ke RX Slave dihubungkan dengan menggunakan 2 kabel. Maka, tujuan kabel pertama untuk komunikasi asinkron dari Master ke Slave dan kabel kedua sebagai respon ke Master bahwa data telah masuk ke Slave.
2. Apakah dapat mengirim data sebanyak 12 bit? Jelaskan alasannya!
Jawab:
Tidak, karena komunikasi UART seri bisa bekerja dalam 4 macam mode, 1 mode bekerja sebagai sarana komunkasi seri sinkron, tiga mode lainnya merupakan sarana komunikasi seri asinkron.
Keempat macam mode kerja tersebut adalah :
· Mode 0 – bekerja sebagai sarana komunikasi data seri sinkron, data seri dikirim dan diterima melalui kaki RxD, sedangkan kaki TxD dipakai untuk menyalurkan clock yang diperlukan komunikasi data sinkron. Data ditransmisikan per 8 bit dengan kecepatan transmisi data (Baud rate) tetap, sebesar 1/12 frekuensi kerja dari AT89C2051.
· Mode 1 – mode ini dan 2 mode berikutnya merupakan sarana komunikasi seri asinkron. Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data ditransmisikan per 10 bit, terdiri atas 1 bit Start (‘0’), 8 bit data dan 1 bit stop (‘1’). Kecepatan transmisi data (Baud Rate) ditentukan lewat Timer 1, bisa diatur untuk berbagai kecepatan.
· Mode 2 – Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data ditransmisikan per 11 bit, terdiri atas 1 bit Start (‘0’), 8 bit data, 1 bit data tambahan (bit ke 9) dan 1 bit stop (‘1’). Kecepatan transmisi data (Baud Rate) hanya bisa dipilih 1/32 atau 1/64 frekuensi kerja dari AT89C2051.
· Mode 3 – Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data ditransmisikan per 11 bit, terdiri atas 1 bit Start (‘0’), 8 bit data, 1 bit data tambahan (bit ke 9) dan 1 bit stop (‘1’). Sesungguhnya Mode 2 dan 3 sama persis, perbedaannya adalah kecepatan transmisi data (Baud Rate) mode 3 ditentukan lewat Timer 1, bisa diatur untuk berbagai kecepatan, persis sama dengan mode 1.
Jadi, kesimpulan yang dapat diambil adalah keempat metode diatas tidak dapat mengirim data sebanyak 12 bit
1. 3. Apakah kita dapat menggunakan banyak slave? Jelaskan alasannya!
Jawab:
Pada UART, jumlah Master dan Slave masing-masing hanya digunakan 1 saja. Hal tersebut dikarenakan UART menggunakan jalur data tunggal untuk mentransmisikan data (Transmitter) dan untuk menerima data (Receiver). Jadi, Transmitter Master dihubungkan ke Receiver Slave untuk mentransmisikan data dan Transmitter Slave dihubungkan ke Receiver Master untuk menandakan Slave telah menerima data dari Master. Pada UART hanya dapat mengirimkan sekitar 8 bit dan bit-bit tambahan (start bit, parity bit, dan stop bit ) setiap pentransmisian data.
7. Link Download [Kembali]
Download Video disini
Download Rangkaian disini
Download HTML disini
Tidak ada komentar:
Posting Komentar