1. Hardware[Kembali]
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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
|
//SLAVE
#define led 12 //Deklarasi pin 12 untuk Buzzer
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led, 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(led, HIGH); //Buzzer menyala
}
else
{
digitalWrite(led, LOW); //Buzzer mati
}
}
}
|
5. Video[Kembali]
6. Analisa[Kembali]
Apa fungsi button pada percobaan 1 ?
Peran button pada percobaan 1 adalah memberikan kondisi pada percobaan agar LED berkondisi hidup atau mati. Jenis button yang digunakan pada percobaan adalah button pull up(berlogika 1 saat up, dan berlogika 0 saat down). Pada percobaan ketika button di tekan maka akan berlogika 0 dimana pada program kita telah mengatur saat berlogika 0 lampu led akan hidup, begitupan sebaliknya.
Bagaimana cara transmisi data dari master ke slave ?
pemograman :
Pada master deklarasikan button 2 dan atur button 2 sebagai button jenis pull up. Pada void loop dibuat kondisi jika nilai samadengan 0 (nilai ==0) akan menghasilkan serial print ("1"), dan ketika else Serial.print ("2").
Pada master deklarasikan lampu LED yang berguna untuk melihat hasil dari komunikasi. Jika Serial.data ('1') maka lampu LED akan hidup, jika selain itu maka lampun LED akan mati.
Saat button ditekan nilai pada LED akan berlogika 0, pada program telah kita atur nilainya saat berlogika 0 LED akan hidup, karena sumber Vcc akan langsung mengalir ke beban. Saat button tidak ditekan maka nilai LED akan berlogika 1 yang pada program telah kita atur agar lampu LED mati.
alur tranfer data :
Master membaca nilai button,(ketika nilai == 0 maka serial print("1"), else maka Serial.print ("2") . Data yang terbaca oleh master akan dikirimkan secara serial ke Rx slave. Slave akan menerjemahkan paket data yang dikirimkan oleh master lalu memberi kondisi pada output(LED), jika data == 1 maka lampu akan hidup, lainnya lampu akan mati. Setelah diterjemahkan Slave akan mentransimisikan data secara paralel ke LED sehingga lampu LED dapat hidup atau Mati sesuai kondisi yang diberikan.
Tidak ada komentar:
Posting Komentar