- Componentes requeridos:
- Cómo funciona:
- Explicación del circuito:
- Cómo ejecutar el código en Raspberry Pi:
- Explicación de programación:
Raspberry Pi es una placa de desarrollo popular basada en ARM Cortex diseñada para ingenieros electrónicos y aficionados. Es una computadora de placa única que funciona con baja potencia con una muy buena velocidad de procesamiento y memoria. Raspberry Pi se puede usar para realizar diferentes funciones a la vez, como una PC normal, y por eso se llama Mini Computadora en su palma.
Hemos creado una serie de tutoriales de Raspberry Pi, en los que hemos cubierto la Interfaz de Raspberry Pi con todos los componentes básicos, así como algunos proyectos sencillos de Raspberry Pi para empezar.
Aquí vamos a construir una máquina de votación electrónica usando una placa Raspberry Pi. Todos conocemos la Máquina de Votación Electrónica (EVM) que se utiliza para votar en las Elecciones, presionando un simple botón. Ya hemos cubierto la máquina de votación electrónica usando diferentes microcontroladores como EVM con microcontrolador AVR y EVM con Arduino. También hemos construido una máquina de votación en la que el votante se autentica mediante una etiqueta RFID, de modo que solo se pueden contar los votos autenticados.
Esta máquina de votación electrónica que utiliza Raspberry Pi es más simple y fácil, en comparación con los proyectos de nuestra máquina de votación anterior.
Componentes requeridos:
- Raspberry Pi - 1
- LCD 16x2 - 1
- Pulsador - 5
- Tabla de pan - 1
- Cables de conexión
- Resistencia 1K - 1
- Resistencia 10K - 5
- BOTE 10K - 1
- LED - 5
Cómo funciona:
En este proyecto hemos utilizado cuatro botones para votar por cuatro candidatos o partidos. Podemos aumentar el número de candidatos, pero para una mejor comprensión, solo hemos utilizado cuatro aquí. Cuando un votante presiona cualquiera de los cuatro botones, el 'recuento de votos' para el partido o candidato respetado aumenta en uno cada vez. Al mismo tiempo, el LED parpadea y el zumbador suena durante un segundo para indicar que se ha emitido Voto. Una vez completada la votación, tenemos un botón "Resultado", para mostrar los resultados de la votación. Cuando presionamos este botón, la pantalla LCD muestra el nombre del Partido ganador con el no. de votos otorgados a cada partido.
Explicación del circuito:
El diagrama de circuito de este EVM con Raspberry Pi se muestra a continuación. Raspberry Pi controla todo el proceso como leer el botón, incrementar el recuento de votos, generar resultados y mostrar todas las cosas en la pantalla LCD.
Aquí hemos utilizado la placa Raspberry Pi 3 para realizar todas las operaciones en el proyecto y hemos utilizado la biblioteca de cableadoPi para seleccionar y controlar los pines GPIO de Raspberry Pi. También podemos usar Raspberry Pi 2 aquí. Aquí hemos utilizado cinco botones, en los que cuatro se han utilizado para votar por cuatro candidatos / partidos diferentes y un botón se utiliza para mostrar el resultado en la pantalla LCD. Estos cinco botones están conectados directamente a los pines GPIO 21 a 25 de RPI3, con respecto a tierra con resistencia pull-up de 10K para cada uno. Una pantalla LCD de 16x2 está conectada con Raspberry Pi. Los pines de control RS, RW y En están conectados a los pines GPIO 11, GND y 10. Y los pines de datos D4-D7 están conectados a los pines GPIO 6, 5, 4 y 1 de RPI. Un timbreTambién se utiliza para emitir un pitido cuando el votante presiona cualquiera de los botones. Aquí hemos utilizado un LED verde (D5) para indicar que el sistema está listo y el votante puede enviar su voto en la máquina, presionando el botón. Se utiliza un potenciómetro de 10k para controlar el brillo de la pantalla LCD.
Cómo ejecutar el código en Raspberry Pi:
1. En primer lugar, inicie sesión en su Raspberry Pi utilizando SSH con el nombre de usuario predeterminado: 'pi' y la contraseña: 'raspberry'. Aquí hemos utilizado el cliente SSH “Putty for Windows” para conectarnos con Pi a través de Windows. Si está en Linux, puede conectarse directamente a Pi mediante SSH. Hay muchos tutoriales en Internet sobre 'Cómo conectarse con Raspberry Pi usando SSH', por lo que aquí no vamos a entrar en detalles. También debe consultar Cómo comenzar con Raspberry Pi para obtener más información sobre Pi, la instalación del sistema operativo (Raspbian Jessie) y sus requisitos de hardware y software.
2. Ahora ejecute el siguiente comando para abrir un nuevo archivo llamado vote.cy pegue el código (dado en la sección de código a continuación) en el archivo, use la tecla "shift + insertar" para pegar el código.
sudo nano vote.c
3. Después de escribir el código presione ctrl + x y luego presione y para guardar el código y presione enter.
4. Ahora haga que el código sea ejecutable usando el comando dado:
cc -o votando votando.c -lwiringPi -std = c99
5. Finalmente ejecute el código usando el comando dado
sudo./voting
Explicación de programación:
Aquí hemos utilizado mucho lenguaje C familiar para el usuario para escribir el código y la codificación es muy similar a la codificación Arduino. También podemos usar el lenguaje Python para construir este proyecto.
En primer lugar, incluimos archivos de encabezado y definimos pines para LCD; El archivo de encabezado cableadoPi.h se utiliza para controlar los pines GPIO de Pi. Luego, inicialice algunas variables y pines para tomar la entrada de votación y las indicaciones LED.
#incluir
Después de eso, le hemos dado instrucciones a todos los GPIO usados en la función void setup () .
configuración vacía () {if (cableadoPiSetup () == - 1) printf ("ERROR"); pinMode (led1, SALIDA); pinMode (led2, SALIDA); pinMode (led3, SALIDA); pinMode (led4, SALIDA); pinMode (led5, SALIDA); pinMode (zumbido, SALIDA); pinMode (RS, SALIDA);……………….
En código, hemos usado la función digitalRead en void main () para leer el botón presionado.
if (digitalRead (in1) == 0) {vote1 ++; show(); digitalWrite (led1, ALTO); zumbador(); digitalWrite (led1, BAJO); Espere(); }
La función void show () se utiliza para mostrar información de votación en la pantalla LCD con el nombre del partido candidato.
void show () {setCursor (0,0); imprimir ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (voto, "% d", voto1); imprimir (votar); setCursor (6,1); sprintf (voto, "% d", voto2);………………..
Aquí hay algunas funciones más utilizadas en este proyecto:
La función void buzzer () se utiliza para hacer sonar el zumbador como una indicación de que se ha votado. Y anule la función de espera () para el LED D5 (LED verde en el hardware), que muestra que el sistema está listo para votar, cuando el LED está encendido.
zumbador anulado () {digitalWrite (zumbido, ALTO); retraso (1000); digitalWrite (zumbido, BAJO); } void wait () {digitalWrite (led5, LOW); retraso (3000); }
Se utiliza la función void comapare () , para comparar el total de votos de cada uno de los candidatos, para obtener el resultado y mostrar el estado del resultado en la pantalla LCD.
comparar vacío () {claro (); print ("Espere…"); Espere(); if (vote1> vote2 && vote1> vote3 && vote1> vote4) {digitalWrite (led1, HIGH); para (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("Felicidades……."); setCursor (0,1); print ("BJP ganó la elección");…………………
Consulte el código completo a continuación.