1. Komponen[kembali]
2. Rangkaian Simulasi[kembali]
Arduino uno pertama berfungsi sebagai master dan arduino kedua sebagai slave. Pin transmitter pada master dihubungkan ke receiver slave sedangkan pin transmitter slave dihubungkan ke receiver master. Pin 2 digital master dihubungkan ke button dan pin 12 slave dihubungkan ke buzzer, tapi terlebih dahulu operating voltage diturunkan menjadi 2V, lalu kemudian di hubungkan ke ground. Push button berfungsi sebagai input pullup dari master, artinya apabila push button ditekan maka akan berlogika low (0) dan apabila diangkat maka akan berlogika high (1) Arduino Master akan menerima input dari push button. Kemudian Arduino Master akan mentransfer data ke Arduino Slave. Pada Arduino Slave, akan di periksa apakah ada perintah dari Arduino Master. Jika ada, maka buzzer akan hidup atau menyala, begitu juga sebaliknya. Sesuai pada input arduino slave, kondisi awal buzzer mati lalu hidup dengan delay 1000ms.
3. Flowchart[kembali]
A. Master
B. Slave
4. Listing Program[kembali]
A. 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);
}
B. Slave
#define buzzer 12 //Deklarasi pin 12 untuk Buzzer
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(buzzer, OUTPUT); //Deklarasi Buzzer 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(buzzer, LOW);
delay(1000);
digitalWrite(buzzer, HIGH);
delay(1000);
}
else
{
digitalWrite(buzzer, LOW); //Buzzer mati
}
}
5. Video[kembali]
6. Kondisi[kembali]
Percobaan 1 Kondisi 12:
Ganti LED menjadi Buzzer, Buatlah kondisi awal Buzzer mati, lalu hidup dengan delay 1000 ms.
Analisa:
1. Jelaskan pengaruh dari nilai boud rate pada listing program, apa yang terjadi jika nilai boud rate antara master dan slave berbeda?
Jawab:
Nilai boud rate berpengaruh terhadap keluaran pada buzzer. Jika nilai boud rate pada master dan slave berbeda, maka tidak ada suara yang dikeluarkan oleh buzzer. Itu karena fungsi dari boud rate itu sediri adalah menentukan kecepatan pengiriman data. Jadi agar data itu terkirim maka harus ada sinkronisasi antara kedua arduino yaitu memastikan kedua perangkat berkomunikasi dengan konfigurasi yang sama yang disini diatur oleh kecepatan boud rate.
2. Jelaskan rangkaian UART yang digunakan untuk percobaan 1 menggunakan jenis komunikasi simplex, half duplex atau full duplex!
Jawab:
Pada percobaan 1 rangkaian UART menggunakan jenis komunikasi simplex. Yang artinya yaitu komunikasi yang hanya terjadi satu arah tanpa adanya feedback. Pada rangkaian terlihat hanya terjadi pengiriman data dari master ke slave tanpa adanya pengiriman kembali dari slave ke master. Jadi komunikasi pada rangkaian ini tidak interaktif karena informasi hanya dari satu arah saja.
7. Link Download[kembali]
Rangkaian proteus disini
Video simulasi disini
Flowchart Master disini
Flowchart Slave disini
File listing program master disini
File listing program slave disini
Library arduino disini
Datasheet arduino disini
HTML disini
Tidak ada komentar:
Posting Komentar