0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino开发板的智能电子投票机

454398 来源:一板网 作者:风筝 2020-10-20 14:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本篇文章我们主要介绍如何使用Arduino开发板制作一款简单的智能电子投票机。该项目的基本思想是制作一种电子投票机,这将有助于消除人工投票系统和之前电子投票系统的欺诈行为。

该系统具有n个按键,其中n是政党数量。在这里,投票人将被允许继续从按钮面板中选择他们的首选候选人。然后将最终投票结果显示在LCD上,以使选民满意。最后,可以通过按结果按钮自动计算结果。

所需的组件

● Arduino UNO开发板

● 1602 LCD显示屏

● 4个按键

● 10K电位器

● 连接线

● 面包板

功能框图

在本文中,我们为参加选举的四个不同候选人使用了​​四个按钮。我们可以根据要求增加候选人的数量。当任何投票者按下四个按钮中的任何一个时,被投票值将每次增加一。在整个投票过程之后,可以按下结果按钮以显示结果。

电路原理

如上图所示组装电路。将5个按钮分别连接到Arduino的数字引脚7、6、5、4、3。同样,将LCD的引脚4、6、11、12、13、14连接到Arduino的数字引脚13、12、11、10、9、8。

项目的工作过程

在该项目中,Arduino是该系统的心脏和大脑。 Arduino控制着完整的投票过程,例如读取按钮、增加投票值、生成结果以及将投票和结果发送到LCD显示屏。

在这里,我们添加了五个按钮,分别代表团队A、团队B、团队C、团队D,最后一个按钮用于计算并显示结果。

下面是该项目的一些图片,这些图片清楚地说明了该项目的工作情况。

实现代码

#include
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
#define S1 7
#define S2 6
#define S3 5
#define S4 4
#define S5 3
int vote1=0;
int vote2=0;
int vote3=0;
int vote4=0;
void setup()
{
pinMode(S1, INPUT);
pinMode(S2,INPUT);
pinMode(S3,INPUT);
pinMode(S4,INPUT);
pinMode(S5,INPUT);
lcd.begin(16, 2);
lcd.print(" Electronic ");
lcd.setCursor(0,1);
lcd.print(" Voting Machine ");
delay(4000);
digitalWrite(S1, HIGH);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
digitalWrite(S4, HIGH);
digitalWrite(S5, HIGH);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("A");
lcd.setCursor(5,0);
lcd.print("B");
lcd.setCursor(9,0);
lcd.print("C");
lcd.setCursor(13,0);
lcd.print("D");
}
void loop()
{
lcd.setCursor(1,0);
lcd.print("A");
lcd.setCursor(1,1);
lcd.print(vote1);
lcd.setCursor(5,0);
lcd.print("B");
lcd.setCursor(5,1);
lcd.print(vote2);
lcd.setCursor(9,0);
lcd.print("C");
lcd.setCursor(9,1);
lcd.print(vote3);
lcd.setCursor(13,0);
lcd.print("D");
lcd.setCursor(13,1);
lcd.print(vote4);
if(digitalRead(S1)==0)
vote1++;
while(digitalRead(S1)==0);
if(digitalRead(S2)==0)
vote2++;
while(digitalRead(S2)==0);
if(digitalRead(S3)==0)
vote3++;
while(digitalRead(S3)==0);
if(digitalRead(S4)==0)
vote4++;
while(digitalRead(S4)==0);
if(digitalRead(S5)==0)
{
int vote=vote1+vote2+vote3+vote4;
if(vote)
{
if((vote1 > vote2 && vote1 > vote3 && vote1 > vote4))
{
lcd.clear();
lcd.print("A is Winner");
delay(3000);
lcd.clear();
}
else if((vote2 > vote1 && vote2 > vote3 && vote2 > vote4))
{
lcd.clear();
lcd.print("B is Winner");
delay(3000);
lcd.clear();
}
else if((vote3 > vote1 && vote3 > vote2 && vote3 > vote4))
{
lcd.clear();
lcd.print("C is Winner");
delay(3000);
lcd.clear();
}
else if(vote4 > vote1 && vote4 > vote2 && vote4 > vote3)
{
lcd.setCursor(0,0);
lcd.clear();
lcd.print("D is Winner");
delay(3000);
lcd.clear();
}
else if(vote4 > vote1 && vote4 > vote2 && vote4 > vote3)
{
lcd.setCursor(0,0);
lcd.clear();
lcd.print("D is Winner");
delay(3000);
lcd.clear();
}
else
{
lcd.clear();
lcd.print(" Tie Up Or ");
lcd.setCursor(0,1);
lcd.print(" No Result ");
delay(3000);
lcd.clear();
}
}
else
{
lcd.clear();
lcd.print("No Voting....");
delay(3000);
lcd.clear();
}
vote1=0;vote2=0;vote3=0;vote4=0,vote=0;
lcd.clear();
}
}
编辑:hfy
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    36

    文章

    4631

    浏览量

    178005
  • 开发板
    +关注

    关注

    26

    文章

    6425

    浏览量

    120937
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197471
  • LCD显示屏
    +关注

    关注

    1

    文章

    92

    浏览量

    15593
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Arduino UNO Q开发板部署OpenClaw开源AI智能

    近期 OpenClaw 边缘 AI 火遍开发者社区,百元开发板跑 AI 智能体的演示让无数技术爱好者沸腾!想低成本上手这款开源 AI 智能体,实现本地语音控制、环境感知等实操功能,却苦
    的头像 发表于 03-09 10:03 1437次阅读
    在<b class='flag-5'>Arduino</b> UNO Q<b class='flag-5'>开发板</b>部署OpenClaw开源AI<b class='flag-5'>智能</b>体

    奋斗 STM32 开发板入门手册

    电子发烧友网站提供《奋斗 STM32 开发板入门手册.pdf》资料免费下载
    发表于 01-13 10:44 12次下载

    MCU 开发板大比拼:STM32、ESP32、Arduino、树莓派谁更强?

    嵌入式开发板琳琅满目,STM32、ESP32、Arduino、RaspberryPi各有特色。新手容易纠结:到底哪块适合我的项目?本文整理了一份开发板对比速查表,帮你快速理清思路。一
    的头像 发表于 01-09 19:03 1409次阅读
    MCU <b class='flag-5'>开发板</b>大比拼:STM32、ESP32、<b class='flag-5'>Arduino</b>、树莓派谁更强?

    FRDM-i.MX 91开发板指南

    FRDM-i.MX 91开发板指南 在电子开发领域,开发板的刷操作是一项基础且关键的技能。
    的头像 发表于 12-24 11:30 1190次阅读

    触觉智能RK3506星闪开发板测评报告(下)

    本文基于触觉智能RK3506开发板,上集主要从性能、功耗进行测评,本集将从开发板的外设设计、EMC等可靠性性能进行测评。
    的头像 发表于 12-11 17:00 1503次阅读
    触觉<b class='flag-5'>智能</b>RK3506星闪<b class='flag-5'>开发板</b>测评报告(下)

    STM32 Nucleo-144开发板技术解析与应用指南

    。 STMicroelectronics开发板支持多种连接选项,包括Arduino、ST Zio和Morpho,同时集成了开关模式电源(SMPS),可实现高效的电源管理。该非常适合用于测试不同的性能和功耗配置,因此成为探索想
    的头像 发表于 10-17 14:40 1516次阅读
    STM32 Nucleo-144<b class='flag-5'>开发板</b>技术解析与应用指南

    ‌STM32 Nucleo-64开发板技术解析与应用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64开发板通过由STM32微控制器为概念测试和原型创建提供了一种经济实惠且灵活的途径。该开发板支持ARDUINO
    的头像 发表于 10-16 10:50 988次阅读
    ‌STM32 Nucleo-64<b class='flag-5'>开发板</b>技术解析与应用指南

    投票活动】20+爆款开发板!RK3567、OK527N、VisionFive2 哪个是你最爱?

    电子发烧友携手16家生态厂商发起开发板测评大赛,设OpenHarmony、RISC-V、Rockchip三大赛道,共计21款、160+块开发板,通过评测开发板性能、易用性及创新场景,促
    的头像 发表于 10-14 08:06 1516次阅读
    【<b class='flag-5'>投票</b>活动】20+爆款<b class='flag-5'>开发板</b>!RK3567、OK527N、VisionFive2 哪个是你最爱?

    [投票评选]2025电子发烧友开发板测评大赛--最受欢迎开发板

    call吧,助力开发者生态持续成长! 投票入口: 2025电子发烧友开发板测评大赛--最受欢迎开发板 本次
    发表于 10-13 16:25

    【精选资料】开发板测评大赛作品合集!

    电子发烧友携手16家生态厂商发起开发板测评大赛,设OpenHarmony、RISC-V、Rockchip三大赛道,共计21款、160+块开发板,通过评测开发板性能、易用性及创新场景,促
    的头像 发表于 09-23 08:09 1407次阅读
    【精选资料】<b class='flag-5'>开发板</b>测评大赛作品合集!

    【作品精选】2025电子发烧友开发板测评大赛作品合集!

    大赛详情: 电子发烧友携手 16 家生态厂商发起开发板测评大赛,设 OpenHarmony、RISC - V、Rockchip 三大赛道,共计 21 款、160 + 块开发板,通过评测开发板
    发表于 09-03 15:24

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino
    的头像 发表于 08-08 20:16 3969次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>重新烧录引导程序bootlaoder

    【新品】远距离图传数传模块开发板、蓝牙模块开发板、无线模块开发板

    新品上市图传数传模块开发板蓝牙模块开发板国产无线模块开发板部分型号参与送样文末了解详情↓↓↓EWT611-900NW20S远距离图传数传模块开发板EWT611-900NW20S是一款入
    的头像 发表于 06-12 19:33 1424次阅读
    【新品】远距离图传数传模块<b class='flag-5'>开发板</b>、蓝牙模块<b class='flag-5'>开发板</b>、无线模块<b class='flag-5'>开发板</b>

    【免费试用】开发板评测大赛开启!OH 、RISC-V、Rockchip顶级开发板等你试用~

    技术人的狂欢,开发者的盛宴!2025年最值得期待的硬核赛事——电子发烧友开发板评测大赛正式启动!无论你是开源生态的探索者、芯片架构的极客,还是物联网领域的创新达人,本次大赛三大赛
    的头像 发表于 06-05 08:05 1173次阅读
    【免费试用】<b class='flag-5'>开发板</b>评测大赛开启!OH 、RISC-V、Rockchip顶级<b class='flag-5'>开发板</b>等你试用~

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    Arduino提供了一个开放易学,进入门槛相对较低的开发平台,让电子爱好者对于开源硬件的广泛使用变成了可能。 广泛来说,Arduino指的是一个生态,这里就包括
    发表于 05-13 09:28