Arduino bilgi yarışması – Bilgi Yarışması Devresi

Bilgiyi yaymak için paylaş!

Okullar İçin Bilgi Yarışması

Merhabalar, bu projemizde okullarda ve eğitim kurumlarında kullanılabilecek TV tarzı bir yarışma programı yapacağız. Projemizde, bir bilgisayar arayüzü ve bir Arduino arayüzü bulunmaktadır.

Bilgisayar Arayüzü:

Bu arayüz ikili oyuncuyu desteklemekte ve buna 10 adet soru eklenebilmektedir. Ekranın en üstünde iki adet skor tablosu ve bir adet zaman sayacı bulunmaktadır. Orta kısmında soruların gösterildiği büyük bir ekran, onun altında cevapların gözüktüğü dört adet kutucuk bulunmaktadır. Sağ tarafta ise yarışma esnasında hangi soruda olduğunuzu gösteren bir gösterge bulunmaktadır.

Soru Ekleme:

Ana ekranın sağ üst köşesinde bulunan dişliye tıklayarak soru ekleme ekranını açıyoruz.

Soru kaydetme : Ekranın sol kısmındaki bölüme soruları ve cevapları yazdıktan sonra “Kaydet” tuşuna basarak kaydediyoruz.

Soru ekleme : Bir soru kaydettikten sonra yeni soru eklemek için “Soru Ekle” butonuna basıyoruz.

Temizleme :  Yazılan soruları kutulardan temizler. Soruları hafızadan silmez.

Düzenleme : Ekranın sağ bölümündeki soru kutuların üzerine tıklayarak soruları düzenleyebilirsiniz.

Soruları Sil : Kaydettiğiniz tüm soruları siler.

Arduino Arayüzü :

Elektronik arayüzünde iki adet cevap konsolu ve bir adet kontrol kutusu bulunmaktadır.

Cevap Konsolu : Üzerinde dört adet buton bulunmaktadır. Butonlar soldan sağa “A – B – C – D” cevap şıklarını temsil etmektedir.

Kontrol Kutusu : İçerisinde bir adet Arduino Uno ve bir tane buton bulunmaktadır. Üzerindeki kırmızı butona bastığınızda yarışma devreye girer.

Bilgi Yarışmasının Oynanışı 

Programa soruları ekledikten sonra Kontrol kutusunun üzerindeki kırmızı butona tıklayarak oyunu başlatıyoruz. Sorulara cevap vermek için Cevap konsolunun üzerindeki butonlardan birine basıyoruz. Bir sonraki soruya geçmek için sürenin dolmasını bekliyoruz ve kırmızı butona tekrar basıyoruz. Yeni soruya geçine süreyi başlatmak için tekrar kontrol kutusu üzerindeki kırımızı butona basıyoruz. Şimdiden iyi eğlenceler.

Arduino Kodu

boolean cevap[4];
boolean cevap1[4];
boolean tek[4];
boolean tek1[4];
boolean kitle = false;
boolean kitle1 = false;
boolean basla = false;
boolean baslaTek = false;
int ped1 = 0;
void setup() {
  pinMode(2,INPUT);
  Serial.begin(9600);

}

void loop() {
  cevapPed1(analogRead(A0));
  cevapPed2(analogRead(A1));
  basla = digitalRead(2);
  if(cevap[0]==1&&!tek[0]&&!kitle){Serial.write(1);tek[0]=true;kitle=true;}if(cevap[0]==0){tek[0]=false;}
  if(cevap[1]==1&&!tek[1]&&!kitle){Serial.write(2);tek[1]=true;kitle=true;}if(cevap[1]==0){tek[1]=false;}
  if(cevap[2]==1&&!tek[2]&&!kitle){Serial.write(3);tek[2]=true;kitle=true;}if(cevap[2]==0){tek[2]=false;}
  if(cevap[3]==1&&!tek[3]&&!kitle){Serial.write(4);tek[3]=true;kitle=true;}if(cevap[3]==0){tek[3]=false;}
  
  if(basla==1&&!baslaTek){Serial.write(125);baslaTek=true;}if(basla==0){baslaTek=false;}

  if(cevap1[0]==1&&!tek1[0]&&!kitle1){Serial.write(11);tek1[0]=true;kitle1=true;}if(cevap1[0]==0){tek1[0]=false;}
  if(cevap1[1]==1&&!tek1[1]&&!kitle1){Serial.write(12);tek1[1]=true;kitle1=true;}if(cevap1[1]==0){tek1[1]=false;}
  if(cevap1[2]==1&&!tek1[2]&&!kitle1){Serial.write(13);tek1[2]=true;kitle1=true;}if(cevap1[2]==0){tek1[2]=false;}
  if(cevap1[3]==1&&!tek1[3]&&!kitle1){Serial.write(14);tek1[3]=true;kitle1=true;}if(cevap1[3]==0){tek1[3]=false;}
 

  if(Serial.read()==100){
    kitle = false;
    kitle1 = false;
  }

  delay(100);
}

void cevapPed1(int button){
  if(button>700&&button<800){
    cevap[0] = 1;
  }
  else{
    cevap[0] = 0;
  }

  if(button>600&&button<700){
    cevap[1] = 1;
  }
  else{
    cevap[1] = 0;
  }

  if(button>500&&button<600){
    cevap[2] = 1;
  }
  else{
    cevap[2] = 0;
  }

  if(button>300&&button<450){
    cevap[3] = 1;
  }
  else{
    cevap[3] = 0;
  }

  
}

void cevapPed2(int button){
  if(button>700&&button<800){
    cevap1[0] = 1;
  }
  else{
    cevap1[0] = 0;
  }

  if(button>600&&button<700){
    cevap1[1] = 1;
  }
  else{
    cevap1[1] = 0;
  }

  if(button>500&&button<600){
    cevap1[2] = 1;
  }
  else{
    cevap1[2] = 0;
  }

  if(button>300&&button<450){
    cevap1[3] = 1;
  }
  else{
    cevap1[3] = 0;
  }

  
}

Devre Şeması:

Ek Not: Program bilgisayara Arduino bağlamadan çalışmaz.

İndirme Linki : Bilgi Yarışması V0.1 64bit

Bağış Linki : Donate

Bu projenin gelişmesini istiyorsanız siz de bağış yapabilirsiniz.

Neden Bağış Yapmalıyız?

  • Bu ve bunun gibi birçok projenin başlamasına destek olmuş olursunuz.
  • Eğitim sistemimize yenilikçi bir ürün kazandırmış olursunuz.
  • Projeyi yaparken kullanmamız gereken 3 boyutlu yazıcı vb. gibi araç gereçleri satın almamıza destek olmuş olursunuz.
  • Bir üniversite öğrencisi olarak bana maddi destek vermiş olursunuz.

Projeyi satın almak için : 

https://urun.gittigidiyor.com/ev-elektronigi/bilgi-yarismasi-program-ve-arduino-devre-414539902

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir