Arduino rösta (1 / 1 steg)
Steg 1: Ladda upp koden till arduino och du är klar
#include
initiera bibliotek med numrerar av gränssnittet stiften LiquidCrystal lcd (12, 11, 5, 4, 3, 2); int user_n; int num; int iii = 0;
int n = 1; int omröstning [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 nio = 9. #include int nyckel = 15. int key2 = 14. int pbutton = 0; //for f; släpa const byte rader = 4; fyra rader const byte COLS = 3; tre kolumner char nycklar [rader] [COLS] = {{"A", "B", "C"}, {hade ","E","F"}, {"G","H","I"}, {"K","L", är"}};
CONST byte ROWS2 = 4; fyra rader const byte COLS2 = 3; tre kolumner char keys2 [ROWS2] [COLS2] = {{"n", "O", "P"}, {'Q', 'R','S '}, {'T ","U","W"}, {'* ',' > ',' <'},}; byte rowPins [rader] = {41, 43, 45, 47}; ansluta till rad Stifttilldelningar för knappsatsen byte colPins [COLS] = {49, 51, 53}; ansluta till kolumn Stifttilldelningar för knappsatsen
byte rowPins2 [ROWS2] = {22, 24, 26, 28}; ansluta till rad Stifttilldelningar för knappsatsen byte colPins2 [COLS2] = {30, 32, 34};
Tangentbordet knappsatsen = knappsatsen (makeKeymap(keys), rowPins, colPins, rader, kolumner); //Main funktion för att starta tangentbord Keypad keypad2 = knappsatsen (makeKeymap(keys2), rowPins2, colPins2, ROWS2, COLS2);
void setup() {//runs endast en gång pinMode(key,INPUT), pinMode(key2,INPUT), pinMode (nio, OUTPUT), //set kontrast LCD-analogWrite(nine,370);
Serial.BEGIN(9600); } char namn [5] [20]; //double matris efter namnet på candidtes
void enter() {char nyckel = keypad.getKey(); char key2 = keypad2.getKey();
om (nyckel) {Serial.println(key); pbutton = 5;} if(key2) {Serial.println(key2); pbutton = 5;}
} void setupdisplay() {lcd.begin (8, 2); lcd.setCursor(2,0); lcd.print ("Candidtes inte"); LCD.BEGIN (8, 2); lcd.setCursor(5,1); LCD.Print("Added!");
Delay(1000); / / sluta INRO 1 lcd.begin (8, 2); lcd.setCursor(3,0); LCD.Print ("Tryck någon"); LCD.BEGIN (8, 2); lcd.setCursor(5,1); LCD.Print("button"); Delay(1000); / / sluta 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 ("Ange antal"); 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;} om (keyb22 == "<' & & n! = 0) {n = n-1;} om (keyb22 =='> ' & & n! = 5) {n = n + 1;} delay(100);
}
LCD.BEGIN (8, 2); lcd.setCursor(0,0); LCD.Print ("du har valt"); LCD.BEGIN (8, 2); lcd.setCursor(0,1); LCD.Print(m); lcd.setCursor(4,1); LCD.Print ("kandidater"); Delay(1000); pbutton2 = 9;
Return(m);
}
char keyb() {
char nyckel = keypad.getKey(); om (nyckel) {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; om (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 ("Ange namn"); LCD.BEGIN (8, 2); lcd.setCursor(0,1); LCD.Print("Candidate:"); lcd.setCursor(12,1); LCD.Print(user_n); Delay(1000); medan (k2! ='* ') {k1 = '$'; k2 = '$'; k1=keyb(); k2=keyb2(); if(k1) {namn [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);
} annat if(k2) {if(k2!='*') namn [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 ("namn sparade!"); Delay(1000); user_n = user_n-1; flagg = 5; NN = 0;
} //END MEDAN LOOP FÖR ANTAL ANVÄNDARE INTRÄDE
systemready();
}
void systemready()
{
IF(flaggy==0) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print ("Välj"); lcd.setCursor(0,1); lcd.print ("kandidaten"); 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); samtidigt (analogRead(key)!=0) {lcd.begin (8, 2); lcd.setCursor(0,0); lcd.print ("ingen åtkomst"); lcd.setCursor(0,1); LCD.Print ("ingen nyckel!"); Delay(1000);
} if(k2) {om (k2 == "<' & & n
LCD.Print(Name[n][16]); Delay(1000); }
} om (k2 =='> ' & & n > 1) {n = n-1, lcd.begin (8, 2), lcd.setCursor(0,1), lcd.print ("Press * att välja"); 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 (namn [n] [ 14]). LCD.Print(Name[n][15]); LCD.Print(Name[n][16]); Delay(1000); } om (k2 =='* ' & & analogRead(key)==0) {rösta [n] = omröstning [n] + 1, lcd.begin (8, 2), lcd.setCursor(0,0), lcd.print ("tack!"); lcd.setCursor(0,1); lcd.print ("du har röstat!"); delay(1000); systemready();
}
IF(K2=='n') {int temp = 0; int stor; för (int jag = 0; jag < = 5. ++ jag) {om (omröstning [i] > temp) {bra = jag; temp = omröstning [i];}
} //end av för lcd.begin (8, 2); lcd.setCursor(0,0); LCD.Print ("vinnare röster:"); 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) {namn [1] [iii] = ""; iii = iii + 1;}
III = 0;
While(III==19) {namn [2] [iii] = ""; iii = iii + 1;}
III = 0;
While(III==19) {namn [3] [iii] = ""; iii = iii + 1;}
III = 0; While(III==19) {namn [4] [iii] = ""; iii = iii + 1;} iii = 0;
While(III==19) {namn [5] [iii] = ""; iii = iii + 1;} setupdisplay(); } while(pbutton2==0) {user_n=numberofusers();} entername(); }