1. Kondisi
[kembali]
Buatlah kondisi awal LED mati, lalu hidup berkedip dengan delay 500 ms.
2. Rangkaian Simulasi
[kembali]
3. Flowchart [kembali]
-MASTER
-SLAVE
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 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
}
}
}
//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 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 Simulasi [kembali]
6. Analisa [kembali]
Pada rangkaian inin dilakukan komunikasi UART (Universal Asynchronous Receiver-Transmitter), yaitu komunikasi perangkat lunak yang tidak mempertimbangkan singkronisasi waktu pada penerima dan pengirim data. Disini master akan selalu bernilai HIGH, namun apabila button ditekan maka pin master akan terhubung dengan ground sehingga akan menerima hasil pembacaan LOW. Hasil pembacaan LOW ini selanjutnya akan dikirimkan ke slave untuk memerintahkan slave agar menyalakan lampu LED dengan berkedip-kedip.
7. Link Download [kembali]
Link Download untuk Proteus
Link Download untuk Video
Link Download untuk Program
Link Download untuk Flowchart
Link Download untuk HTML
Link Download untuk Datasheet Arduino
Link Download untuk Video
Link Download untuk Program
Link Download untuk Flowchart
Link Download untuk HTML
Link Download untuk Datasheet Arduino
Tidak ada komentar:
Posting Komentar