Étape 1: Télécharger code pour arduino et vous avez terminé
#include
initialiser la bibliothèque avec les numéros des broches interface lcd innovente (12, 11, 5, 4, 3, 2) ; int user_n ; int num ; iii int = 0 ;
int n = 1 ; int vote [6] = {0,0,0,0,0,0} ; int flaggg = 0 ; int flagg = 5 ; int niveau = 0 ; int flagggg = 0 ; int pbutton2 = 0 ; int m ; nn int = 0 ; int neuf = 9 ; #include int clé = 15 ; int Clé2 = 14 ; bouton p int = 0; //for f; lag const byte rangs = 4 ; quatre rangs const byte COLS = 3 ; trois colonnes char clés [lignes] [colonnes] = {{"A", "B", "C"}, {a ', « E », « F »}, {« G », « H », « I »}, {suis 'K', 'L','}} ;
const byte ROWS2 = 4 ; octet de const quatre rangées COLS2 = 3 ; trois colonnes char keys2 [ROWS2] [COLS2] = {{« n », « O », « P »}, {« Q », « R », de "}, {' t ', « U », « W »}, {'* «, » > «, » <'},} ; rowPins Byte [rangs] = {41, 43, 45, 47} ; se connecter pour le brochage de rangée de la clavier octets colPins [CDL] = {49, 51, 53} ; se connecter à la liste des broches colonne du clavier
rowPins2 Byte [ROWS2] = {22, 24, 26, 28} ; se connecter pour le brochage de rangée de la colPins2 octets de clavier [COLS2] = {30, 32, 34} ;
Clavier clavier = clavier (makeKeymap(keys), rowPins, colPins, lignes, colonnes); //Main fonction Démarrer clavier clavier keypad2 = clavier (makeKeymap(keys2), rowPins2, colPins2, ROWS2, COLS2) ;
void setup() {//runs pinMode(key,INPUT) qu’une seule fois ; //set contraste du lcd analogWrite(nine,370) ; pinMode(key2,INPUT) ; pinMode (neuf, sortie)
Serial.Begin(9600) ; } char nom [5] [20]: tableau de //double pour le nom des candidats
void enter() {clé char = keypad.getKey() ; char Clé2 = keypad2.getKey() ;
Si (clé) {Serial.println(key) ; bouton p = 5;} if(key2) {Serial.println(key2) ; bouton p = 5;}
} void setupdisplay() {lcd.begin (8, 2); lcd.setCursor(2,0) ; lcd.print ("candidats pas") ; 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 ("Appuyez sur tout") ; 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 ("entrez numéro de") ; 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;} si (keyb22 =='< ' & & n! = 0) {n = n-1;} si (keyb22 =='> ' & & n! = 5) {n = n + 1;} delay(100) ;
}
LCD.Begin (8, 2) ; lcd.setCursor(0,0) ; LCD.Print ("vous avez choisi") ; LCD.Begin (8, 2) ; lcd.setCursor(0,1) ; LCD.Print(m) ; lcd.setCursor(4,1) ; LCD.Print (« candidats ») ; Delay(1000) ; pbutton2 = 9 ;
Return(m) ;
}
char keyb() {}
clé char = keypad.getKey() ; Si (clé) {Serial.println(key) ; bouton p = 5;} return(key) ;
}
char keyb2() {char Clé2 = keypad2.getKey() ;
if(key2) {Serial.println(key2) ; bouton p = 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() {bouton p = 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.setCursor(0,0) ; lcd.begin (8, 2), lcd.print ("Entrez nom de") ; LCD.Begin (8, 2) ; lcd.setCursor(0,1) ; LCD.Print("candidate:") ; lcd.setCursor(12,1) ; LCD.Print(user_n) ; Delay(1000) ; tandis que (k2! ='* ') {k1 = « $»; k2 = « $»; k1=keyb() ; k2=keyb2() ; if(k1) {nom [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) {nom if(k2!='*') [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 ("nom sauvegardé!") ; Delay(1000) ; user_n = user_n-1 ; Flagg = 5 ; nn = 0 ;
} //END TOUT EN BOUCLE POUR LE NUMÉRO D’INSCRIPTION DE L’UTILISATEUR
systemready() ;
}
Sub systemready()
{
if(flaggy==0) {lcd.begin (8, 2); lcd.setCursor(0,0) ; lcd.print ("s’il vous plaît choisir"); lcd.setCursor(0,1) ; lcd.print ("le candidat"); delay(1000) ; niveau = 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) ; tandis que (analogRead(key)!=0) {lcd.begin (8, 2); lcd.setCursor(0,0) ; lcd.print ("aucune autorisation") ; lcd.setCursor(0,1) ; LCD.Print ("No Key!!") ; Delay(1000) ;
} if(k2) {si (k2 =='< ' & & n
LCD.Print(name[n][16]) ; Delay(1000) ; }
} Si (k2 =='> ' & & n > 1) {n = n-1 ; lcd.setCursor(0,1) ; lcd.begin (8, 2), lcd.print (« presse * choisir "); 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 (nom [n] [ 14]) ; LCD.Print(name[n][15]) ; LCD.Print(name[n][16]) ; Delay(1000) ; } Si (k2 =='* ' & & analogRead(key)==0) {voter [n] = vote [n] + 1, lcd.begin (8, 2); lcd.setCursor(0,0) ; lcd.print ("Thank you!"); lcd.setCursor(0,1) ; lcd.print ("vous avez voté!"); delay(1000) ; systemready() ;
}
if(K2=='N') {int temp = 0; int grand ; pour (int j’ai = 0; j’ai < = 5; ++ j’ai) {si (vote [i] > temp) {très bien = j’ai ; temp = vote [i];}
} //end de pour lcd.begin (8, 2) ; lcd.setCursor(0,0) ; LCD.Print (« voix du vainqueur: ") ; 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) {nom [1], [iii] =' '; iii = iii + 1;}
III = 0 ;
while(III==19) {nom [2] [iii] =' '; iii = iii + 1;}
III = 0 ;
while(III==19) {nom [3] [iii] =' '; iii = iii + 1;}
III = 0 ; while(III==19) {nom [4] [iii] =' '; iii = iii + 1;} iii = 0 ;
while(III==19) {nom [5] [iii] =' '; iii = iii + 1;} setupdisplay() ; } while(pbutton2==0) {user_n=numberofusers();} entername() ; }