一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>地鐵系統(tǒng)的人機(jī)界面開源分享

地鐵系統(tǒng)的人機(jī)界面開源分享

2022-12-13 | zip | 0.44 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

在地鐵系統(tǒng)中,有一個(gè)設(shè)備可以控制用戶進(jìn)出通道,反之亦然。在這些設(shè)備中,有一個(gè)傳感器可以檢測旋轉(zhuǎn)柵門用戶的接近程度。

當(dāng)用戶靠近閘機(jī)時(shí),需要他通過您的卡才能進(jìn)入地鐵系統(tǒng)。

但是在這些系統(tǒng)中,很多時(shí)候用戶并不知道存在一個(gè)傳感器,當(dāng)用戶靠近旋轉(zhuǎn)門時(shí)允許訪問。

因此,在本文中,您將學(xué)習(xí)如何實(shí)現(xiàn)人機(jī)界面,以更好地與地鐵用戶交互信息

該項(xiàng)目的開發(fā)得益于PCBWay 公司為我們的項(xiàng)目生產(chǎn)印刷電路板的支持。

項(xiàng)目的發(fā)展

要開發(fā)此項(xiàng)目,請參見圖 1,您將了解電路是如何開發(fā)的。可以看出,電路非常簡單。連接在數(shù)字管腳 8 中的按鈕用于模擬機(jī)器中的傳感器,連接在數(shù)字管腳 9 中的另一個(gè)按鈕用于模擬卡的通過過程。

?
pYYBAGOX2H6AAdCzAAJahb6GPA4454.png
圖 1 - 數(shù)字地鐵系統(tǒng)。
?
#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;
}

在代碼的開頭,代表用戶的接近傳感器和檢測卡通過的傳感器的兩個(gè)按鈕的狀態(tài)被讀取,如下面的代碼所示。

sensor = digitalRead(PinoSensor);
cartao = digitalRead(PinoCartao);
delay(50);

“delay(50)”用于通過代碼去抖動(dòng)。在此之后,我們有一個(gè)條件來驗(yàn)證傳感器或卡的狀態(tài)是否發(fā)生變化。為此,條件將使用卡和傳感器的先前狀態(tài)。

如果傳感器的實(shí)際狀態(tài)或卡的實(shí)際狀態(tài)與之前的狀態(tài)不同,則變量“控制”它將為零。

這個(gè)使用變量狀態(tài)“Controle”的概念用于允許流代碼在每個(gè)條件下僅輸入一次,以在LCD 16 x 2上顯示消息。

下面,您可以看到顯示命令的代碼部分。

if((sensor != EstadoSensor)||(cartao != EstadoCartao))
 {
   controle = 0;  
 }

將檢測到卡或傳感器狀態(tài)的任何變化,并更改“控制”變量的值。

為方便起見,我們使用16 x 2 LCD來改善用戶與系統(tǒng)之間的通信。這將使用戶更容易使用機(jī)器。

為了改善溝通,我們創(chuàng)建了用戶在接近和使用棘輪時(shí)可能發(fā)生的 4 個(gè)條件。這4個(gè)條件是:

  • LCD 上的信息未被使用;

當(dāng)條件發(fā)生時(shí),命令塊由系統(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上。

  • 當(dāng)用戶接近閘機(jī)但未通過卡時(shí),液晶顯示屏上的消息;

當(dāng)條件發(fā)生時(shí),命令塊被執(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;
 }
  • 用戶通過卡但未靠近閘機(jī)時(shí)液晶顯示屏上的信息;

當(dāng)條件發(fā)生時(shí),將執(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;
 }
  • 當(dāng)用戶通過卡片并靠近旋轉(zhuǎn)柵門時(shí),液晶顯示屏上會(huì)顯示消息。

當(dāng)條件發(fā)生時(shí),將執(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。

Silícios 實(shí)驗(yàn)室感謝UTSOURCE供電子元件。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)