Arduino tem sido a melhor escolha, especialmente para aqueles que estão interessados em aprender sobre como fazer protótipos de diferentes dispositivos. Essa plataforma também pode ser usada para fazer versões conceituais de dispositivos que ainda não foram introduzidos no mercado. Também criamos um protótipo para a máquina de votação eletrônica que pode ser usada para fins de votação como se possa ser usada para selecionar um candidato ao governo ou pode ser usado para aceitar o consentimento dos funcionários em qualquer empresa.
Fazendo uma máquina de votação usando Arduino Uno
A primeira etapa para criar qualquer dispositivo é criar seu diagrama de circuito e selecionar os componentes que serão necessários para tornar esse dispositivo específico. Então, demos o esquema do circuito seguido pela lista de componentes:
- 1 16 × 2 Crystal Liquid Display
- 4 botões de pressão
- Conectando fios
- Pão de pão
- 1 potenciômetro
- Arduino Uno
Assembléia de hardware para fazer a máquina de votação usando Arduino Uno
Agora, criamos o circuito para a máquina de votação, para ver como esse circuito ficará no hardware real que criamos pela primeira vez uma montagem de hardware de acordo com o circuito dado acima:
Nesta máquina de votação inteligente, usamos os 4 botões de push, três deles são usados para votar e um é para calcular o resultado. No entanto, você pode aumentar ou diminuir o número de botões de pressão, dependendo da sua necessidade. As conexões dos botões são representadas pelos fios marrons que conectam os botões com pinos Arduino 10,9,8,7.
Os pinos de dados do LCD são conectados usando os fios roxos que usaram os pinos 5 a 2 do Arduino Uno. Enquanto os pinos RS e E (Ativar) são conectados a Arduino Uno usando seus 12 e 11 pinos e a conexão é representada pelos fios cinza. Além disso, para ajustar o brilho do LCD, usamos a saída do potenciômetro, conectando -o com o pino V0 do LCD usando o fio verde.
Código Arduino para fazer a máquina de votação usando Arduino Uno
O código escrito para fazer a máquina de votação não é tão difícil. Simplesmente fizemos 3 contadores que aumentarão seus valores ao pressionar seus respectivos botões. Em seguida, usando a condição IF para cada contador, comparamos seus valores com o restante dos contadores, e foi assim que encontramos o vencedor. O respectivo programa Arduino para fazer a máquina de votação é dado abaixo:
#Incluir/* Biblioteca para LCD*/
LiquidCrystallcd (12, 11, 5, 4, 3, 2);/* pinos Arduino para LCD*/
// pinos Arduino para botões */
#Define P1 10
#Define P2 9
#Define P3 8
#Define P4 7
/ * Variáveis para salvar os votos de cada opção */
int v1 = 0;
int v2 = 0;
int v3 = 0;
configuração void ()
/ * Modos de pino para os botões */
pinmode (p1, entrada);
pinmode (p2, entrada);
pinmode (p3, entrada);
pinmode (p4, entrada);
/ * Exiba a linha introdutória */
LCD.começar (16, 2);
LCD.print ("Arduino");
LCD.setCursor (0,1);
LCD.impressão ("máquina de votação");
atraso (4000);
/* atribuindo estados aos botões*/
DigitalWrite (P1, alto);
DigitalWrite (P2, alto);
DigitalWrite (P3, alto);
DigitalWrite (P4, alto);
/ * exibindo as três variáveis de voto */
LCD.claro();
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.impressão (v1);
LCD.setCursor (5,0);
LCD.print ("P2");
LCD.setCursor (5,1);
LCD.impressão (v2);
LCD.setCursor (9,0);
LCD.print ("p3");
LCD.setCursor (9,1);
LCD.impressão (v3);
LCD.setCursor (13,0);
/* Se P1 for pressionado, o incremento de um em seu valor*/
if (DigitalRead (p1) == 0)
v1 ++;
/* Se P2 for pressionado, o incremento de um em seu valor*/
while (DigitalRead (P1) == 0);
if (digitalRead (p2) == 0)
v2 ++;
/* Se p3 for pressionado, o incremento de um em seu valor*/
while (DigitalRead (P2) == 0);
if (digitalRead (p3) == 0)
v3 ++;
/ * Se P2 for pressionado, exiba o resultado */
while (DigitalRead (p3) == 0);
if (DigitalRead (p4) == 0)
int v = v1+v2+v3;
se (v)
/ * Se os votos de P1 forem mais do que os outros, então é o vencedor */
if ((v1> v2 && v1> v3))
LCD.claro();
LCD.print ("P1 é vencedor");
atraso (3000);
LCD.claro();
/ * Se os votos de P2 forem mais do que os outros, então é o vencedor */
caso contrário, se ((v2> v1 && v2> v3))
LCD.claro();
LCD.print ("P2 é vencedor");
atraso (3000);
LCD.claro();
/ * Se os votos de p3 forem mais do que os outros, então é o vencedor */
else if ((v3> v1 && v3> v2))
LCD.claro();
LCD.print ("p3 é vencedor");
atraso (3000);
LCD.claro();
/ * caso contrário, há um empate entre os candidatos ou nenhum voto foi dado a qualquer */
outro
LCD.claro();
LCD.imprimir ("amarrar ou");
LCD.setCursor (0,1);
LCD.print ("sem resultado");
atraso (3000);
LCD.claro();
outro
LCD.claro();
LCD.impressão ("sem votação ...");
atraso (3000);
LCD.claro();
/* Dando zero a todos os candidatos para iniciar a votação novamente*/
v1 = 0; v2 = 0; v3 = 0; v = 0;
LCD.claro();
Demonstração de hardware da máquina de votação inteligente
Depois de criar com êxito a montagem de hardware e compilar o código Arduino, implementamos o conjunto de hardware na placa de ensaio, e pode ser visto na imagem abaixo:
Agora votamos em cada candidato usando os botões de pressão, conforme demonstrado na imagem abaixo:
Agora vamos ver qual é o resultado pressionando o botão:
O primeiro candidato é o vencedor, pois tem mais votos.
No caso de todos os candidatos tiverem votos iguais, haverá um empate entre eles, como mostrado nas imagens subsequentes:
Conclusão
Para tornar o sistema de votação transparente e obter resultados instantâneos, é necessário uma máquina de votação eletrônica. Criamos um protótipo de uma máquina de votação eletrônica usando Arduino Uno que demonstra como podemos usá -lo para fins de votação. Para dar uma imagem clara de como a máquina de votação eletrônica funcionará, fornecemos a montagem de hardware junto com o código Arduino.