資料介紹
描述
介紹
在地鐵系統(tǒng)中,有一個設(shè)備可以控制用戶進出通道,反之亦然。在這些設(shè)備中,有一個傳感器可以檢測旋轉(zhuǎn)柵門用戶的接近程度。
當用戶靠近閘機時,需要他通過您的卡才能進入地鐵系統(tǒng)。
但是在這些系統(tǒng)中,很多時候用戶并不知道存在一個傳感器,當用戶靠近旋轉(zhuǎn)門時允許訪問。
因此,在本文中,您將學習如何實現(xiàn)人機界面,以更好地與地鐵用戶交互信息。
該項目的開發(fā)得益于PCBWay 公司為我們的項目生產(chǎn)印刷電路板的支持。
項目的發(fā)展
要開發(fā)此項目,請參見圖 1,您將了解電路是如何開發(fā)的。可以看出,電路非常簡單。連接在數(shù)字管腳 8 中的按鈕用于模擬機器中的傳感器,連接在數(shù)字管腳 9 中的另一個按鈕用于模擬卡的通過過程。
#include
LiquidCrystal lcd(2,3,4,5,6,7); //LiqyuidCrystal lcd(RS, EN, DB4, DB5, DB6, DB7)
#define PinoSensor 9
#define PinoCartao 8
bool sensor = 0, cartao = 0, controle = 0, EstadoSensor = 0, EstadoCartao = 0;
void setup()
{
for(byte pinos = 2; pinos < 8; pinos++)//Configuracao dos pinos do LCD como saida
{
pinMode(pinos, OUTPUT);
}
lcd.begin(16,2); //Inicializa o display de LCD 16 x 2
lcd.clear();//Limpa a tela do LCD
}
void loop()
{
// put your main code here, to run repeatedly:
sensor = digitalRead(PinoSensor);
cartao = digitalRead(PinoCartao);
delay(50);
if((sensor != EstadoSensor)||(cartao != EstadoCartao))
{
controle = 0;
}
if(sensor == 0 && cartao == 0 && controle == 0)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Metro-Silicios");
lcd.setCursor(6,1);
controle = 1;
}
if(sensor == 1 && cartao == 0 && controle == 0)
{
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Insira o seu");
lcd.setCursor(4,1);
lcd.print("Cartao!");
controle = 1;
}
if(sensor == 0 && cartao == 1 && controle == 0)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Aproxime-se da");
lcd.setCursor(4,1);
lcd.print("Catraca");
controle = 1;
}
if(sensor == 1 && cartao == 1 && controle == 0)
{
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Catraca");
lcd.setCursor(4,1);
lcd.print("Liberada");
controle = 1;
}
EstadoSensor = sensor;
EstadoCartao = cartao;
}
在代碼的開頭,代表用戶的接近傳感器和檢測卡通過的傳感器的兩個按鈕的狀態(tài)被讀取,如下面的代碼所示。
sensor = digitalRead(PinoSensor);
cartao = digitalRead(PinoCartao);
delay(50);
“delay(50)”用于通過代碼去抖動。在此之后,我們有一個條件來驗證傳感器或卡的狀態(tài)是否發(fā)生變化。為此,條件將使用卡和傳感器的先前狀態(tài)。
如果傳感器的實際狀態(tài)或卡的實際狀態(tài)與之前的狀態(tài)不同,則變量“控制”它將為零。
這個使用變量狀態(tài)“Controle”的概念用于允許流代碼在每個條件下僅輸入一次,以在LCD 16 x 2上顯示消息。
下面,您可以看到顯示命令的代碼部分。
if((sensor != EstadoSensor)||(cartao != EstadoCartao))
{
controle = 0;
}
將檢測到卡或傳感器狀態(tài)的任何變化,并更改“控制”變量的值。
為方便起見,我們使用16 x 2 LCD來改善用戶與系統(tǒng)之間的通信。這將使用戶更容易使用機器。
為了改善溝通,我們創(chuàng)建了用戶在接近和使用棘輪時可能發(fā)生的 4 個條件。這4個條件是:
- LCD 上的信息未被使用;
當條件發(fā)生時,命令塊由系統(tǒng)執(zhí)行。
if(sensor == 0 && cartao == 0 && controle == 0)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Metro-Silicios");
lcd.setCursor(6,1);
controle = 1;
}
并且“Subway - Silicios”信息將顯示在LCD 16 x 2上。
- 當用戶接近閘機但未通過卡時,液晶顯示屏上的消息;
當條件發(fā)生時,命令塊被執(zhí)行。
if(sensor == 1 && cartao == 0 && controle == 0)
{
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Insira o seu");
lcd.setCursor(4,1);
lcd.print("Cartao!");
controle = 1;
}
- 用戶通過卡但未靠近閘機時液晶顯示屏上的信息;
當條件發(fā)生時,將執(zhí)行下面的命令塊。
if(sensor == 0 && cartao == 1 && controle == 0)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Aproxime-se da");
lcd.setCursor(4,1);
lcd.print("Catraca");
controle = 1;
}
- 當用戶通過卡片并靠近旋轉(zhuǎn)柵門時,液晶顯示屏上會顯示消息。
當條件發(fā)生時,將執(zhí)行下面的命令塊。
if(sensor == 1 && cartao == 1 && controle == 0)
{
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Catraca");
lcd.setCursor(4,1);
lcd.print("Liberada");
controle = 1;
}
致謝
感謝PCBWay支持我們的 YouTube 頻道并生產(chǎn)和組裝質(zhì)量更好的 PCB。
- Arduino人機界面及接口技術(shù)入門 0次下載
- 串口人機界面和普通顯示屏的區(qū)別及優(yōu)勢 5次下載
- MSP430飛機空調(diào)車人機界面的設(shè)計與研究 5次下載
- 人機界面的基礎(chǔ)指南 1次下載
- 基于NA系列的人機界面操作手冊 0次下載
- 基于INO TOUCH的人機界面操作指南 1次下載
- led照明提高人機界面質(zhì)量 8次下載
- 使用STM32設(shè)計人機界面 (HMI) 0次下載
- 基于STM32的便攜式人機界面系統(tǒng) 20次下載
- 人機界面在低壓斷路器智能測控系統(tǒng)中的應(yīng)用
- MP系列人機界面操作手冊
- 人機界面的開發(fā)與應(yīng)用
- 交換機人機界面代碼自動生成軟件的設(shè)計
- 發(fā)電企業(yè)DCS 系統(tǒng)人機界面設(shè)計原則研究
- 基于VxWorks的無線接收器的人機界面設(shè)計與實現(xiàn)
- 人機界面與組態(tài)軟件的區(qū)別 546次閱讀
- 人機界面與工控機的區(qū)別 705次閱讀
- 如何編寫人機界面 862次閱讀
- 人機界面報警信息的設(shè)置方法 8485次閱讀
- 基于Android操作系統(tǒng)實現(xiàn)車載人機界面應(yīng)用程序的設(shè)計 2780次閱讀
- 人機界面未來的發(fā)展趨勢 3521次閱讀
- 常見的人機界面和PLC通訊故障,及解決方案介紹 1w次閱讀
- 人機界面簡單編程實例介紹 2.2w次閱讀
- 人機界面HMI的8大知識點匯總 5.7w次閱讀
- 人機界面設(shè)計案例分析 3.2w次閱讀
- 詳細介紹人機界面的10大常識 7864次閱讀
- 人機界面的發(fā)展歷程和組成結(jié)構(gòu)及工作原理,人機界面如何控制plc? 6906次閱讀
- 人機界面設(shè)計在工業(yè)設(shè)計中的應(yīng)用 2484次閱讀
- 人機界面技術(shù)大盤點 1833次閱讀
- 基于Android車載虛擬儀表人機界面設(shè)計 1804次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多