Laporan Akhir Modul 3 - Percobaan 1
1. Tujuan
[Daftar]
1. Merangkai percobaan 1 modul 3.
2. Menjelaskan cara kerja rangkaian percobaan 1.
3. Melakukan simulasi rangkaian percobaan 1.
Kondisi : ubah baudrate master menjadi 34500
2. Menjelaskan cara kerja rangkaian percobaan 1.
3. Melakukan simulasi rangkaian percobaan 1.
Kondisi : ubah baudrate master menjadi 34500
2. Alat dan Bahan
[Daftar]
3. Rangkaian Percobaan
[Daftar]
Prinsip Kerja
Pada percobaan ini dilakukan percobaan komunikasi UART untuk melakukan komunikasi antar dua Arduino UNO. Sebuah arduino digunakan sebagai master dan yang lainnya sebagai slave. Hubungan arduino MASTER-SLAVE terhubung pada pin TX dan RX masing-masing pada pin 1 dan 2. Pada pin 5 arduino master terhubung ke push button, push button terubung dari VCC melalui resistor dan ke ground, jika button tidak ditekan maka pin 5 akan berlogika HIGH karena arus masuk ke pin 5 sedangkan jika button ditekan maka pin 5 akan berlogika LOW karena arus dilewatkan ke ground. Pada pin 12 slave terhubung ke LED sebagai output.
MASTER
Pertama dilakukan deklarasi pin-pin yang digunakan seperti pin 5 sebagai BUTTON. Selanjutnya pada fungsi void setup() dilakukan pengaturan pin BUTTON (5) sebagai INPUT dan pengaturan baudrate master yaitu 34500. Selanjutnya pada void loop() dilakukan pembacaan nilai inputan dari pin BUTTON dengan digitalRead(BUTTON), kemudian hasil inputan disimpan dalam variabel nilai dengan tipe data integer. Setelah itu dilakukan percabangan if-else dengan kondisi jika nilai sama dengan LOW maka data "1" dicetak pada serial dan jika nilai tidak sama dengan LOW maka data "2" dicetak pada serial dan data dikirimkan melalui serial.
SLAVE
Pertama dilakukan deklarasi pin-pin yang digunakan seperti pin 12 sebagai led. Selanjutnya pada void setup() dilakukan pengaturan pin led (12) sebagai OUTPUT dan dan pengaturan baudrate slave yaitu 9600. Pada fungsi void loop() dilakukan percabangan, apabila data pada serial tidak kosong (Serial.available()>0) maka dilakukan pembacaan data dari Serial dan nilainya disimpan pada variabel data dengan tipe data integer. Dilakukan percabangan kembali, jika nilai yang disimpan dalam variabel data adalah '1' maka led akan dioutputkan HIGH dan jika nilai yang disimpan dalam variabel data adalah '2' maka led akan dioutputkan LOW.
Pada percobaan ini dilakukan percobaan komunikasi UART untuk melakukan komunikasi antar dua Arduino UNO. Sebuah arduino digunakan sebagai master dan yang lainnya sebagai slave. Hubungan arduino MASTER-SLAVE terhubung pada pin TX dan RX masing-masing pada pin 1 dan 2. Pada pin 5 arduino master terhubung ke push button, push button terubung dari VCC melalui resistor dan ke ground, jika button tidak ditekan maka pin 5 akan berlogika HIGH karena arus masuk ke pin 5 sedangkan jika button ditekan maka pin 5 akan berlogika LOW karena arus dilewatkan ke ground. Pada pin 12 slave terhubung ke LED sebagai output.
MASTER
Pertama dilakukan deklarasi pin-pin yang digunakan seperti pin 5 sebagai BUTTON. Selanjutnya pada fungsi void setup() dilakukan pengaturan pin BUTTON (5) sebagai INPUT dan pengaturan baudrate master yaitu 34500. Selanjutnya pada void loop() dilakukan pembacaan nilai inputan dari pin BUTTON dengan digitalRead(BUTTON), kemudian hasil inputan disimpan dalam variabel nilai dengan tipe data integer. Setelah itu dilakukan percabangan if-else dengan kondisi jika nilai sama dengan LOW maka data "1" dicetak pada serial dan jika nilai tidak sama dengan LOW maka data "2" dicetak pada serial dan data dikirimkan melalui serial.
SLAVE
Pertama dilakukan deklarasi pin-pin yang digunakan seperti pin 12 sebagai led. Selanjutnya pada void setup() dilakukan pengaturan pin led (12) sebagai OUTPUT dan dan pengaturan baudrate slave yaitu 9600. Pada fungsi void loop() dilakukan percabangan, apabila data pada serial tidak kosong (Serial.available()>0) maka dilakukan pembacaan data dari Serial dan nilainya disimpan pada variabel data dengan tipe data integer. Dilakukan percabangan kembali, jika nilai yang disimpan dalam variabel data adalah '1' maka led akan dioutputkan HIGH dan jika nilai yang disimpan dalam variabel data adalah '2' maka led akan dioutputkan LOW.
4. Listing Program
[Daftar]
Listing Program Master
#define button 5
void setup(){
pinMode(button,INPUT);
Serial.begin(34500);
}
void loop(){
int nilai = digitalRead(button);
if(nilai == LOW){
Serial.print("1");
}else{
Serial.print("2");
}
delay(200);
}
Listing Program Slave
#define led 12
void setup(){
pinMode(led,OUTPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available()>0){
int data = Serial.read();
if(data=='1'){
digitalWrite(led,HIGH);
}else{
digitalWrite(led,LOW);
}
}
}
5. Analisa
[Daftar]
1. Apa yang terjadi jika baudrate dari salah satu device diubah?
Jawab:
Dengan mengubah baudrate dari master maka tidak terjadi perpindahan data antara master dan slave. Device-device yang berbeda baudratenya tidak dapat saling terhubung sehingga data tidak dapat ditransmisikan ataupun diterima.
2. Apa yang terjadi jika pin TX pada salave diputuskan?
Jawab:
Jika pin TX pada slave diputus maka slave tidak dapat mengirimkan data ke master. Hanya terjadi sekali perpindahan data yang ditransmisikan oleh master ke slave dari TX master ke RX slave. Data pada slave tidak dapat ditransmisikan ke master karena TX slave tidak terhubung ke RX master sehingga antara slave dan master tidak terjadi komunikasi.
3. Apa perbedaan antara komunikasi serial biasa dengan komunikasi softwareserial?
Jawab:
Pin TX dan RX digunakan untuk menghubungkan antara dua device. Karena jumlah pin TX dan RX yang terdapat pada arduino berjumlah terbatas maka sulit untuk menghubungkan banyak arduino sekaligus. Komunikasi software serial dibutuhkan untuk menutupi kekurangan dari jumlah pin TX dan RX. Dengan menggunakan software serial maka jumlah pin TX dan RX dapat ditambah dengan menggunakan pin-pin lainnya dan dimanfaatkan untuk transmisi dan penerimaan data pada arduino. Pin-pin digital lainnya dapat digunakan sebagai pengganti TX dan RX untuk memperbanyak komunikasi dengan perangkat lain.
Jawab:
Dengan mengubah baudrate dari master maka tidak terjadi perpindahan data antara master dan slave. Device-device yang berbeda baudratenya tidak dapat saling terhubung sehingga data tidak dapat ditransmisikan ataupun diterima.
2. Apa yang terjadi jika pin TX pada salave diputuskan?
Jawab:
Jika pin TX pada slave diputus maka slave tidak dapat mengirimkan data ke master. Hanya terjadi sekali perpindahan data yang ditransmisikan oleh master ke slave dari TX master ke RX slave. Data pada slave tidak dapat ditransmisikan ke master karena TX slave tidak terhubung ke RX master sehingga antara slave dan master tidak terjadi komunikasi.
3. Apa perbedaan antara komunikasi serial biasa dengan komunikasi softwareserial?
Jawab:
Pin TX dan RX digunakan untuk menghubungkan antara dua device. Karena jumlah pin TX dan RX yang terdapat pada arduino berjumlah terbatas maka sulit untuk menghubungkan banyak arduino sekaligus. Komunikasi software serial dibutuhkan untuk menutupi kekurangan dari jumlah pin TX dan RX. Dengan menggunakan software serial maka jumlah pin TX dan RX dapat ditambah dengan menggunakan pin-pin lainnya dan dimanfaatkan untuk transmisi dan penerimaan data pada arduino. Pin-pin digital lainnya dapat digunakan sebagai pengganti TX dan RX untuk memperbanyak komunikasi dengan perangkat lain.
6. Video
[Daftar]
6. Download File
[Daftar]
Tidak ada komentar:
Posting Komentar