精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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
    +關注

    關注

    34

    文章

    4411

    瀏覽量

    167103
  • 開發板
    +關注

    關注

    25

    文章

    4949

    瀏覽量

    97204
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186665
  • LCD顯示屏
    +關注

    關注

    1

    文章

    91

    瀏覽量

    13273
收藏 人收藏

    評論

    相關推薦

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino
    的頭像 發表于 11-22 09:24 ?225次閱讀

    嵌入式linux開發板怎么操作

    開發板概述 嵌入式Linux開發板是一種專門為嵌入式系統開發而設計的硬件平臺。它具有體積小、功耗低、性能高等特點,廣泛應用于工業控制、智能家居、醫療設備、汽車
    的頭像 發表于 09-02 09:09 ?328次閱讀

    linux開發板和單片開發的區別

    硬件架構 Linux開發板和單片開發在硬件架構上有很大的區別。Linux開發板通常基于ARM、x86或其他處理器架構,具有較高的處理能力和內存容量。而單片
    的頭像 發表于 08-30 15:30 ?637次閱讀

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?519次閱讀
    RK3588!黑神話悟空,啟動?-迅為<b class='flag-5'>電子</b>RK3588<b class='flag-5'>開發板</b>

    PY32系列單片開發板 常用型號都有 支持Keil,IAR進行開發

    、IOT、傳感器、電動工具、電機控制等領域。 PY32系列單片與大部份國產通用型MCU一樣,支持Keil,IAR進行開發。芯嶺技術提供目前PY32系列主流單片開發板和PY32 li
    的頭像 發表于 05-22 14:48 ?926次閱讀
    PY32系列單片<b class='flag-5'>機</b><b class='flag-5'>開發板</b> 常用型號都有 支持Keil,IAR進行<b class='flag-5'>開發</b>

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

    Arduino Nano Matter開發板,從而將Matter協議引入Arduino生態系統,為廣大的開發人員提供一個快速涉足Matter互聯互通設計的絕佳途徑。
    的頭像 發表于 04-11 17:35 ?617次閱讀
    SiliconLabs攜手<b class='flag-5'>Arduino</b>演示基于MGM240模塊的新型Nano Matter<b class='flag-5'>開發板</b>

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字電路和邏輯功能。FPGA開發板通常包括FPGA芯片、時鐘模塊、電源模塊、輸入輸出接口等組
    的頭像 發表于 03-14 18:20 ?1840次閱讀

    fpga開發板使用教程

    FPGA開發板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發表于 03-14 15:50 ?972次閱讀

    fpga開發板與linux開發板區別

    FPGA開發板與Linux開發板是兩種不同的硬件開發平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA開發板和Linux開發板
    的頭像 發表于 02-01 17:09 ?2090次閱讀

    米爾電子和瑞薩電子推出首款MPU生態開發板瑞米派

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

    51單片開發板的主要功能 51單片開發板能做什么

    51單片開發板是一種基于8051系列單片機芯片的開發板,具有豐富的功能和廣泛的應用。下面將詳細介紹51單片開發板的主要功能以及能夠實現的
    的頭像 發表于 01-23 15:52 ?3422次閱讀

    HC6800-ES V2.0單片開發板學習指南

    電子發燒友網站提供《HC6800-ES V2.0單片開發板學習指南.doc》資料免費下載
    發表于 01-07 09:48 ?12次下載

    51單片開發板原理圖介紹

    電子發燒友網站提供《51單片開發板原理圖介紹.pdf》資料免費下載
    發表于 12-18 09:12 ?4次下載

    小安派Arduino開發板 ,全新支持以太網口

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

    小安派-UNO-ET485 Arduino開發板簡介

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