- Composants requis:
- Comment ça fonctionne:
- Explication du circuit:
- Comment exécuter le code dans Raspberry Pi:
- Explication de la programmation:
Raspberry Pi est une carte de développement populaire basée sur le cortex ARM conçue pour les ingénieurs électroniques et les amateurs. C'est un ordinateur monocarte fonctionnant à faible consommation avec une très bonne vitesse de traitement et une très bonne mémoire. Raspberry Pi peut être utilisé pour exécuter différentes fonctions à la fois, comme un PC normal, et par conséquent, il est appelé Mini ordinateur dans votre paume.
Nous avons créé une série de didacticiels Raspberry Pi, dans lesquels nous avons couvert l'interfaçage de Raspberry Pi avec tous les composants de base, ainsi que quelques projets Raspberry Pi simples pour commencer.
Ici, nous allons construire une machine de vote électronique en utilisant Raspberry Pi Board. Nous connaissons tous la machine à voter électronique (EVM) qui est utilisée pour voter aux élections, en appuyant sur un simple bouton. Nous avons déjà couvert la machine de vote électronique utilisant différents microcontrôleurs comme EVM avec microcontrôleur AVR et EVM avec Arduino. Nous avons également construit une machine à voter dans laquelle l'électeur est authentifié par étiquette RFID, de sorte que seuls les votes authentifiés puissent être comptés.
Cette machine à voter électronique utilisant Raspberry Pi est plus simple et plus facile, en comparaison avec nos précédents projets de machine à voter.
Composants requis:
- Raspberry Pi - 1
- Écran LCD 16x2 - 1
- Bouton poussoir - 5
- Planche à pain - 1
- Fils de connexion
- Résistance 1K - 1
- Résistance 10K - 5
- POT 10K - 1
- LED - 5
Comment ça fonctionne:
Dans ce projet, nous avons utilisé quatre boutons pour voter pour quatre candidats ou partis. Nous pouvons augmenter le nombre de candidats, mais pour une meilleure compréhension, nous n'en avons utilisé que quatre ici. Lorsqu'un électeur appuie sur l'un des quatre boutons, le «décompte des voix» du parti ou du candidat respecté est augmenté de un à chaque fois. En même temps, la LED clignote et le buzzer émet un bip pendant une seconde pour indiquer que le vote a été donné. Une fois le vote terminé, nous avons un bouton «Résultat», pour afficher les résultats du vote. Lorsque nous appuyons sur ce bouton, l'écran LCD affiche le nom de la partie gagnante avec le non. des voix données à chaque parti.
Explication du circuit:
Le schéma de circuit de cet EVM utilisant Raspberry Pi est donné ci-dessous. Raspberry Pi contrôle l'ensemble du processus comme la lecture du bouton, l'augmentation du nombre de votes, la génération du résultat et l'affichage de toutes les choses sur l'écran LCD.
Ici, nous avons utilisé la carte Raspberry Pi 3 pour effectuer toutes les opérations du projet et utilisé la bibliothèque de câblagePi pour sélectionner et contrôler les broches GPIO de Raspberry Pi. Nous pouvons également utiliser Raspberry Pi 2 ici. Ici, nous avons utilisé cinq boutons, dans lesquels quatre ont été utilisés pour voter pour quatre candidats / partis différents et un bouton est utilisé pour afficher le résultat sur l' écran LCD. Ces cinq boutons sont directement connectés aux broches GPIO 21 à 25 du RPI3, par rapport à la masse avec une résistance de rappel de 10K pour chacun. Un écran LCD 16x2 est connecté au Raspberry Pi. Les broches de commande RS, RW et En sont connectées aux broches GPIO 11, GND et 10. Et la broche de données D4-D7 est connectée aux broches GPIO 6, 5, 4 et 1 de RPI. Un buzzerest également utilisé pour le bip lorsque l'un des boutons est enfoncé par l'électeur. Ici, nous avons utilisé une LED verte (D5) pour indiquer que le système est prêt et que l'électeur peut soumettre son vote dans la machine, en appuyant sur le bouton. Un Pot 10k est utilisé pour contrôler la luminosité de l'écran LCD.
Comment exécuter le code dans Raspberry Pi:
1. Tout d'abord, connectez - vous à votre Raspberry Pi en utilisant SSH avec le nom d'utilisateur par défaut: «pi» et le mot de passe: «raspberry». Ici, nous avons utilisé le client SSH «Putty for Windows» pour se connecter avec Pi via Windows. Si vous êtes sous Linux, vous pouvez vous connecter directement à Pi en utilisant SSH. Il existe de nombreux tutoriels sur Internet sur `` Se connecter avec Raspberry Pi en utilisant SSH '', nous n'allons donc pas ici dans les détails. Vous devriez également vérifier Comment démarrer avec Raspberry Pi pour en savoir plus sur Pi, l'installation du système d'exploitation (Raspbian Jessie) et ses exigences matérielles et logicielles.
2. Exécutez maintenant la commande ci-dessous pour ouvrir un nouveau fichier nommé vote.c et collez le code (donné dans la section code ci-dessous) dans le fichier, utilisez la touche «shift + insert» pour coller le code.
vote sudo nano.c
3. Après avoir écrit le code, appuyez sur ctrl + x, puis appuyez sur y pour enregistrer le code et appuyez sur entrée.
4. Rendez maintenant le code exécutable en utilisant la commande donnée:
cc -o vote vote.c -lwiringPi -std = c99
5. Enfin exécutez le code en utilisant la commande donnée
sudo./voting
Explication de la programmation:
Ici, nous avons utilisé beaucoup de langage C familier pour écrire le code et le codage très similaire au codage Arduino. Nous pouvons également utiliser le langage Python pour construire ce projet.
Tout d'abord, nous incluons des fichiers d'en-tête et définissons des broches pour LCD; Le fichier d'en-tête CâblagePi.h est utilisé pour contrôler les broches GPIO de Pi. Ensuite, initialisez certaines variables et broches pour prendre l'entrée de vote et les indications LED.
#comprendre
Après cela, nous avons donné la direction à tous les GPIO utilisés dans la fonction void setup () .
void setup () {if (câblagePiSetup () == - 1) printf ("ERREUR"); pinMode (led1, SORTIE); pinMode (led2, SORTIE); pinMode (led3, SORTIE); pinMode (led4, SORTIE); pinMode (led5, SORTIE); pinMode (buzz, OUTPUT); pinMode (RS, SORTIE);……………….
Dans le code, nous avons utilisé la fonction digitalRead dans void main () pour lire le bouton enfoncé.
if (digitalRead (in1) == 0) {vote1 ++; spectacle(); digitalWrite (led1, HIGH); avertisseur sonore(); digitalWrite (led1, LOW); attendez(); }
La fonction void show () est utilisée pour afficher les informations de vote sur l'écran LCD avec le nom du parti candidat.
void show () {setCursor (0,0); print ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (vote, "% d", vote1); imprimer (vote); setCursor (6,1); sprintf (vote, "% d", vote2);………………..
Voici quelques autres fonctions utilisées dans ce projet:
La fonction void buzzer () est utilisée pour faire retentir le buzzer pour indiquer que le vote a été donné. Et la fonction void wait () pour la LED D5 (LED verte dans le matériel), qui indique que le système est prêt pour le vote, lorsque la LED est allumée.
buzzer vide () {digitalWrite (buzz, HIGH); retard (1000); digitalWrite (buzz, LOW); } void wait () {digitalWrite (led5, LOW); retard (3000); }
La fonction void comapare () est utilisée, pour comparer le total des votes de chacun des candidats, pour obtenir le résultat et afficher l'état du résultat sur l'écran LCD.
void compare () {clear (); print ("Veuillez patienter…."); attendez(); if (vote1> vote2 && vote1> vote3 && vote1> vote4) {digitalWrite (led1, HIGH); pour (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("Félicitations……."); setCursor (0,1); print ("BJP Won élection");…………………
Vérifiez le code complet ci-dessous.