Jumat, 03 Januari 2014

Revisi BEL CERDAS CERMAT use ARDUINO

kembali lagi kita
ayo kita lanjutin project kmarin tentang BEL CERDAS CERMAT yang pernah kita bahas sebelumnya
tapi saat ini kita revisi lagi mas bro menggunakan tambahan LCD biar lebih keren

ayo saat nya belajar apa salahnya mencoba jangan malas untuk belajar
lansung aja kita ke TKp cekidot,..

contoh program yang akan kita buat,

//Simulasi Lomba Cerdas Cermat Adu Cepat
#include<LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
const int button1 = 10;                                          //deklarasi pin 10 sebagai button1
const int button2 = 11;                                          //deklarasi pin 11 sebagai button2
const int button3 = 12;
const int buzzerLed1 = 2;                                     //deklarasi pin 2 sebagai buzzerLed1
const int buzzerLed2 = 4;
const int buzzerLed3 = 6;

int buttonState1 = 0;                                           
int buttonState2 = 0;
int buttonState3 = 0;
int saklar1 = 0;                                                     
int saklar2 = 0;
int saklar3 = 0;
int tunda = 10;                                                      //variabel tunda diberi nilai 10 mili second
int memori = 0;
void setup ()
{
  pinMode (button1, INPUT);                               //pin button1 sebagai input
  pinMode (button2, INPUT);
  pinMode (button3, INPUT);
  pinMode (9,0);
  pinMode (8,0);
  pinMode (7,0);
  pinMode (buzzerLed1, OUTPUT);                    //buzzerLed1 sebagai output
  pinMode (buzzerLed2, OUTPUT);
  pinMode (buzzerLed3, OUTPUT);
}

void loop ()
{
  buttonState1 = digitalRead (button1);               //membaca sinyal digital (digitalRead) dari
  buttonState2 = digitalRead (button2);               //pin button1,2,3
  buttonState3 = digitalRead (button3);

                                                                              //Pernyataan perulangan kontrol struktur if
  if (buttonState1 == HIGH && saklar2 == 0 && saklar3 == 0)       //persyaratan if
  {
    saklar1++;                                                         //variabel saklar1 ditambahkan 1
   }
  else
  {
     if (buttonState2 == HIGH && saklar1 == 0 && saklar3 == 0)    //persyaratan if ke 2
       {
         saklar2++;                                                    //variabel saklar2 ditambahkan 1
        }
      else
      {
         if (buttonState3 == HIGH  && saklar1 == 0 && saklar2 == 0)
           {
              saklar3++;
            }
           else
            {
               if (buttonState1 == LOW && buttonState2 == LOW && buttonState3 == LOW)
               {                                                             //persyaratan if jika semua tombol low
                  saklar1 = 0; saklar2 = 0; saklar3 = 0;   //variabel saklar1,2,3 = 0
                }
             }
     }
  }

  if (saklar1 == 1 && memori ==0)                                                   //persyaratan if tidak sama dengan 0
  {
    digitalWrite (buzzerLed1, HIGH);                   //pin buzzerLed1 = high
    digitalWrite (buzzerLed2, LOW);                    //pin buzzerLed2 = low
    digitalWrite (buzzerLed3, LOW);
    lcd.clear();
    lcd.begin(16,1);
    lcd.setCursor(5,0);
    lcd.print("Group A");
    memori =1;
    //delay(400);
  
   }
 
   else if (saklar2 ==1 && memori ==0)
   {
          digitalWrite (buzzerLed1, LOW);
          digitalWrite (buzzerLed2, HIGH);
          digitalWrite (buzzerLed3, LOW);
          lcd.clear();
          lcd.begin(16,2);
          lcd.setCursor(5,0);
          lcd.print("Group B");
          memori =1;
          //delay(400);
        
   }
 
   else if (saklar3 ==1 && memori == 0)
 
    {
                digitalWrite (buzzerLed1, LOW);
                digitalWrite (buzzerLed2, LOW);
                digitalWrite (buzzerLed3, HIGH);
                lcd.clear();
                lcd.begin(16,2);
                lcd.setCursor(5,0);
                lcd.print("Group C");
                memori =1;
                //delay(400);
              
     }

   else if(digitalRead(8)==1 && memori ==1)
   {
                   digitalWrite (buzzerLed1, LOW);
                   digitalWrite (buzzerLed2, LOW);
                   digitalWrite (buzzerLed3, LOW);
                   lcd.clear();
                   lcd.begin(16,2);
                   lcd.setCursor(2,0);
                   lcd.print("Jawaban");
                   lcd.setCursor(3,1);
                   lcd.print("Benar");
                   memori =2;
   
   }
   else if (digitalRead(7)==1 && memori ==1)
   {
                   digitalWrite (buzzerLed1, LOW);
                   digitalWrite (buzzerLed2, LOW);
                   digitalWrite (buzzerLed3, LOW);
                   lcd.clear();
                   lcd.begin(16,2);
                   lcd.setCursor(2,0);
                   lcd.print("Jawaban");
                   lcd.setCursor(3,1);
                   lcd.print("Salah");
                   memori =2;
   
   }
 
   else if (digitalRead(9)==1 && memori ==2)
                {
                   digitalWrite (buzzerLed1, LOW);
                   digitalWrite (buzzerLed2, LOW);
                   digitalWrite (buzzerLed3, LOW);
                   lcd.clear();
                   lcd.begin(16,2);
                   lcd.setCursor(2,0);
                   lcd.print("Cerdas Cermat");
                   lcd.setCursor(3,1);
                   lcd.print("Dede Putra");
                   memori =0;
                 }
  delay (tunda);
}
 lalu buatkan simulasi menggunakan simulasi proteus seperti ini maka terlihat hasilnya

terimahkasih sudah mampir di blog saya thanks for u

4 komentar:

  1. Kenapa mesti menggunakan variabel memori???

    BalasHapus
  2. bang, kalaw di tambah pust button satu lagi untuk mematikan atau reset semua nya bisa bang,.?
    kalaw bisa gimana cara nya bang..?
    mohon bantuan nya bang..

    BalasHapus
  3. Bang bagus ni artikelnya.mau nanya nie klo buat 5 peserta bagimna yah...mks

    BalasHapus