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

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

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

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

jf_qE49KoVBr8 ? 來源:武漢芯源半導(dǎo)體 ? 2023-11-30 14:25 ? 次閱讀

一、實(shí)驗(yàn)簡(jiǎn)介


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

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

wKgZomVDSRSAYiMLAACotqsfaBw510.jpg

【兩個(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云平臺(tái)
  RTC_ITConfig(RTC_IT_INTERVAL,ENABLE); //開啟RTC周期中斷(RTC中斷開啟的時(shí)機(jī)要在esp8266連接到onenet平后之后)
  Gui_DrawFont_GBK16(0,8,WHITE,BLUE," 公交站人流檢測(cè) ");
  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;  
    }
  }
}

四、效果演示

wKgaomVXMKaABEObAAf59ZqVNxk751.jpg

連接網(wǎng)絡(luò)

wKgZomVXMKaAHCUEAAhuz6QoaOI608.jpg

審核編輯:湯梓紅

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635353
  • 檢測(cè)系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    954

    瀏覽量

    43045
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1554

    瀏覽量

    76522
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97483
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    203

    瀏覽量

    645

原文標(biāo)題:基于CW32的公交站人流檢測(cè)系統(tǒng)

文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    CW32單片機(jī)為核心,采用公交站人流檢測(cè)中常見的紅外線檢測(cè)技術(shù),設(shè)計(jì)了一個(gè)
    的頭像 發(fā)表于 11-17 17:24 ?934次閱讀
    基于<b class='flag-5'>CW32</b>的<b class='flag-5'>公交站</b><b class='flag-5'>人流</b><b class='flag-5'>檢測(cè)</b><b class='flag-5'>系統(tǒng)</b>

    基于LABVIEW的公交站點(diǎn)顯示系統(tǒng)的設(shè)計(jì)

    設(shè)計(jì)基于 LABVIEW 的公交站點(diǎn)顯示系統(tǒng)。方法 運(yùn)用圖像化編程語言 LABVIEW 設(shè)計(jì)。結(jié)果 設(shè)計(jì)出來的公交站點(diǎn)顯示系統(tǒng)實(shí)現(xiàn)了預(yù)定的功能。結(jié)論 運(yùn)用 LABVIEW 設(shè)計(jì)
    發(fā)表于 04-09 13:08

    Moxa嵌入式計(jì)算機(jī)在公交站信息顯示系統(tǒng)中有哪些應(yīng)用?

    為什么要在公交站信息顯示系統(tǒng)中應(yīng)用Moxa嵌入式計(jì)算機(jī)?公交乘客從不知道為什么公交車還沒有到達(dá),也不知道還要等多少時(shí)間,這是最困擾乘客的問題之一?,F(xiàn)在,借助于智能
    發(fā)表于 08-08 07:50

    如何設(shè)計(jì)并制作一個(gè)基于單片機(jī)的智能公交自動(dòng)語音報(bào)站系統(tǒng)

    設(shè)計(jì)并制作一個(gè)基于單片機(jī)的智能公交自動(dòng)語音報(bào)站系統(tǒng),系統(tǒng)主要包含硬件和軟件兩個(gè)部分,系統(tǒng)采用STC89C52
    發(fā)表于 11-10 06:02

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    2.智能沖洗功能控制 CW32單片機(jī)通過接收用戶的操作指令,進(jìn)行流量檢測(cè),根據(jù)用戶所需的水流大小和沖洗時(shí)間,精確地控制水泵的工作和停止。 3.智能電量監(jiān)控與節(jié)能功能 智能馬桶內(nèi)置電池或電源模塊
    發(fā)表于 12-20 10:06

    基于CC1110單片機(jī)公交報(bào)站系統(tǒng)的設(shè)計(jì)

    基于CC1110單片機(jī)公交報(bào)站系統(tǒng)主要由CC1110單片機(jī)最小系統(tǒng)和WT588D語音模塊組成,提出了如何實(shí)現(xiàn)語音報(bào)站,通過無線通信Simpl
    發(fā)表于 12-10 17:53 ?94次下載

    公交站預(yù)防漏電事故專用監(jiān)控系統(tǒng)

    公交候車亭等車時(shí),市民看到的夜間炫彩燈光、電子廣告牌、具有來車顯示功能的電子站牌都需要電力供應(yīng),這些供電設(shè)備在為公交站臺(tái)提供能源的同時(shí),其安全性至關(guān)重要,但是公交站漏電事故卻時(shí)有發(fā)生,特別是下雨天
    發(fā)表于 04-27 14:17 ?1094次閱讀

    (畢業(yè)設(shè)計(jì)資料)基于51單片機(jī)公交自動(dòng)報(bào)站系統(tǒng)

    設(shè)計(jì)并制作一個(gè)基于單片機(jī)的智能公交自動(dòng)語音報(bào)站系統(tǒng)系統(tǒng)主要包含硬件和軟件兩個(gè)部分,系統(tǒng)采用STC89C52
    發(fā)表于 11-05 10:35 ?13次下載
    (畢業(yè)設(shè)計(jì)資料)基于51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>公交</b>自動(dòng)報(bào)站<b class='flag-5'>系統(tǒng)</b>

    cw32和stm32的區(qū)別

    cw32和stm32的區(qū)別 CW32和STM32是兩種常見的單片機(jī),被廣泛應(yīng)用于各種電子設(shè)備中。在本文中,我們將深入探討CW32和STM32之間的區(qū)別和優(yōu)劣勢(shì)。 1. 硬件性能 硬件性
    的頭像 發(fā)表于 08-16 11:15 ?4245次閱讀

    CW32單片機(jī)低電壓檢測(cè)器的使用介紹

    CW32單片機(jī)低電壓檢測(cè)器的使用介紹
    的頭像 發(fā)表于 09-18 10:56 ?1089次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>低電壓<b class='flag-5'>檢測(cè)</b>器的使用介紹

    CW32單片機(jī)UART波特率設(shè)置介紹

    CW32單片機(jī)UART波特率設(shè)置介紹
    的頭像 發(fā)表于 10-24 17:35 ?926次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>UART波特率設(shè)置介紹

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹
    的頭像 發(fā)表于 10-24 16:50 ?776次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>UART基本數(shù)據(jù)收發(fā)功能介紹

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹
    的頭像 發(fā)表于 11-09 17:42 ?1068次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>I2C接口讀寫EEPROM芯片介紹

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。圖:CW32的智能馬桶控制板CW32單片機(jī)在智能馬桶的應(yīng)用介紹1.溫度感應(yīng)與控制智能馬
    的頭像 發(fā)表于 12-20 10:09 ?624次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>在智能馬桶的應(yīng)用介紹