那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CW32的公交站人流檢測系統

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2023-11-17 17:24 ? 次閱讀

一、實驗簡介

1.公交站人流檢測是一項重要的城市交通管理任務,它不僅關系到公交服務的效率和質量,還與城市交通規劃和公共安全緊密相關。首先,公交站人流檢測可以實時反饋乘客流量情況,幫助公交公司了解各線路、各站點的客流需求。其次,公交站人流檢測可以為公交公司制定和優化運營策略提供數據支持。再次,公交站人流檢測可以及時發現擁擠、擁堵等情況,提醒調度中心及時采取措施,保障乘客安全。基于此背景,我們以CW32單片機為核心,采用公交站人流檢測中常見的紅外線檢測技術,設計了一個公交站人流檢測系統,該系統可以連接到網絡獲取當前時間,并將人流數據實時上傳到OneNET云平臺進行遠程監控。

二、實驗器材

本實驗使用到了CW32-48F大學計劃開發板、ESP8266WIFI模塊、E18-D80NK紅外光電開關Keil5開發環境。
|
圖片

CW32-48F大學計劃板
圖片

ESP8266WIFI模塊
圖片

E18-D80NK紅外光電開關
圖片

E18-D80NK紅外光電開關
圖片

實物圖

開發板上預留了ESP8266WIFI模塊接口,通過串口與ESP8266通信。

【兩個紅外光電開關與單片機接線】:

藍線 -- GND

棕線 -- 3.3V

黑線 -- PA0、PA4

三、核心代碼

main.c:
//單片機頭文件
#include "main.h"

//網絡設備
#include "esp8266.h"

//網絡協議層
#include "onenet.h"     //OneNET

//硬件驅動
#include "RTC.h"        //CW32RTC
#include "BTIM.h"
#include "usart.h"
#include "Buzzer.h"     //板載蜂鳴器
#include "Infrared.h"   //紅外光電開關
#include "Lcd_Driver.h"
#include "LCD_calculate.h"

uint8_t send_flag=0;    //數據上云控制位
uint16_t count=0,accumulation=0;  //count--當前站內人數,accumulation--累計人數
enum State{
STATE_A,
STATE_B,
STATE_C,
STATE_D,
};         //枚舉數據類型,包含四個狀態

void System_Init(void)
{
Lcd_Init();          //LCD屏初始化
BTIM_Init();         //基本定時器初始化,調控數據上云頻率
Buzzer_Init();       //蜂鳴器初始化,兩個紅外光電開關同時被遮擋時發出聲響警告
Infrared_Init();     //紅外光電開關初始化
Usart1_Init(115200); //串口1,用于串口調試助手打印調試信息
Usart2_Init(115200); //串口2,與ESP8266進行通信

TFT_Welcome();     //開機界面顯示
Gui_DrawFont_GBK16(0,128,GRAY1,WHITE,"   網絡連接中  ");
ESP8266_Init();//聯網,獲取當前時間,接入OneNET云平臺
RTC_ITConfig(RTC_IT_INTERVAL,ENABLE); //開啟RTC周期中斷(RTC中斷開啟的時機要在esp8266連接到onenet平后之后)
Gui_DrawFont_GBK16(0,8,WHITE,BLUE," 公交站人流檢測 ");
Gui_DrawLine(0,32,128,32,GRAY1);
Gui_DrawFont_GBK16(0,64,WHITE,BLUE," 站內人數:");
TFTShowNumber(4,12,count);
Gui_DrawFont_GBK16(0,96,WHITE,BLUE," 累計人數:");
TFTShowNumber(6,12,accumulation);
NVIC_EnableIRQ(BTIM1_IRQn);    //開啟定時器中斷,中斷周期10ms
}

int main(void)
{
uint16_t state=0xffff;            //紅外光電開關當前狀態
enum State currentState=STATE_A;  //開機為狀態A

System_Init();                    //系統初始化
while(1)
{
/*模擬乘客進站的過程:
1.裝置安裝位置:兩紅外光電傳開關一前一后安裝在站口
2.假設站口只允許乘客排隊依次進出
3.乘客進站先遮擋紅外光電開關1
4.乘客繼續前進,離開紅外光電開關1,遮擋紅外光電開關2
5.站內人數+1,累計人數+1
(若過程4中同時遮擋兩個紅外光電開關則蜂鳴器發出警報,等待工作人員解決故障,不計數)
*/
/*模擬乘客出站的過程:
1.裝置安裝位置:兩紅外光電傳開關一前一后安裝在站口
2.假設站口只允許乘客排隊依次進出
3.乘客出站先遮擋紅外光電開關2
4.乘客繼續前進,離開紅外光電開關2,遮擋紅外光電開關1
5.站內人數-1
(若過程4中同時遮擋兩個紅外光電開關則蜂鳴器發出警報,等待工作人員解決故障,不計數)
*/
state=CW_GPIOA- >IDR & 0x0011;   //獲取兩個紅外光電開關數據IO當前狀態
if(state==0x0000) Buzzer_RING;  //控制蜂鳴器
else Buzzer_OFF;
switch(currentState)            //初步模仿狀態機編程模式
{
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();  //數據上傳到OneNET
ESP8266_Clear();    //清除緩存
send_flag=0;
}
}
}
```審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 檢測系統
    +關注

    關注

    3

    文章

    960

    瀏覽量

    43170
  • 單片機
    +關注

    關注

    0

    文章

    218

    瀏覽量

    16658
  • CW32
    +關注

    關注

    1

    文章

    218

    瀏覽量

    737
收藏 人收藏

    評論

    相關推薦

    基于CW32模塊的火焰傳感器設計

    我們的目標是將例程移植至CW32F030C8T6開發板上【判斷當前檢測范圍是否有火光的功能】。首先要獲取資料,查看數據手冊應如何實現讀取數據,再移植至我們的工程。
    的頭像 發表于 11-26 17:18 ?376次閱讀
    基于<b class='flag-5'>CW32</b>模塊的火焰傳感器設計

    CW32充電檢測儀#CW32

    檢測
    jf_61020569
    發布于 :2024年11月22日 09:05:30

    武漢芯源半導體CW32芯片重慶地區線下技術交流會成功舉辦

    2024年10月19日,武漢芯源半導體授權CW32生態社區主辦的“CW32芯片-重慶地區技術交流會”在重慶市科技工作者眾創之家成功舉辦。此次交流會匯聚重慶地區的嵌入式開發工程師和電子信息類企業代表,共同探討CW32芯片在儀器儀表
    的頭像 發表于 10-24 10:55 ?562次閱讀

    【項目展示】基于CW32的遙控循跡小車

    CW32循跡小車.zip_免費高速下載|百度網盤-分享無限制? 一、概述 CW32循跡、遙控小車具有循跡和遙控兩種功能,小車的硬件模塊由CW32F030C8T6小藍板、智能小車控制底板、BT04-E
    的頭像 發表于 05-31 17:33 ?1417次閱讀
    【項目展示】基于<b class='flag-5'>CW32</b>的遙控循跡小車

    基于CW32的有刷直流電機控制實驗三:直流電機閉環位置和速度控制實驗

    DAP-Link插入電腦后未識別到芯片,則將中間兩根線的接線對換。 程序下載 將 DAP-Link 與電腦相連后檢查是否識別到CW32: 如圖就是已經識別到CW32,可以開始下載程序。 閉環速度位置說明 程序
    的頭像 發表于 05-31 17:01 ?657次閱讀
    基于<b class='flag-5'>CW32</b>的有刷直流電機控制實驗三:直流電機閉環位置和速度控制實驗

    CW32數字電壓電流表軟件進階教程-1.電壓電流同時顯示

    基于[CW32數字電壓電流表軟件教程-實驗七:基本數據處理算法(均值濾波)],可以對電壓電流進行同時采集顯示。 電流檢測電路如下: 本項目設計的采樣電流為3A,選擇的采樣電阻為100mΩ。AIN接入
    的頭像 發表于 05-31 15:50 ?905次閱讀
    <b class='flag-5'>CW32</b>數字電壓電流表軟件進階教程-1.電壓電流同時顯示

    CW32數字電壓電流表軟件教程-實驗四:數碼管動態顯示

    顯示不同的值需要用到CW32的定時器功能,在定時器的中斷服務程序里面執行顯示刷新的動作。有關CW32的定時器和中斷的相關知識請查看鏈接:【CW32F003E4核心板】入門學習教程。本文只講述如何配置定時器中斷并執行數碼管刷新函數
    的頭像 發表于 05-31 15:23 ?604次閱讀
    <b class='flag-5'>CW32</b>數字電壓電流表軟件教程-實驗四:數碼管動態顯示

    芯源半導體首個CW32嵌入式創新實驗室揭牌

    武漢芯源半導體,一家知名的MCU(微控制器)廠商,近日攜手上??茖W技術職業學院,共同揭牌了“CW32嵌入式創新實驗室”。此次合作旨在搭建起企業與高校之間的緊密橋梁,實現資源共享和優勢互補。
    的頭像 發表于 05-08 10:37 ?490次閱讀

    產教融合,校企合作——武漢芯源半導體首個CW32嵌入式創新實驗室順利揭牌!

    2024年4月24日上午,武漢芯源半導體有限公司與上海科學技術職業學院共同舉辦的“CW32嵌入式創新實驗室揭牌儀式”在上海科學技術職業學院第二會議室隆重舉行?;顒蝇F場,武漢芯源半導體與上海
    的頭像 發表于 05-06 13:42 ?481次閱讀
    產教融合,校企合作——武漢芯源半導體首個<b class='flag-5'>CW32</b>嵌入式創新實驗室順利揭牌!

    CW32量產燒錄工具

    本節主要介紹CW32微控制器的燒錄器CW-Writer,以及與之配合的軟件CW-Programmer的使用方法。燒錄器CW-Writer通過ISP協議,可實現對
    的頭像 發表于 04-25 15:22 ?1503次閱讀
    <b class='flag-5'>CW32</b>量產燒錄工具

    CW32快速開發入門

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

    基于CW32的無刷直流空心杯電機無感方波控制驅動方案

    適合用于電機控制。無感方波控制算法是一種簡單有效的電機控制算法,不需要使用霍爾傳感器,可以降低硬件成本。 本次采用的電機驅動板仍然為CW32_BLDC_EVA V5開發板,具體開發板的信息可以翻看上一節《基于CW32的無刷空心杯電機有感控制驅動方案》,采用的空心杯電機與上
    的頭像 發表于 04-24 15:38 ?2190次閱讀
    基于<b class='flag-5'>CW32</b>的無刷直流空心杯電機無感方波控制驅動方案

    CW-DAPLINK調試工具

    CW-DAPLINK是武漢芯源半導體有限公司專為CW32系列MCU的在線調試和編程工具而設計的。 它通過SWD接口和應用單板的MCU進行在線通信。通過CW-DAPLINK的全速USB接口,CW
    的頭像 發表于 04-09 17:16 ?856次閱讀
    <b class='flag-5'>CW</b>-DAPLINK調試工具

    CW32F003E4芯片入門學習:器件包安裝

    安裝CW32的pack包,可以從武漢芯源官網下載固件庫
    的頭像 發表于 04-02 14:25 ?688次閱讀
    <b class='flag-5'>CW</b>32F003E4芯片入門學習:器件包安裝

    公交站配電箱安裝安全用電監測終端,實時監測公交車站配電系統漏電電流

    安科瑞 程瑜 云平臺簡介 功能: 通過在公交站配電箱安裝安全用電監測終端,實時監測公交車站配電系統漏電電流及水浸狀態,并將監測數據通過移動網絡上傳至云端服務器。管理人員可通過手機APP、短信及時接收
    的頭像 發表于 03-05 10:58 ?511次閱讀
    <b class='flag-5'>公交站</b>配電箱安裝安全用電監測終端,實時監測<b class='flag-5'>公交</b>車站配電<b class='flag-5'>系統</b>漏電電流
    百家乐视频地主| 百家乐官网类游戏网站| 龙岩棋牌乐| 大连娱网棋牌下载| 大发888游戏平台17| 捷豹百家乐的玩法技巧和规则 | 百家乐官网任你博娱乐场| 24山安葬择日吉凶| 洛南县| 威尼斯人娱乐平台代理| 线上百家乐攻略| 百家乐官网智能系统| 百家乐官网赢家球讯网| 大发888娱乐场金沙| 百家乐游戏厅| 太阳城百家乐软件| 百家乐官网微笑玩法| 上蔡县| 八大胜开户| 灵璧县| 百家乐官网怎样投注好| 百家乐官网庄闲预测| 百家乐官网园天将| 百家乐机械投注法| 百家乐娱乐平台真钱游戏| 黄金城百家乐下载| 济州岛娱乐场小伊| 百家乐官网怎样发牌| 百家乐官网代理荐| 哪个百家乐平台信誉好| 菲律宾百家乐娱乐场| 百家乐官网代理博彩正网| 百家乐官网官网网站| 太阳城百家乐试玩优惠| 威尼斯人娱乐城官方网址| 澳门百家乐论坛| 百家乐官网庄闲赢负表| 百家乐概率下注法| 永利高a1娱乐城送彩金| 博狗百家乐官网开户| 百家乐官网赢一注|