Stap 1: Upload code voor arduino en u bent klaar
#include
initialiseren van de bibliotheek met de nummers van de pennen van de interface LiquidCrystal lcd (12, 11, 5, 4, 3, 2); int user_n; int num; int iii = 0;
int n = 1; int stemming [6] = {0,0,0,0,0,0}; int flaggg = 0; int flagg = 5; int flaggy = 0; int flagggg = 0; int pbutton2 = 0; int m; int nn = 0; int negen = 9; #include int sleutel = 15; int key2 = 14; int pbutton = 0; //for f; const byte rijen lag = 4; vier rijen const byte COLS = 3; drie kolommen char sleutels [ROWS] [COLS] = {{'A', 'B','C '}, {had', 'E', 'F'}, {'G', 'H', 'Ik'}, {'K', 'L', ben '}};
Const byte ROWS2 = 4; vier rijen const byte COLS2 = 3; drie kolommen char keys2 [ROWS2] [COLS2] = {{"n", 'O', 'P'}, {'Q', 'R', de '}, {'T ', 'U', 'W'}, {'* ',' > ',' <'},}; byte rowPins [ROWS] = {41, 43, 45, 47}; verbinding maken met de rij pinouts van het toetsenblok byte colPins [COLS] = {49, 51, 53}; verbinding maken met de kolom pinouts van het klavier
byte-rowPins2 [ROWS2] = {22, 24, 26, 28}; verbinding maken met de rij pinouts van het toetsenblok byte-colPins2 [COLS2] = {30, 32, 34};
Toetsenbord toetsenbord toetsenbord = (makeKeymap(keys), rowPins, colPins, rijen, COLS); //Main functie om te starten keyboard toetsenbord keypad2 = toetsenbord (makeKeymap(keys2), rowPins2, colPins2, ROWS2, COLS2);
void setup {//runs eenmalig pinMode(key,INPUT), pinMode(key2,INPUT), pinMode (negen, OUTPUT); //set contrast van LCD-analogWrite(nine,370);
Serial.begin(9600); } char naam [5] [20]; //double array voor naam van candidtes
VOID enter() {char sleutel = keypad.getKey(); key2 char = keypad2.getKey();
Als (sleutel) {Serial.println(key); pbutton = 5;} if(key2) {Serial.println(key2); pbutton = 5;}
} ongeldig setupdisplay() {lcd.begin (8, 2); lcd.setCursor(2,0); lcd.print ("niet Candidtes"); LCD.begin (8, 2); lcd.setCursor(5,1); LCD.Print("Added!");
delay(1000); / / STOP INRO 1 lcd.begin (8, 2); lcd.setCursor(3,0); LCD.Print ("druk op om het even welk"); LCD.begin (8, 2); lcd.setCursor(5,1); LCD.Print("button"); delay(1000); / / STOP INRO 1 enter();
}
int numberofusers() {char keyb22 = "a"; int n = 0; if(flaggg==0) {n = 0; flaggg = 1;} while(n!=1000) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print ("Geef aantal"); LCD.begin (8, 2); lcd.setCursor(0,1); LCD.Print("Candidates:"); lcd.setCursor(12,1); LCD.Print(n); keyb22=keyb2(); m = n; num = n; if(keyb22=='*') {n = 1000;} als (keyb22 =='< ' & & n! = 0) {n = n-1;} als (keyb22 =='> ' & & n! = 5) {n = n + 1;} delay(100);
}
LCD.begin (8, 2); lcd.setCursor(0,0); LCD.Print ("u hebben gekozen voor"); LCD.begin (8, 2); lcd.setCursor(0,1); LCD.Print(m); lcd.setCursor(4,1); LCD.Print ("kandidaten"); delay(1000); pbutton2 = 9;
Return(m);
}
char keyb() {}
char sleutel = keypad.getKey(); Als (sleutel) {Serial.println(key); pbutton = 5;} return(key);
}
char keyb2() {char key2 = keypad2.getKey();
if(Key2) {Serial.println(key2); pbutton = 5;} return(key2);
}
VOID error() {pbutton2 = 0, lcd.begin (8, 2), lcd.setCursor(0,0); lcd.print("Error!"); / / lcd.begin (8, 2); lcd.setCursor(0,1); lcd.print("Restarting!"); delay(2000); setupdisplay();
}
VOID reset() {pbutton = 0; pbutton2 = 0; setupdisplay();
}
VOID entername() {int n = 0, m = 0; if (user_n == 0 & & flagggg == 0) {error();} flagggg = 5;
while(user_n!=0) {char k1 = '$', k2 = '$', lcd.begin (8, 2), lcd.setCursor(0,0); lcd.print ("Geef naam van"); LCD.begin (8, 2); lcd.setCursor(0,1); LCD.Print("Candidate:"); lcd.setCursor(12,1); LCD.Print(user_n); delay(1000); terwijl (k2! ='* ') {k1 = '$'; k2 = '$'; k1=keyb(); k2=keyb2(); if(k1) {naam [user_n] [nn] = k1; if(flagg==5) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print("Name"); lcd.setCursor(6,0); lcd.print(user_n); flagg = 0;
} / / lcd.begin (8, 2); LCD.Print("Candidate:"); lcd.setCursor(nn,1); LCD.Print(name[user_n][nn]); LCD.Print(K1); nn = nn + 1;
delay(100);
} else if(k2) {if(k2!='*') naam [user_n] [nn] = k2;
if(Flagg==5) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print("Name"); lcd.setCursor(6,0); lcd.print(user_n); flagg = 0;}
LCD.begin (8, 2); LCD.Print("Candidate:"); lcd.setCursor(nn,1); LCD.Print(name[user_n][nn]); LCD.Print('A');
nn = nn + 1; delay(100);
delay(1000); }} lcd.begin (8, 2); lcd.setCursor(0,0); LCD.Print ("naam opgeslagen!"); delay(1000); user_n = user_n-1; Flagg = 5; nn = 0;
} //END TERWIJL LUS VOOR NUMMER VAN GEBRUIKER
systemready();
}
VOID systemready()
{
if(flaggy==0) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print ("Kies"); lcd.setCursor(0,1); lcd.print ("de kandidaat"); delay(1000); flaggy = 5;} char k2=keyb2(); LCD.begin (8, 2); lcd.setCursor(0,0); LCD.Print(name[n][0]); LCD.Print(name[n][1]); LCD.Print(name[n][2]); LCD.Print(name[n][3]); LCD.Print(name[n][4]); LCD.Print(name[n][5]); LCD.Print(name[n][6]); LCD.Print(name[n][7]); LCD.Print(name[n][8]); LCD.Print(name[n][9]); LCD.Print(name[n][10]); LCD.Print(name[n][11]); LCD.Print(name[n][12]); LCD.Print(name[n][13]); LCD.Print(name[n][14]); LCD.Print(name[n][15]);
LCD.Print(name[n][16]); delay(100); terwijl (de analogRead(key)!=0) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print ('geen toestemming'); lcd.setCursor(0,1); LCD.Print ("geen sleutel!"); delay(1000);
} if(k2) {als (k2 =='< ' & & n
LCD.Print(name[n][16]); delay(1000); }
} Als (k2 =='> ' & & n > 1) {n = n-1; lcd.setCursor(0,1); lcd.begin (8, 2) en lcd.print ("druk op * om te kiezen"); lcd.setCursor(0,0); lcd.print(name[n][0]); lcd.print(name[n][1]); lcd.print(name[n][2]); lcd.print(name[n][3]); lcd.print(name[n][4]); lcd.print(name[n][5]); lcd.print(name[n][6]); lcd.print(name[n][7]); lcd.print(name[n][8]); lcd.print(name[n][9]); lcd.print(name[n][10]); lcd.print(name[n][11]); lcd.print(name[n][12]); lcd.print(name[n][13]); lcd.print (naam [n] [ 14]); LCD.Print(name[n][15]); LCD.Print(name[n][16]); delay(1000); } Als (k2 =='* ' & & analogRead(key)==0) {stemmen [n] = stemming [n] + 1; lcd.setCursor(0,0); lcd.begin (8, 2) en lcd.print ("Thank you!"); lcd.setCursor(0,1); lcd.print ("u heeft gestemd!"); delay(1000); systemready();
}
if(K2=='n') {int temp = 0; int groot; voor (int i = 0; ik < = 5; ++ ik) {als (stemming [i] > temp) {groot = ik; temp = stemming [i];}
} //end van voor lcd.begin (8, 2); lcd.setCursor(0,0); LCD.Print ("winnaar stemmen:"); lcd.setCursor(13,0); LCD.Print(temp);
lcd.setCursor(0,1); LCD.Print(name[Great][0]); LCD.Print(name[Great][1]); LCD.Print(name[Great][2]); LCD.Print(name[Great][3]); LCD.Print(name[Great][4]); LCD.Print(name[Great][5]); LCD.Print(name[Great][6]); LCD.Print(name[Great][7]); LCD.Print(name[Great][8]); LCD.Print(name[Great][9]); LCD.Print(name[Great][10]); LCD.Print(name[Great][11]); LCD.Print(name[Great][12]); LCD.Print(name[Great][13]); LCD.Print(name[Great][14]); LCD.Print(name[Great][15]); LCD.Print(name[Great][16]);
delay(10000); Reset();
}
}
void loop {while(pbutton==0) {while(iii==19) {naam [1] [iii] =' '; iii = iii + 1;}
III = 0;
while(III==19) {naam [2] [iii] =' '; iii = iii + 1;}
III = 0;
while(III==19) {naam [3] [iii] =' '; iii = iii + 1;}
III = 0; while(III==19) {naam [4] [iii] =' '; iii = iii + 1;} iii = 0;
while(III==19) {naam [5] [iii] =' '; iii = iii + 1;} setupdisplay(); } while(pbutton2==0) {user_n=numberofusers()}; entername(); }