4 şıklı bir testin arduino ile okuma deneyi. Aşağıdan yazılım kodlarına ulaşabilirsiniz. Yazılım ara ara geliştirilecektir.
#include
LCD5110 myGLCD(8,9,10,11,12);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
int a = 2;
int b = 3;
int c = 4;
int d = 5;
//int cevaplar[25] = {acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,acevap,bcevap,dcavep,ccevap}
int puan = 10; // soru başına tekabul eden puan
int i,toplamnot,acevap,bcevap,ccevap,dcevap;
void setup() {
myGLCD.InitLCD();
pinMode(a,INPUT);
pinMode(b,INPUT);
pinMode(c,INPUT);
pinMode(d,INPUT);
}
void loop() {
myGLCD.setFont(SmallFont);
myGLCD.print("Toplam Not",CENTER,5);
myGLCD.setFont(BigNumbers);
i=0;
toplamnot=0;
basla:
myGLCD.printNumI(toplamnot,CENTER,8);
acevap = digitalRead(a);
bcevap = digitalRead(b);
ccevap = digitalRead(c);
dcevap = digitalRead(d);
if(acevap == 1 && bcevap == 1 && ccevap == 1 && dcevap == 1){
i++;
delay(1000);
}
switch (i) {
case 1:
if(acevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
case 2:
if(bcevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
case 3:
if(ccevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
case 4:
if(dcevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
case 5:
if(acevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
case 6:
if(ccevap == 1){
toplamnot+=puan;
}
delay(1000);
break;
default:
i=0;
toplamnot=0;
}
goto basla;
}










Yorumlar