資料介紹
描述
介紹
在地鐵系統中,有一個設備可以控制用戶進出通道,反之亦然。在這些設備中,有一個傳感器可以檢測旋轉柵門用戶的接近程度。
當用戶靠近閘機時,需要他通過您的卡才能進入地鐵系統。
但是在這些系統中,很多時候用戶并不知道存在一個傳感器,當用戶靠近旋轉門時允許訪問。
因此,在本文中,您將學習如何實現人機界面,以更好地與地鐵用戶交互信息。
該項目的開發得益于PCBWay 公司為我們的項目生產印刷電路板的支持。
項目的發展
要開發此項目,請參見圖 1,您將了解電路是如何開發的。可以看出,電路非常簡單。連接在數字管腳 8 中的按鈕用于模擬機器中的傳感器,連接在數字管腳 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;
}
在代碼的開頭,代表用戶的接近傳感器和檢測卡通過的傳感器的兩個按鈕的狀態被讀取,如下面的代碼所示。
sensor = digitalRead(PinoSensor);
cartao = digitalRead(PinoCartao);
delay(50);
“delay(50)”用于通過代碼去抖動。在此之后,我們有一個條件來驗證傳感器或卡的狀態是否發生變化。為此,條件將使用卡和傳感器的先前狀態。
如果傳感器的實際狀態或卡的實際狀態與之前的狀態不同,則變量“控制”它將為零。
這個使用變量狀態“Controle”的概念用于允許流代碼在每個條件下僅輸入一次,以在LCD 16 x 2上顯示消息。
下面,您可以看到顯示命令的代碼部分。
if((sensor != EstadoSensor)||(cartao != EstadoCartao))
{
controle = 0;
}
將檢測到卡或傳感器狀態的任何變化,并更改“控制”變量的值。
為方便起見,我們使用16 x 2 LCD來改善用戶與系統之間的通信。這將使用戶更容易使用機器。
為了改善溝通,我們創建了用戶在接近和使用棘輪時可能發生的 4 個條件。這4個條件是:
- LCD 上的信息未被使用;
當條件發生時,命令塊由系統執行。
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上。
- 當用戶接近閘機但未通過卡時,液晶顯示屏上的消息;
當條件發生時,命令塊被執行。
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;
}
致謝
感謝PCBWay支持我們的 YouTube 頻道并生產和組裝質量更好的 PCB。
- Arduino人機界面及接口技術入門 0次下載
- 串口人機界面和普通顯示屏的區別及優勢 5次下載
- MSP430飛機空調車人機界面的設計與研究 5次下載
- 人機界面的基礎指南 1次下載
- 基于NA系列的人機界面操作手冊 0次下載
- 基于INO TOUCH的人機界面操作指南 1次下載
- led照明提高人機界面質量 8次下載
- 使用STM32設計人機界面 (HMI) 0次下載
- 基于STM32的便攜式人機界面系統 20次下載
- 人機界面在低壓斷路器智能測控系統中的應用
- MP系列人機界面操作手冊
- 人機界面的開發與應用
- 交換機人機界面代碼自動生成軟件的設計
- 發電企業DCS 系統人機界面設計原則研究
- 基于VxWorks的無線接收器的人機界面設計與實現
- 人機界面與組態軟件的區別 1042次閱讀
- 人機界面與工控機的區別 1604次閱讀
- 如何編寫人機界面 1050次閱讀
- 人機界面報警信息的設置方法 9023次閱讀
- 基于Android操作系統實現車載人機界面應用程序的設計 2895次閱讀
- 人機界面未來的發展趨勢 3618次閱讀
- 常見的人機界面和PLC通訊故障,及解決方案介紹 1w次閱讀
- 人機界面簡單編程實例介紹 2.3w次閱讀
- 人機界面HMI的8大知識點匯總 5.8w次閱讀
- 人機界面設計案例分析 3.2w次閱讀
- 詳細介紹人機界面的10大常識 8005次閱讀
- 人機界面的發展歷程和組成結構及工作原理,人機界面如何控制plc? 7159次閱讀
- 人機界面設計在工業設計中的應用 2540次閱讀
- 人機界面技術大盤點 1901次閱讀
- 基于Android車載虛擬儀表人機界面設計 1840次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 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開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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次下載 | 免費
評論