一、實(shí)驗(yàn)簡介
1.公交站人流檢測是一項(xiàng)重要的城市交通管理任務(wù),它不僅關(guān)系到公交服務(wù)的效率和質(zhì)量,還與城市交通規(guī)劃和公共安全緊密相關(guān)。首先,公交站人流檢測可以實(shí)時(shí)反饋乘客流量情況,幫助公交公司了解各線路、各站點(diǎn)的客流需求。其次,公交站人流檢測可以為公交公司制定和優(yōu)化運(yùn)營策略提供數(shù)據(jù)支持。再次,公交站人流檢測可以及時(shí)發(fā)現(xiàn)擁擠、擁堵等情況,提醒調(diào)度中心及時(shí)采取措施,保障乘客安全。基于此背景,我們以CW32單片機(jī)為核心,采用公交站人流檢測中常見的紅外線檢測技術(shù),設(shè)計(jì)了一個(gè)公交站人流檢測系統(tǒng),該系統(tǒng)可以連接到網(wǎng)絡(luò)獲取當(dāng)前時(shí)間,并將人流數(shù)據(jù)實(shí)時(shí)上傳到OneNET云平臺進(jìn)行遠(yuǎn)程監(jiān)控。
二、實(shí)驗(yàn)器材
本實(shí)驗(yàn)使用到了CW32-48F大學(xué)計(jì)劃開發(fā)板、ESP8266WIFI模塊、E18-D80NK紅外光電開關(guān)及Keil5開發(fā)環(huán)境。
|
CW32-48F大學(xué)計(jì)劃板
ESP8266WIFI模塊
E18-D80NK紅外光電開關(guān)
E18-D80NK紅外光電開關(guān)
實(shí)物圖
開發(fā)板上預(yù)留了ESP8266WIFI模塊接口,通過串口與ESP8266通信。
【兩個(gè)紅外光電開關(guān)與單片機(jī)接線】:
藍(lán)線 -- GND
棕線 -- 3.3V
黑線 -- PA0、PA4
三、核心代碼
main.c:
//單片機(jī)頭文件
#include "main.h"
//網(wǎng)絡(luò)設(shè)備
#include "esp8266.h"
//網(wǎng)絡(luò)協(xié)議層
#include "onenet.h" //OneNET
//硬件驅(qū)動(dòng)
#include "RTC.h" //CW32RTC
#include "BTIM.h"
#include "usart.h"
#include "Buzzer.h" //板載蜂鳴器
#include "Infrared.h" //紅外光電開關(guān)
#include "Lcd_Driver.h"
#include "LCD_calculate.h"
uint8_t send_flag=0; //數(shù)據(jù)上云控制位
uint16_t count=0,accumulation=0; //count--當(dāng)前站內(nèi)人數(shù),accumulation--累計(jì)人數(shù)
enum State{
STATE_A,
STATE_B,
STATE_C,
STATE_D,
}; //枚舉數(shù)據(jù)類型,包含四個(gè)狀態(tài)
void System_Init(void)
{
Lcd_Init(); //LCD屏初始化
BTIM_Init(); //基本定時(shí)器初始化,調(diào)控?cái)?shù)據(jù)上云頻率
Buzzer_Init(); //蜂鳴器初始化,兩個(gè)紅外光電開關(guān)同時(shí)被遮擋時(shí)發(fā)出聲響警告
Infrared_Init(); //紅外光電開關(guān)初始化
Usart1_Init(115200); //串口1,用于串口調(diào)試助手打印調(diào)試信息
Usart2_Init(115200); //串口2,與ESP8266進(jìn)行通信
TFT_Welcome(); //開機(jī)界面顯示
Gui_DrawFont_GBK16(0,128,GRAY1,WHITE," 網(wǎng)絡(luò)連接中 ");
ESP8266_Init();//聯(lián)網(wǎng),獲取當(dāng)前時(shí)間,接入OneNET云平臺
RTC_ITConfig(RTC_IT_INTERVAL,ENABLE); //開啟RTC周期中斷(RTC中斷開啟的時(shí)機(jī)要在esp8266連接到onenet平后之后)
Gui_DrawFont_GBK16(0,8,WHITE,BLUE," 公交站人流檢測 ");
Gui_DrawLine(0,32,128,32,GRAY1);
Gui_DrawFont_GBK16(0,64,WHITE,BLUE," 站內(nèi)人數(shù):");
TFTShowNumber(4,12,count);
Gui_DrawFont_GBK16(0,96,WHITE,BLUE," 累計(jì)人數(shù):");
TFTShowNumber(6,12,accumulation);
NVIC_EnableIRQ(BTIM1_IRQn); //開啟定時(shí)器中斷,中斷周期10ms
}
int main(void)
{
uint16_t state=0xffff; //紅外光電開關(guān)當(dāng)前狀態(tài)
enum State currentState=STATE_A; //開機(jī)為狀態(tài)A
System_Init(); //系統(tǒng)初始化
while(1)
{
/*模擬乘客進(jìn)站的過程:
1.裝置安裝位置:兩紅外光電傳開關(guān)一前一后安裝在站口
2.假設(shè)站口只允許乘客排隊(duì)依次進(jìn)出
3.乘客進(jìn)站先遮擋紅外光電開關(guān)1
4.乘客繼續(xù)前進(jìn),離開紅外光電開關(guān)1,遮擋紅外光電開關(guān)2
5.站內(nèi)人數(shù)+1,累計(jì)人數(shù)+1
(若過程4中同時(shí)遮擋兩個(gè)紅外光電開關(guān)則蜂鳴器發(fā)出警報(bào),等待工作人員解決故障,不計(jì)數(shù))
*/
/*模擬乘客出站的過程:
1.裝置安裝位置:兩紅外光電傳開關(guān)一前一后安裝在站口
2.假設(shè)站口只允許乘客排隊(duì)依次進(jìn)出
3.乘客出站先遮擋紅外光電開關(guān)2
4.乘客繼續(xù)前進(jìn),離開紅外光電開關(guān)2,遮擋紅外光電開關(guān)1
5.站內(nèi)人數(shù)-1
(若過程4中同時(shí)遮擋兩個(gè)紅外光電開關(guān)則蜂鳴器發(fā)出警報(bào),等待工作人員解決故障,不計(jì)數(shù))
*/
state=CW_GPIOA- >IDR & 0x0011; //獲取兩個(gè)紅外光電開關(guān)數(shù)據(jù)IO當(dāng)前狀態(tài)
if(state==0x0000) Buzzer_RING; //控制蜂鳴器
else Buzzer_OFF;
switch(currentState) //初步模仿狀態(tài)機(jī)編程模式
{
case STATE_A:
if(state==0x0011) currentState=STATE_B; break;
case STATE_B:
if(state==0x0001) currentState=STATE_C;
else if(state==0x0010) currentState=STATE_D; break;
case STATE_C: if(state==0x0010) {count++;accumulation++;currentState=STATE_A;TFTShowNumber(4,12,count);TFTShowNumber(6,12,accumulation);} break;
case STATE_D: if(state==0x0001) {if(count!=0) count--; currentState=STATE_A;TFTShowNumber(4,12,count);} break;
}
if(send_flag)
{
OneNet_SendData(); //數(shù)據(jù)上傳到OneNET
ESP8266_Clear(); //清除緩存
send_flag=0;
}
}
}
```審核編輯 黃宇
-
檢測系統(tǒng)
+關(guān)注
關(guān)注
3文章
968瀏覽量
43635 -
CW32
+關(guān)注
關(guān)注
1文章
233瀏覽量
1049
發(fā)布評論請先 登錄
【CW32模塊使用】SG90舵機(jī)

代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版
不再“盲等”公交!才茂智慧公交數(shù)字站牌助力乘客智慧出行

基于CW32模塊的火焰?zhèn)鞲衅髟O(shè)計(jì)


武漢芯源半導(dǎo)體CW32芯片重慶地區(qū)線下技術(shù)交流會(huì)成功舉辦
武漢芯源半導(dǎo)體成功舉行無錫地區(qū)CW32線下技術(shù)交流研討會(huì)
武漢芯源半導(dǎo)體與長春理工大學(xué)“CW32嵌入式創(chuàng)新實(shí)驗(yàn)室”揭牌
【項(xiàng)目展示】基于CW32的遙控循跡小車

基于CW32的有刷直流電機(jī)控制實(shí)驗(yàn)三:直流電機(jī)閉環(huán)位置和速度控制實(shí)驗(yàn)

CW32數(shù)字電壓電流表軟件進(jìn)階教程-1.電壓電流同時(shí)顯示

CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)五:ADC采樣及顯示

CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

評論