娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于STM32的智能(GPS+NB-IOT)導盲系統

發布者:DazzlingSpirit最新更新時間:2025-01-02 來源: jianshu關鍵字:STM32  智能  導盲系統 手機看文章 掃描二維碼
隨時隨地手機看文章

閑來無事,用手頭STM32做個項目。

成品功能: STM32通過GPS模塊采集位置數據,通過超聲波監測距離,看前方是否有障礙物,有的話蜂鳴器提醒。數據顯示在屏幕上,通過NB-IOT(BC26)模塊連接阿里云物聯網平臺接受數據并實時監控。


材料

  • STM32ZET6開發板(戰艦V3)

  • TFT顯示屏(戰艦有我用的2.7寸的)

  • NB-IOT(BC26)模塊

  • GPS模塊(ATK-NEO-6M GPS 模塊)

  • 超聲波模塊(HCSR04)

  • 杜邦線

  • 用keil5進行開發

開始制作。

制作過程

首先測試GPS模塊,將例程下入板中測試。然后測試BC26模塊,通過AT指令接入阿里云,成功連接后再通過STM32接入阿里云實現通信。最后加入超聲波模塊。進行組合測試。https://blog.csdn.net/weixin_42320020/article/details/115556492

GPS模塊

GPS(ATK-NEO-6M GPS)模塊
設置好后,模塊接收NMEA碼并解析出我們需要的數據。
例如:

在這里插入圖片描述
每個都代表著不同的數據。可以參考:GPS的NMEA碼的詳細解釋定義
具體的模塊已經配置好了,我們使用就可以了。


硬件連接
  1. 將模塊插入到開發板的ATK-MODULE接口(靠下插)即可。

在這里插入圖片描述

  1. 短接: USART3_RX 和 GBC_TX 以及 USART3_TX 和 GBC_RX。

代碼測試
  1. 將原子哥的代碼下載到板子中進行測試。

  2. 通電測試(我開始在室內,等了好久都沒有數據,后來搬到室外就有數據了,第一次連接需要等一會兒,在室外有數據之后,再回到室內就還有數據。)

  3. 這樣即表示成功


    在這里插入圖片描述

NB-IOT(BC26)模塊

模塊配置連接阿里云可以參考我上篇文章。基于STM32的NB-IOT(BC26)的溫濕度監測系統



這里需要添加幾個展示。

在這里插入圖片描述


這樣BC26和阿里云對接就搞定了。

GSM模塊加入BC26代碼中

哪個作為基礎代碼都可以

  1. 將模塊代碼文件加入。

  2. 在keil中添加引入這個文件。

  3. 在主函數中添加初始化函數。

  4. 將位置數據添加到串口中。

    在這里插入圖片描述

    這里位置數據是個結構體,我們這樣打包串口位置數據。{'GeoLocation':{'E':%.5f,'N':%.5f,'G':%.1f}



  5. 進行測試。

    在這里插入圖片描述


    可以看到已經有數據了。

超聲波模塊

超聲波模塊工作原理:
(1)采用IO口TRIG觸發測距,給最少10us的高電平信號。
(2)模塊自動發送8個40khz的方波,自動檢測是否有信號返回。
(3)有信號返回,通過IO口ECHO輸出一個高電平,高電平持續時間就是超聲波從發射到返回的時間,測試距離=(高電平時間聲速(340M/s)/2(發射和回來的時間,所以要除以2))*

超聲波STM32代碼:

void Ultra_Ranging(float *p){
    u8 i;
    u32 j;
    float Ultr_Temp;    
    for(i=0;i<5;i++)
    {
        TRIG_Send=1;
        delay_ms(10);
        TRIG_Send=0;
        while(!ECHO_Reci);
        while(ECHO_Reci)
        {
            delay_us(10);
            j++;
        }
        Ultr_Temp+=340/2*j*10;
        j=0;
        delay_ms(60);
    }
    *p=Ultr_Temp/5/1000000;     }

將超聲波代碼加入到寫好的代碼中。進行測試。


在這里插入圖片描述


可以看到效果跟預想的一樣。
最后加入當超聲波監測距離小于3米蜂鳴器報警。
這個項目就完成你了。


關鍵字:STM32  智能  導盲系統 引用地址:基于STM32的智能(GPS+NB-IOT)導盲系統

上一篇:STM32 模板文件配置
下一篇:VSCode+arm-none-eabi+openocd+msys實現STM32在線調試

推薦閱讀最新更新時間:2025-05-23 01:30

畢業設計| STM32單片機控制的智能家居系統設計
? 智能家居系統功能概述 上面視頻演示的STM32智能家居的功能是: ? 通過語音識別和上位機App進行控制 ? 實現有人闖入自動警報 ? 照明控制,溫度和濕度控制,空氣質量測量,家用電器定時和自動窗簾等功能的控制 主控是STM32F103RCT6單片機,連接到每個傳感器。通過LD3320語音芯片生成語音信號到MCU的串口,在串口識別出發送的數據后,可以控制每個傳感器,還通過藍牙HC05將AT命令連接發送到手機App的控制端,進而控制家電。 ? 離線語音識別功能: 該功能的語音識別詞分為兩級: 第一級識別詞:“小白”用來喚醒智能家居系統,此時LD3320的模塊燈常亮。 第二級識別詞用來控制“家居”,如:“開燈”“
[單片機]
畢業設計| <font color='red'>STM32</font>單片機控制的<font color='red'>智能</font>家居<font color='red'>系統</font>設計
關于stm32串口必須要學的5個串口以及串口應用和注意事項
 串口是我們常用的一個數據傳輸接口,STM32F103系列單片機共有5個串口。   其中1-3是通用同步/異步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter)。   4,、5是通用異步串行接口UART(Universal Asynchronous Receiver/Transmitter)。   看完文章總結可以看下邊的資料了解詳細情況   (stm32 USART串口應用) http://www.makeru.com.cn/live/1392_1164.html?s=45051   通過Z-stack協議棧實現串口透傳 http://www
[單片機]
關于stm32的USB和SPI疑似存在干擾的問題
情況是這樣的,最近做一個項目,使用的是stm32f103RE單片機,使用到了單片機的usb口和SPI1。USB虛擬成串口向上位機發送數據,已經通過修改官網的例程調試通過,SPI1也能正常工作。但是當把兩個功能做在同一個工程中時,發現出現了一些問題:USB想上位機發送一段時間后會停止發送(我的程序是在while中一直發送);USB發送會出現亂碼。當我把SPI1的讀寫函數注釋掉之后上述問題有消失了。這個問題糾結了我好幾天了,不知道各位高手能不能幫我解答解答。 調試發現程序停在了while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);中,但是之前沒有添加USB功能模塊
[單片機]
STM32時鐘源
PLLK,SYSK,HCKL,PK1,PK2 之間的關系要弄清楚; 1、HSI:高速內部時鐘信號 stm32單片機內帶的時鐘 (8M頻率) 精度較差 2、HSE:高速外部時鐘信號 精度高 來源(1)HSE外部晶體/陶瓷諧振器(晶振) (2)HSE用戶外部時鐘 3、LSE:低速外部晶體 32.768kHz 主要提供一個精確的時鐘源 一般作為RTC時鐘使用 在STM32中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。   ①、HSI是高速內部時鐘,RC振蕩器,頻率為8MHz。   ②、HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz~16MHz。   ③、LSI是低速內部時鐘,RC振蕩器
[單片機]
STM32定時器輸出PWM 【自用】
PWM1輸出模式配置: 1.配置IO(TIM3 PA6~7 CH1 CH2 GPIO_Mode_AF_PP復用推挽輸出 50Mhz速度) /*void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; //GPIOA and GPIOB clock enable RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //GPIOA Configuration: TIM3 channel 1 and 2 as alternate function push-pull GPIO_InitStructure.
[單片機]
stm32之S6D04H0 液晶驅動(寄存器版)
1、初始化命令問題:在S6D04H0中,命令是八位,參數也有第一次,第二次,次數之分,與一般的命令是八位或十六位,參數是一次性的十六位不同(如下圖) 2、這些命令形式不同是不是有什么影響 3、是不是還沒有設置關于橫屏豎屏 4、這塊LCD是我從單片機學習板上取過來的,會不會電平有什么問題,結果發現,IO口仍然是3.3v邏輯,然后,兩邊的vcc則需要5v,而且這塊液晶上也集成了5v轉3.3v芯片 而且后來去網上查了,大部分lcd不會出現這種情況 這個在此lcd的驅動芯片手冊中也可查到 5、我嘗試用了網上說兼容的型號HX8347-G的代碼,用了后卻絲毫沒有半點反應 6、由于一直沒搞懂fsmc的寄存器設置,網上關于它的寄存器設置
[單片機]
<font color='red'>stm32</font>之S6D04H0 液晶驅動(寄存器版)
stm32串口接收數據程序
void init_usart(void) //RCC初始化 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,,ENABLE);//使能GPIOA時鐘 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); //nvic NVIC_ InitTypeDef NVIC_InitStructure;#ifdef VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM,Ox0);#else NVIC_SetVectorTable(NVIC_VectTab_FL
[單片機]
STM32里的串口通信
在STM32里,串口通信是USART,STM32可以通過串口和其他設備進行傳輸并行數據,是全雙工,異步時鐘控制,設備之間是點對點的傳輸。 對應的STM32引腳分別是RX和TX端。STM32的串口資源有USART1、USART2、USART3. 串口的幾個重要的參數: 波特率,串口通信的速率 空閑,一般為高電平 起始位,標志一個數據幀的開始,固定為低電平。當數據開始發送時,產生一個下降沿。(空閑–》起始位) 數據位,發送數據幀,1為高電平,0為低電平。低位先行。 比如 發送數據幀0x0F 在數據幀里就是低位線性 即 1111 0000 校驗位,用于數據驗證,根據數據位的計算得來。有奇校驗,偶校驗和無校驗。 停止位,用于數據的間隔
[單片機]
<font color='red'>STM32</font>里的串口通信
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 南阳市| 尖扎县| 九寨沟县| 齐齐哈尔市| 丰城市| 广安市| 武威市| 西峡县| 乐业县| 阿合奇县| 讷河市| 仪陇县| 尼木县| 榆林市| 廊坊市| 衡水市| 富川| 思茅市| 南充市| 沙洋县| 抚州市| 扶余县| 河北省| 六盘水市| 海南省| 上蔡县| 虹口区| 沙湾县| 渝北区| 龙海市| 石景山区| 申扎县| 二连浩特市| 尚义县| 广安市| 大港区| 天长市| 且末县| 鹰潭市| 三都| 武陟县|