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

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

3天內(nèi)不再提示

基于CW32的公交站人流檢測系統(tǒng)

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2023-11-17 17:24 ? 次閱讀

一、實(shí)驗簡介

1.公交站人流檢測是一項重要的城市交通管理任務(wù),它不僅關(guān)系到公交服務(wù)的效率和質(zhì)量,還與城市交通規(guī)劃和公共安全緊密相關(guān)。首先,公交站人流檢測可以實(shí)時反饋乘客流量情況,幫助公交公司了解各線路、各站點(diǎn)的客流需求。其次,公交站人流檢測可以為公交公司制定和優(yōu)化運(yùn)營策略提供數(shù)據(jù)支持。再次,公交站人流檢測可以及時發(fā)現(xiàn)擁擠、擁堵等情況,提醒調(diào)度中心及時采取措施,保障乘客安全?;诖吮尘?,我們以CW32單片機(jī)為核心,采用公交站人流檢測中常見的紅外線檢測技術(shù),設(shè)計了一個公交站人流檢測系統(tǒng),該系統(tǒng)可以連接到網(wǎng)絡(luò)獲取當(dāng)前時間,并將人流數(shù)據(jù)實(shí)時上傳到OneNET云平臺進(jìn)行遠(yuǎn)程監(jiān)控。

二、實(shí)驗器材

本實(shí)驗使用到了CW32-48F大學(xué)計劃開發(fā)板、ESP8266WIFI模塊、E18-D80NK紅外光電開關(guān)Keil5開發(fā)環(huán)境。
|
圖片

CW32-48F大學(xué)計劃板
圖片

ESP8266WIFI模塊
圖片

E18-D80NK紅外光電開關(guān)
圖片

E18-D80NK紅外光電開關(guān)
圖片

實(shí)物圖

開發(fā)板上預(yù)留了ESP8266WIFI模塊接口,通過串口與ESP8266通信。

【兩個紅外光電開關(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ū)動
#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--累計人數(shù)
enum State{
STATE_A,
STATE_B,
STATE_C,
STATE_D,
};         //枚舉數(shù)據(jù)類型,包含四個狀態(tài)

void System_Init(void)
{
Lcd_Init();          //LCD屏初始化
BTIM_Init();         //基本定時器初始化,調(diào)控數(shù)據(jù)上云頻率
Buzzer_Init();       //蜂鳴器初始化,兩個紅外光電開關(guān)同時被遮擋時發(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)前時間,接入OneNET云平臺
RTC_ITConfig(RTC_IT_INTERVAL,ENABLE); //開啟RTC周期中斷(RTC中斷開啟的時機(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," 累計人數(shù):");
TFTShowNumber(6,12,accumulation);
NVIC_EnableIRQ(BTIM1_IRQn);    //開啟定時器中斷,中斷周期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è)站口只允許乘客排隊依次進(jìn)出
3.乘客進(jìn)站先遮擋紅外光電開關(guān)1
4.乘客繼續(xù)前進(jìn),離開紅外光電開關(guān)1,遮擋紅外光電開關(guān)2
5.站內(nèi)人數(shù)+1,累計人數(shù)+1
(若過程4中同時遮擋兩個紅外光電開關(guān)則蜂鳴器發(fā)出警報,等待工作人員解決故障,不計數(shù))
*/
/*模擬乘客出站的過程:
1.裝置安裝位置:兩紅外光電傳開關(guān)一前一后安裝在站口
2.假設(shè)站口只允許乘客排隊依次進(jìn)出
3.乘客出站先遮擋紅外光電開關(guān)2
4.乘客繼續(xù)前進(jìn),離開紅外光電開關(guān)2,遮擋紅外光電開關(guān)1
5.站內(nèi)人數(shù)-1
(若過程4中同時遮擋兩個紅外光電開關(guān)則蜂鳴器發(fā)出警報,等待工作人員解決故障,不計數(shù))
*/
state=CW_GPIOA- >IDR & 0x0011;   //獲取兩個紅外光電開關(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;
}
}
}
```審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 檢測系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    935

    瀏覽量

    42938
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    16658
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    168

    瀏覽量

    502
收藏 人收藏

    評論

    相關(guān)推薦

    CW32快速開發(fā)入門

    CW32快速開發(fā)入門
    的頭像 發(fā)表于 04-24 18:56 ?1685次閱讀
    <b class='flag-5'>CW32</b>快速開發(fā)入門

    公交站配電箱安裝安全用電監(jiān)測終端,實(shí)時監(jiān)測公交車站配電系統(tǒng)漏電電流

    安科瑞 程瑜 云平臺簡介 功能: 通過在公交站配電箱安裝安全用電監(jiān)測終端,實(shí)時監(jiān)測公交車站配電系統(tǒng)漏電電流及水浸狀態(tài),并將監(jiān)測數(shù)據(jù)通過移動網(wǎng)絡(luò)上傳至云端服務(wù)器。管理人員可通過手機(jī)APP、短信及時接收
    的頭像 發(fā)表于 03-05 10:58 ?291次閱讀
    <b class='flag-5'>公交站</b>配電箱安裝安全用電監(jiān)測終端,實(shí)時監(jiān)測<b class='flag-5'>公交</b>車站配電<b class='flag-5'>系統(tǒng)</b>漏電電流

    公交站安全用電云平臺-實(shí)時監(jiān)測公交車站配電系統(tǒng)漏電電流及水浸狀態(tài)Acrelsale1

    功能: 通過在公交站配電箱安裝安全用電監(jiān)測終端,實(shí)時監(jiān)測公交車站配電系統(tǒng)漏電電流及水浸狀態(tài),并將監(jiān)測數(shù)據(jù)通過移動網(wǎng)絡(luò)上傳至云端服務(wù)器。管理人員可通過手機(jī)APP、短信及時接收現(xiàn)場的異常報警信息。安全
    的頭像 發(fā)表于 02-04 08:52 ?220次閱讀
    <b class='flag-5'>公交站</b>安全用電云平臺-實(shí)時監(jiān)測<b class='flag-5'>公交</b>車站配電<b class='flag-5'>系統(tǒng)</b>漏電電流及水浸狀態(tài)Acrelsale1

    公交站安全用電云平臺

    功能: 通過在公交站配電箱安裝安全用電監(jiān)測終端,實(shí)時監(jiān)測公交車站配電系統(tǒng)漏電電流及水浸狀態(tài),并將監(jiān)測數(shù)據(jù)通過移動網(wǎng)絡(luò)上傳至云端服務(wù)器。管理人員可通過手機(jī)APP、短信及時接收現(xiàn)場的異常報警信息。安全
    的頭像 發(fā)表于 01-31 15:56 ?211次閱讀
    <b class='flag-5'>公交站</b>安全用電云平臺

    基于CW32的門禁綜合系統(tǒng)

    基于CW32單片機(jī)的門禁綜合系統(tǒng)是一款功能強(qiáng)大的智能門禁解決方案,它提供了三種開鎖方式:密碼開鎖、指紋開鎖和刷卡開鎖,為用戶提供方便、安全的門禁控制。該系統(tǒng)的核心控制器采用了CW32
    的頭像 發(fā)表于 12-28 11:43 ?1544次閱讀
    基于<b class='flag-5'>CW32</b>的門禁綜合<b class='flag-5'>系統(tǒng)</b>

    基于CW32單片機(jī)的公交站人流檢測系統(tǒng)設(shè)計

    需求。其次,公交站人流檢測可以為公交公司制定和優(yōu)化運(yùn)營策略提供數(shù)據(jù)支持。再次,公交站人流
    的頭像 發(fā)表于 11-30 14:25 ?788次閱讀
    基于<b class='flag-5'>CW32</b>單片機(jī)的<b class='flag-5'>公交站</b><b class='flag-5'>人流</b><b class='flag-5'>檢測</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于GPRS的智能公交站牌顯示系統(tǒng)設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于GPRS的智能公交站牌顯示系統(tǒng)設(shè)計.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:12 ?3次下載
    基于GPRS的智能<b class='flag-5'>公交站</b>牌顯示<b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于CW32的智能語音分類垃圾桶設(shè)計

    基于CW32的智能語音分類垃圾桶設(shè)計
    的頭像 發(fā)表于 11-06 16:51 ?894次閱讀
    基于<b class='flag-5'>CW32</b>的智能語音分類垃圾桶設(shè)計

    基于CW32的無刷水泵方案

    基于CW32的無刷水泵方案
    的頭像 發(fā)表于 11-03 17:28 ?683次閱讀
    基于<b class='flag-5'>CW32</b>的無刷水泵方案

    基于CW32的物聯(lián)網(wǎng)應(yīng)用

    CW32】基于CW32的物聯(lián)網(wǎng)應(yīng)用
    的頭像 發(fā)表于 11-02 15:55 ?607次閱讀
    基于<b class='flag-5'>CW32</b>的物聯(lián)網(wǎng)應(yīng)用

    基于CW32的RC522刷卡模塊的應(yīng)用

    基于CW32的RC522刷卡模塊的應(yīng)用
    的頭像 發(fā)表于 11-02 14:53 ?872次閱讀
    基于<b class='flag-5'>CW32</b>的RC522刷卡模塊的應(yīng)用

    2023電賽A題國獎CW32 開源分享

    電賽A題開源分享,主控為CW32
    的頭像 發(fā)表于 11-02 10:16 ?2047次閱讀
    2023電賽A題國獎<b class='flag-5'>CW32</b> 開源分享

    基于CW32熱敏電阻采集溫度應(yīng)用

    基于CW32熱敏電阻采集溫度應(yīng)用
    的頭像 發(fā)表于 10-25 16:45 ?428次閱讀
    基于<b class='flag-5'>CW32</b>熱敏電阻采集溫度應(yīng)用

    CW32實(shí)時時鐘(RTC)介紹

    CW32實(shí)時時鐘(RTC)介紹
    的頭像 發(fā)表于 10-24 15:36 ?926次閱讀
    <b class='flag-5'>CW32</b>實(shí)時時鐘(RTC)介紹

    CW32 PWM輸出功能介紹

    CW32 PWM輸出功能介紹
    的頭像 發(fā)表于 09-27 16:12 ?647次閱讀
    <b class='flag-5'>CW32</b> PWM輸出功能介紹