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