2. Rangkaian Simulasi [KEMBALI]
3. Flowchart [KEMBALI]
//MASTER
//SLAVE
4. Listing Program [KEMBALI]
//MASTER
#define button 2
bool state, lastState;
void setup() {
// put your setup
code here, to run once:
pinMode(button,
INPUT);
Serial.begin(9600);
lastState =
digitalRead(button);
}
void loop() {
// put your main
code here, to run repeatedly:
state =
digitalRead(button);
if(state !=
lastState){
lastState = state;
// TODO: send data
to slave
if(state == 0){
Serial.write('A');
}else{
Serial.write('B');
}
}
delay(10);
}
//SLAVE
#define led 2
void setup() {
// put your setup
code here, to run once:
pinMode(led,
OUTPUT);
Serial.begin(9600);
digitalWrite(led,
LOW);
}
void loop() {
// put your main
code here, to run repeatedly:
if
(Serial.available() > 0) {
char c =
Serial.read();
if (c == 'A') {
digitalWrite(led, HIGH);
} else if(c ==
'B') {
digitalWrite(led, LOW);
}
}
}
5. Analisa
[KEMBALI]A.Buatlah program agar ada 2 pushbutton,1 led dengan 4 kondisi!
//Master
#define
button1 2 //Deklarasi pin 2 untuk button1
#define button2 4 //Deklarasi pin 2 untuk
button2
void
setup() //Semua kode dalam fungsi
ini dieksekusi sekali
{
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
}
void
loop() //Semua kode dalam fungsi
ini dieksekusi berulang
{
int nilai1 = digitalRead(button1);
int nilai2 = digitalRead(button2);
//Button ditekan
if (nilai1 == 1 && nilai2 == 0)
{
Serial.print("1");
}
else if(nilai1== 0 && nilai2== 1)
{
Serial.print("2");
}
else if(nilai1== 0 && nilai2== 0)
{
Serial.print("3");
} else
{Serial.print("4");}
delay(200);
}
//Slave
#define
led 2 //Deklarasi pin 2 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 data1 = Serial.read();
if (data1 == '1') //Jika data yang
dikirimkan berlogika
{
digitalWrite(led, HIGH); //LED menyala
delay(10);
digitalWrite(led, LOW); //LED mati
delay(10);
}
else if (data1 == '2') {
digitalWrite(led, HIGH); //LED menyala
delay(500);
digitalWrite(led, LOW); //LED mati
delay(500);
}
else if (data1 == '3') {
digitalWrite(led, HIGH); //LED menyala
}
else
{
digitalWrite(led, LOW); //LED mati
}}}
6. Video Simulasi [KEMBALI]
7. Link Download [KEMBALI]
Listing Program klik disini
Video Percobaan klik disini

Tidak ada komentar:
Posting Komentar