Faire une machine à voter en utilisant Arduino Uno
La première étape pour créer n'importe quel appareil consiste à créer son diagramme de circuit et à présélectionner les composants qui seront nécessaires pour fabriquer cet appareil spécifique. Ainsi, nous avons donné le schéma des circuits suivis d'une liste de composants:
Assemblée matérielle pour faire de la machine à voter en utilisant Arduino Uno
Nous avons maintenant créé le circuit pour la machine à voter, donc pour voir à quoi ressemblera ce circuit sur le matériel réel, nous avons créé d'abord un assemblage matériel selon le circuit donné ci-dessus:
Dans cette machine de vote intelligente, nous avons utilisé les 4 boutons poussants trois d'entre eux sont utilisés pour le vote et un est pour calculer le résultat. Cependant, vous pouvez augmenter ou diminuer le nombre de boutons poussoirs en fonction de votre besoin. Les connexions des boutons sont représentées par les fils bruns qui connectent les boutons aux broches Arduino 10,9,8,7.
Les broches de données LCD sont connectées à l'aide des fils violets qui ont utilisé les broches 5 à 2 de l'Arduino Uno. Tandis que les broches RS et E (activer) sont connectées à Arduino Uno en utilisant ses broches 12 et 11 et la connexion est représentée par les fils gris. De plus, pour ajuster la luminosité de l'écran LCD, nous avons utilisé la sortie du potentiomètre en la connectant avec la broche V0 de l'écran LCD à l'aide du fil vert.
Code Arduino pour fabriquer la machine à voter en utilisant Arduino Uno
Le code écrit pour faire la machine à voter n'est pas si difficile. Nous avons simplement fait 3 compteurs qui augmenteront leurs valeurs en appuyant sur leurs boutons respectifs. Ensuite, en utilisant la condition IF pour chaque compteur, nous avons comparé ses valeurs avec le reste des compteurs, et c'est ainsi que nous avons trouvé le gagnant. Le programme Arduino respectif pour la fabrication de la machine à voter est donné ci-dessous:
# include / * bibliothèque pour l'écran LCD * /
LCD liquide (12, 11, 5, 4, 3, 2); / * Broches Arduino pour LCD * /
// broches arduino pour les boutons * /
#define p1 10
#define p2 9
#define p3 8
#define p4 7
/ * Variables pour enregistrer les votes de chaque option * /
int v1 = 0;
int v2 = 0;
int v3 = 0;
void setup()
/ * modes d'épingle pour les boutons * /
PinMode (P1, entrée);
PinMode (P2, entrée);
PinMode (P3, entrée);
PinMode (P4, entrée);
/ * Afficher la ligne d'introduction * /
LCD.commencer (16, 2);
LCD.print ("Arduino");
LCD.setCursor (0, 1);
LCD.print ("Machine de vote");
retard (4000);
/ * attribuer des états aux boutons * /
DigitalWrite (P1, High);
DigitalWrite (P2, High);
DigitalWrite (P3, High);
DigitalWrite (P4, High);
/ * affichant les trois variables de vote * /
LCD.clair();
LCD.setCursor (1, 0);
LCD.print ("p1");
LCD.setCursor (5, 0);
LCD.print ("p2");
LCD.setCursor (9, 0);
LCD.print ("p3");
VOID LOOP ()
LCD.setCursor (1, 0);
LCD.print ("p1");
LCD.setCursor (1, 1);
LCD.imprimer (v1);
LCD.setCursor (5, 0);
LCD.print ("p2");
LCD.setCursor (5, 1);
LCD.imprimer (v2);
LCD.setCursor (9, 0);
LCD.print ("p3");
LCD.SetCursor (9, 1);
LCD.imprimer (v3);
LCD.setCursor (13, 0);
/ * Si p1 est pressé, l'incrément de un dans sa valeur * /
if (DigitalRead (p1) == 0) v1 ++;
/ * Si p2 est pressé, l'incrément de un dans sa valeur * /
tandis que (DigitalRead (p1) == 0);
if (DigitalRead (p2) == 0) v2 ++;
/ * Si p3 est pressé, l'incrément de un dans sa valeur * /
tandis que (DigitalRead (p2) == 0);
if (DigitalRead (p3) == 0) v3 ++;
/ * Si p2 est enfoncé, affichez le résultat * /
tandis que (DigitalRead (p3) == 0);
if (DigitalRead (p4) == 0)
int v = v1 + v2 + v3;
if (v)
/ * Si les votes de P1 sont plus que les autres, c'est le gagnant * /
if ((v1> v2 && v1> v3))
LCD.clair();
LCD.print ("P1 est gagnant");
retard (3000);
LCD.clair();
/ * Si les votes de P2 sont plus que les autres, c'est le gagnant * /
else if ((v2> v1 && v2> v3))
LCD.clair();
LCD.print ("P2 est gagnant");
retard (3000);
LCD.clair();
/ * Si les votes de P3 sont plus que les autres, c'est le gagnant * /
else if ((v3> v1 && v3> v2))
LCD.clair();
LCD.print ("P3 est gagnant");
retard (3000);
LCD.clair();
/ * Sinon, il y a soit un lien entre les candidats, soit aucun vote n'a été donné à aucun * /
autre
LCD.clair();
LCD.imprimer ("attacher ou");
LCD.setCursor (0, 1);
LCD.print ("Aucun résultat");
retard (3000);
LCD.clair();
autre
LCD.clair();
LCD.imprimer ("pas de vote…");
retard (3000);
LCD.clair();
/ * Donner zéro à tous les candidats pour recommencer le vote * /
v1 = 0;
v2 = 0;
v3 = 0;
v = 0;
LCD.clair();
Démonstration matérielle de la machine à voter intelligente
Après avoir réussi à créer l'assemblage matériel et à compiler le code Arduino, nous avons implémenté l'assemblage matériel sur la planche à pain, et il peut être vu dans l'image ci-dessous:
Maintenant, nous avons voté pour chaque candidat en utilisant les boutons de poussée comme démontré dans l'image ci-dessous:
Maintenant, voyez quel est le résultat en appuyant sur le bouton-poussoir:
Le premier candidat est le gagnant car il a plus de votes.
Dans le cas où tous les candidats ont des votes égaux, il y aura un lien entre eux comme indiqué dans les images suivantes:
Conclusion
Pour rendre le système de vote transparent et obtenir des résultats instantanés, il est nécessaire d'une machine à voter électronique. Nous avons créé un prototype d'une machine de vote électronique à l'aide d'Arduino Uno qui montre comment nous pouvons l'utiliser à des fins de vote. Pour donner une image claire de la façon dont la machine à voter électronique fonctionnera, nous avons fourni l'assemblage matériel avec le code Arduino.