PROJECT
Membuat rangkaian komunikasi serial yang menggunakan keyboard dan push button sebagai input arduino nya, saya akan membuat running led dan flip flop.
I. ALAT DAN BAHAN
1. Komputer.
2. Arduino.
3. Software Arduino IDE.
I. ALAT DAN BAHAN
1. Komputer.
2. Arduino.
3. Software Arduino IDE.
4. Push button.
5. LED.
6. Kabel jumper.
7. Resistor.
8. Protoboard.
II. LANGKAH KERJA
1. Carilah refrensi diinternet tentang komunikasi serial input pada arduino.
2. Kemudian pahami refrensi yang di temukan.
3. Setelah memahami refrensinya, mulai menyiapkan alat dan bahan yang diperlukan.
Kalau saya memerlukan alat dan bahan dengan jumlah dibawah ini :
- 7 LED
- 2 push button
- 2 push button
- 2 resistor 10k ohm
- Kabel jumper seperlunya
- Kabel downloader
4. Buka software arduino ide
5. Kemudian mulai membuat program pada software arduino.
Contoh program yang saya buat :
int pb1 = 2;
int pb2 = 3;
int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int led6 = 8;
int led7 = 7;
int push1 = 0;
int push2 = 0;
int val = 0;
void setup() {
pinMode(pb1,INPUT);
pinMode(pb2,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
Serial.begin(9600);
}
void loop() {
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
if (push1 == HIGH){
runned();}
if (push2 == HIGH){
flip();}
if (val == 'a'){
runned();}
if (val == 'z'){
flip();}
}
void flip() {
flip:
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
Serial.print("pb2 ditekan");
Serial.println();
if (push1 == HIGH){
runned();
}
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
digitalWrite(led4,LOW);
digitalWrite(led5,HIGH);
digitalWrite(led6,LOW);
digitalWrite(led7,HIGH);
delay(125);
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,HIGH);
digitalWrite(led7,LOW);
delay(125);
if (val == 'a'){runned();}
goto flip;
}
void runned(){
runned:
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
if (push2 == HIGH){
flip(); }
digitalWrite(led1,HIGH);
delay(50);
digitalWrite(led1, LOW);
delay(50);
digitalWrite(led2, HIGH);
delay(50);
digitalWrite(led2, LOW);
delay(50);
digitalWrite(led3, HIGH);
delay(50);
digitalWrite(led3, LOW);
delay(50);
digitalWrite(led4, HIGH);
delay(50);
digitalWrite(led4, LOW);
delay(50);
digitalWrite(led5, HIGH);
delay(50);
digitalWrite(led5, LOW);
delay(50);
digitalWrite(led6,HIGH);
delay(50);
digitalWrite(led6,LOW);
delay(50);
digitalWrite(led7,HIGH);
delay(50);
digitalWrite(led7,LOW);
delay(50);
Serial.println("pb1 ditekan");
if (val == 'z'){ flip(); }
goto runned;
}
int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int led6 = 8;
int led7 = 7;
int push1 = 0;
int push2 = 0;
int val = 0;
void setup() {
pinMode(pb1,INPUT);
pinMode(pb2,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
Serial.begin(9600);
}
void loop() {
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
if (push1 == HIGH){
runned();}
if (push2 == HIGH){
flip();}
if (val == 'a'){
runned();}
if (val == 'z'){
flip();}
}
void flip() {
flip:
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
Serial.print("pb2 ditekan");
Serial.println();
if (push1 == HIGH){
runned();
}
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
digitalWrite(led4,LOW);
digitalWrite(led5,HIGH);
digitalWrite(led6,LOW);
digitalWrite(led7,HIGH);
delay(125);
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,HIGH);
digitalWrite(led7,LOW);
delay(125);
if (val == 'a'){runned();}
goto flip;
}
void runned(){
runned:
val = Serial.read();
push1 = digitalRead(pb1);
push2 = digitalRead(pb2);
if (push2 == HIGH){
flip(); }
digitalWrite(led1,HIGH);
delay(50);
digitalWrite(led1, LOW);
delay(50);
digitalWrite(led2, HIGH);
delay(50);
digitalWrite(led2, LOW);
delay(50);
digitalWrite(led3, HIGH);
delay(50);
digitalWrite(led3, LOW);
delay(50);
digitalWrite(led4, HIGH);
delay(50);
digitalWrite(led4, LOW);
delay(50);
digitalWrite(led5, HIGH);
delay(50);
digitalWrite(led5, LOW);
delay(50);
digitalWrite(led6,HIGH);
delay(50);
digitalWrite(led6,LOW);
delay(50);
digitalWrite(led7,HIGH);
delay(50);
digitalWrite(led7,LOW);
delay(50);
Serial.println("pb1 ditekan");
if (val == 'z'){ flip(); }
goto runned;
}
6. Setelah program arduino jadi, kemudian kita verify terlebih dahulu.
7. Setelah diverify, jika salah dibenarkan dahulu, jika sudah benar upload ke arduino.
8. Kemudian rangkailah alat dan bahan pada protoboard.
9. Setelah itu mencoba rangkaian tersebut
Perintahnya :
Pada rangkaian :
- PB 1 untuk mengaktifkan running led.
- PB 2 untuk mengaktifkan flip flop.
10. Untuk mencoba pada keyboard bisa menuliskan perintah pada serial monitor.
11. Akan muncul seperti dibawah ini.
12. Pada kolom paling atas ketikkan perintah
Perintah pada Keyboard :
- "a" untuk mengaktifkan running led.
- "z" untuk mengaktifkan flip flop.
13. Hasil dari percobaan saya pada gambar dibawah ini.
13. Selamat mencoba dan mengembangkannya sesuai kreatifitas kalian.
SELAMAT MENCOBA DAN SUKSESS!!!
No comments:
Post a Comment