0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Arduino開發(fā)板的智能電子投票機(jī)

454398 ? 來源:一板網(wǎng) ? 作者:風(fēng)箏 ? 2020-10-20 14:47 ? 次閱讀

本篇文章我們主要介紹如何使用Arduino開發(fā)板制作一款簡(jiǎn)單的智能電子投票機(jī)。該項(xiàng)目的基本思想是制作一種電子投票機(jī),這將有助于消除人工投票系統(tǒng)和之前電子投票系統(tǒng)的欺詐行為。

該系統(tǒng)具有n個(gè)按鍵,其中n是政黨數(shù)量。在這里,投票人將被允許繼續(xù)從按鈕面板中選擇他們的首選候選人。然后將最終投票結(jié)果顯示在LCD上,以使選民滿意。最后,可以通過按結(jié)果按鈕自動(dòng)計(jì)算結(jié)果。

所需的組件

● Arduino UNO開發(fā)板

● 1602 LCD顯示屏

● 4個(gè)按鍵

● 10K電位器

● 連接線

● 面包板

功能框圖

在本文中,我們?yōu)閰⒓舆x舉的四個(gè)不同候選人使用了??四個(gè)按鈕。我們可以根據(jù)要求增加候選人的數(shù)量。當(dāng)任何投票者按下四個(gè)按鈕中的任何一個(gè)時(shí),被投票值將每次增加一。在整個(gè)投票過程之后,可以按下結(jié)果按鈕以顯示結(jié)果。

電路原理

如上圖所示組裝電路。將5個(gè)按鈕分別連接到Arduino的數(shù)字引腳7、6、5、4、3。同樣,將LCD的引腳4、6、11、12、13、14連接到Arduino的數(shù)字引腳13、12、11、10、9、8。

項(xiàng)目的工作過程

在該項(xiàng)目中,Arduino是該系統(tǒng)的心臟和大腦。 Arduino控制著完整的投票過程,例如讀取按鈕、增加投票值、生成結(jié)果以及將投票和結(jié)果發(fā)送到LCD顯示屏。

在這里,我們添加了五個(gè)按鈕,分別代表團(tuán)隊(duì)A、團(tuán)隊(duì)B、團(tuán)隊(duì)C、團(tuán)隊(duì)D,最后一個(gè)按鈕用于計(jì)算并顯示結(jié)果。

下面是該項(xiàng)目的一些圖片,這些圖片清楚地說明了該項(xiàng)目的工作情況。

實(shí)現(xiàn)代碼

#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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4385

    瀏覽量

    166707
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4838

    瀏覽量

    96853
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186357
  • LCD顯示屏
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    13232
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別

    硬件架構(gòu) Linux開發(fā)板和單片機(jī)開發(fā)在硬件架構(gòu)上有很大的區(qū)別。Linux開發(fā)板通常基于ARM、x86或其他處理器架構(gòu),具有較高的處理能力和內(nèi)存容量。而單片
    的頭像 發(fā)表于 08-30 15:30 ?446次閱讀

    SiliconLabs攜手Arduino演示基于MGM240模塊的新型Nano Matter開發(fā)板

    Arduino Nano Matter開發(fā)板,從而將Matter協(xié)議引入Arduino生態(tài)系統(tǒng),為廣大的開發(fā)人員提供一個(gè)快速涉足Matter互聯(lián)互通設(shè)計(jì)的絕佳途徑。
    的頭像 發(fā)表于 04-11 17:35 ?555次閱讀
    SiliconLabs攜手<b class='flag-5'>Arduino</b>演示基于MGM240模塊的新型Nano Matter<b class='flag-5'>開發(fā)板</b>

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺(tái),各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和Linux開發(fā)板
    的頭像 發(fā)表于 02-01 17:09 ?1922次閱讀

    米爾電子和瑞薩電子推出首款MPU生態(tài)開發(fā)板瑞米派

    近日,米爾電子和瑞薩電子共同定義和開發(fā)了瑞薩第一款MPU生態(tài)開發(fā)板——瑞米派(Remi Pi)正式上市了!在各種Pi板卡琳瑯滿目的當(dāng)下,Remi Pi是一款與眾不同的
    的頭像 發(fā)表于 01-25 09:21 ?963次閱讀

    51單片機(jī)開發(fā)板的主要功能 51單片機(jī)開發(fā)板能做什么

    51單片機(jī)開發(fā)板是一種基于8051系列單片機(jī)芯片的開發(fā)板,具有豐富的功能和廣泛的應(yīng)用。下面將詳細(xì)介紹51單片機(jī)開發(fā)板的主要功能以及能夠?qū)崿F(xiàn)的
    的頭像 發(fā)表于 01-23 15:52 ?3086次閱讀

    HC6800-ES V2.0單片機(jī)開發(fā)板學(xué)習(xí)指南

    電子發(fā)燒友網(wǎng)站提供《HC6800-ES V2.0單片機(jī)開發(fā)板學(xué)習(xí)指南.doc》資料免費(fèi)下載
    發(fā)表于 01-07 09:48 ?11次下載

    51單片機(jī)開發(fā)板原理圖介紹

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)開發(fā)板原理圖介紹.pdf》資料免費(fèi)下載
    發(fā)表于 12-18 09:12 ?4次下載

    小安派Arduino開發(fā)板 ,全新支持以太網(wǎng)口

    前面幾款小安派出來的時(shí)候,經(jīng)常有粉絲詢問是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社區(qū)搜索查看,小安派-UNO-ET485 Arduino開發(fā)板來了,兼容UNO的經(jīng)典外形,易
    的頭像 發(fā)表于 12-06 16:00 ?696次閱讀
    小安派<b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)板</b> ,全新支持以太網(wǎng)口

    小安派-UNO-ET485 Arduino開發(fā)板簡(jiǎn)介

    前面幾款小安派出來的時(shí)候,經(jīng)常有粉絲詢問是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社區(qū)搜索查看,小安派-UNO-ET485 Arduino開發(fā)板來了,兼容UNO的經(jīng)典外形,易上手。
    的頭像 發(fā)表于 12-03 09:58 ?837次閱讀
    小安派-UNO-ET485 <b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)板</b>簡(jiǎn)介

    STC15W系列開發(fā)板--兼容51單片機(jī)開發(fā)板--轉(zhuǎn)換座(PCB源文件)

    該文件用于STC單片機(jī)開發(fā)板,用來使用stc15-------stc32G12K128可以直接去華秋打,這樣以前的舊開發(fā)板可以用來學(xué)習(xí)32位最新單片
    發(fā)表于 11-21 10:25 ?0次下載

    Arduino IDE打開開發(fā)板管理器搜索Arduino SAM的開發(fā)板不能找到怎么解決?

    Arduino IDE打開開發(fā)板管理器搜索Arduino SAM的開發(fā)板不能找到怎么解決 可能被墻 也沒有其他源可以替換 或者手動(dòng)安裝這個(gè)開發(fā)板
    發(fā)表于 11-10 08:29

    arduino開發(fā)板12v輸入可以嗎?

    arduino開發(fā)板12v輸入可以嗎,開發(fā)板5v輸出端可能喲300mA的電流,請(qǐng)問板子上的1117能承受那么大的功率嗎
    發(fā)表于 11-08 07:51

    聲控遙控汽車需要什么Arduino開發(fā)板?

    聲控遙控汽車需要什么Arduino開發(fā)板?
    發(fā)表于 11-01 06:21

    51單片機(jī)開發(fā)板QZ_KST_51增強(qiáng)

    51單片機(jī)開發(fā)板QZ_KST_51增強(qiáng)
    發(fā)表于 10-26 16:02 ?6次下載

    基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-25 10:27 ?3次下載
    基于FPGA的C8051F單片<b class='flag-5'>機(jī)</b><b class='flag-5'>開發(fā)板</b>設(shè)計(jì)