Subscribe:
-WELCOME TO ANDI GILANG P BLOGSPOT-

Selasa, 11 Oktober 2016

Komunikasi Serial Arduino dengan Pushbotton dan Keyboard

Komunikasi Serial Arduino dengan Pushbotton dan Keyboard

I. Alat dan Bahan
  1. LED (9buah)
  2. Kabel Jumper Male (18 buah)
  3. Resistor 330 ohm (5 buah)
  4. Arduino UNO (1 buah)
  5. Potensio/VR 100k (1 buah)
  6. Push Button (2 buah)
  7. ProtoBoard (2 buah)
  8. Seperangkat PC
  9. Kabel Data Arduino UNO

II. Tujuan
  *Untuk Melatih kemampuan dalam Memprogram Arduino dengan Logika Logika tertentu dan fungsi fungsi pemograman.

III. Cara kerja
   * Jika Push Button 1 ditekan maka Led akan Menyala secara Running Led dan Led Putih menyala.
   * Jika Push Button 2 ditekan maka Led akan Menyala secara Flip-Flop dan Led Merah menyala.
   * Jika Serial Monitor Menerima data huruf  "r" dari Keyboard maka Led akan Menyala secara               Running dan Led Putih menyala.
  * Jika Serial  Monitor Menerima data huruf "f" dari keyboar maka Led akan Menyala Secara Flip-          Flop dan Led merah menyala.

IV.  Proses Kerja
  1. Nyalakan PC/Komputer dan Buka software Arduino IDE.
  2. Tulis Baris Program.
      berikut Contoh Baris Program yang telah saya buat:

 #define PB A0
#define PBdua A1
#define POT A2
int kondisiPOT = 0;
int kondisiPB = 0;
int kondisiPBdua = 0;
int dataserial = 0;
#define led1 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
#define led7 8
#define ledPB 9
#define ledPBdua 10
void setup() {
  Serial.begin(9600);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
  pinMode(led5,OUTPUT);
  pinMode(led6,OUTPUT);
  pinMode(led7,OUTPUT);
  pinMode(ledPB,OUTPUT);
  pinMode(ledPBdua,OUTPUT);
}

void loop(){
  looping:
   digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
    digitalWrite(ledPB,LOW);
     digitalWrite(ledPBdua,LOW);
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
  Serial.print("UBAH KONDISI");
  Serial.println();
  delay(300);
 if (kondisiPB == HIGH){
  digitalWrite(ledPB,HIGH);
  Serial.print("PB Satu di Tekan");
  Serial.println();
  RunLed(); }
 if (kondisiPBdua == HIGH){
  digitalWrite(ledPBdua,HIGH);
  Serial.print("PB Dua di Tekan");
  Serial.println();
 Flipflop(); }
 if (dataserial == 'r'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard r di Tekan");
  Serial.println();
  RunLed(); }
 if (dataserial == 'f'){
  digitalWrite(ledPBdua,HIGH);
  Serial.print("keyboard f di Tekan");
  Serial.println();
  Flipflop();}

}
void RunLed(){
  digitalWrite(ledPBdua,LOW);
  kondisiPOT = analogRead(POT)+50;
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
   digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
 
   if (kondisiPBdua == HIGH){
  digitalWrite(ledPB,LOW);
  Serial.print("PB dua di tekan");
  Serial.println();
  Flipflop(); }
   if (dataserial == 'f'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard f di tekan");
  Serial.println();
  Flipflop(); }

  digitalWrite(led1,HIGH);
    digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led1,LOW);

   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led2,HIGH);
  digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led2,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led3,HIGH);
  digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led3,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led4,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led4,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led5,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led5,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led6,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led6,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led7,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led7,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
 if (kondisiPBdua == HIGH){
  digitalWrite(ledPB,LOW);
  Serial.print("PB dua di tekan");
  Serial.println();
  Flipflop(); }
 if (dataserial == 'f'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard f di tekan");
  Serial.println();
  Flipflop(); }

  RunLed();
}
void Flipflop(){
  digitalWrite(ledPB,LOW);
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
   digitalWrite(ledPBdua,HIGH);
  digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
  kondisiPOT = analogRead(POT)+100;
  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,HIGH);
  digitalWrite(led5,LOW);
  digitalWrite(led6,LOW);
  digitalWrite(led7,LOW);
delay(kondisiPOT);
  digitalWrite(led7,HIGH);
  digitalWrite(led6,HIGH);
  digitalWrite(led5,HIGH);
  digitalWrite(led3,LOW);
  digitalWrite(led2,LOW);
 digitalWrite(led1,LOW);
delay(kondisiPOT);
if (kondisiPB == HIGH){
  digitalWrite(ledPB,HIGH);
  Serial.print("PB Satu di Tekan");
  Serial.println();
  RunLed();}
if (dataserial == 'r'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard r di tekan");
  Serial.println();
  RunLed();
}
Flipflop();
}

  3. Compile Program tersebut dengan Menekan CTRL+R
  4. Rangkai Rangkaian LED dengan potensio dan Pushbutton
  5. Sambungkan Arduino dengan Port USB pada PC
  6. Periksa Port dan COMM Arduino pada Software Arduino IDE
  7. setelah Port dan COMM tersambung dan terbaca di Software Arduino IDE maka Upload Program  dengan Cara Menekan CTRL+U
  8. Setelah "Done Uploading" maka jalankan Rangkaian Dengan Menekan Keyboard Atau Push Button.
V. Lain Lain




Contoh Video Klik HERE


0 komentar:

Posting Komentar