色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Wi-Fi超聲波測距傳感器節點實驗

Wi-Fi超聲波測距傳感器節點實驗 時間:2018-09-21      來源:未知

【實驗目的】

學習STM32的M0系列芯片的使用

學習MDK開發軟件的使用方法,如仿真調試

通過本實驗掌握stm32F0xx的ADC使用方法

【實驗環境】

Wi-Fi超聲波測距傳感器模塊

MDK開發工具和相應的仿真器

PC機 XP、Window7/8

【實驗內容】:

編寫超聲波實驗程序,實現STM32F0xx芯片采集到超聲波測距長度的AD值,并把AD值通過串口Wi-Fi模塊(STA)傳輸給服務端Wi-Fi模塊(AP),在PC上的串口調試助手顯示數據。

【實驗原理】

聲波是一種能在氣體、液體和固體中傳播的機械波。根據振動頻率的不同,可分為次聲波、聲波、超聲波和微波等。

( 1 ) 次聲波:振動頻率低于l6Hz的機械波。

( 2 ) 聲波:振動頻率在16—20KHz之間的機械波,在這個頻率范圍內能為人耳所聞。

( 3 ) 超聲波:高于20KHz的機械波。

超聲波與一般聲波比較,它的振動頻率高,而且波長短,因而具有束射特性,方向性強,可以定向傳播,其能量遠遠大于振幅相同的一般聲波,并且具有很高的穿透能力。例如,在鋼材中甚至可穿透10米以上。超聲波在均勻介質中按直線方向傳播,但到達界面或者遇到另一種介質時,也像光波一樣產生反射和折射,并且服從幾何光學的反射、折射定律。超聲波在反射、折射過程中,其能量及波型都將發生變化。超聲波在界面上的反射能量與透射能量的變化。取決于兩種介質聲阻抗特性。和其他聲波一樣,兩介質的聲阻抗特性差愈大,則反射波的強度愈大。例如,鋼與空氣的聲阻抗特性相差10萬倍,故超聲波幾乎不通過空氣與鋼的介面,全部反射。超聲波在介質中傳播時,隨著傳播距離的增加,能量逐漸衰減,能量的衰減決定于波的擴散、散射(或漫射)及吸收。擴散衰減,是超聲波隨著傳播距離的增加,在單位面積內聲能的減弱;散射衰減,是由于介質不均勻性產生的能量損失;超聲波被介質吸收后,將聲能直接轉換為熱能,這是由于介質的導熱性、粘滯性及彈性造成的。

超聲波傳感器的測距原理:超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始 計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。設超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離S ,即 S=340t/2。需要說明的是,超聲波傳感器發射的波束比較窄(<10°),反射后仍然很窄,如果被測物體被旋轉放置,有可能反射波束會偏離出接收探頭的位置,導致探頭接收不到反射波信號,測距將失敗。

 

第 2 章 圖 超聲波傳感器測量物體距離原理示意圖

超聲波測距傳感器包括有發射超聲波和接收超聲波的兩部分裝置,習慣上稱為超聲波換能器或超聲波探頭。常用的超聲波傳感器有兩種,即壓電式超聲波傳感器和磁致式超聲波傳感器。本實驗采用的是壓電式超聲波傳感器, 主要由超聲波發射器(或稱發射探頭)和超聲波接收器(或稱接收探頭)兩部分組成,它們都是利用壓電材料(如石英、壓電陶瓷等)的壓電效應進行工作的。利用逆壓電效應將高頻電振動轉換成高頻機械振動,產生超聲波,以此作為超聲波的發射器。而利用正壓電效應將接收的超聲振動波轉換成電信號,以此作為超聲波的接收器。

HCC--SSRR0044超聲波測距模塊可提供2cm--400cm的非接觸式距離感測功能,測距精度可達高到3mm;模塊包括超聲波發射器、接收器與控制電路。

HC--SR04的時序圖:

 

以上時序圖表明你只需要提供一個10uS以上脈沖觸發信號,該模塊內部將發出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號;仨懶盘柕拿}沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號時間間隔可以計算得到距離。公式:uS/58=厘米或者uS/148=英寸;或是:距離= 高電平時間*聲速(340M/S)/2;建議測量周期為60ms以上,以防止發射信號對回響信號的影響。

基本工作原理:

采用IO口TRIG觸發測距,給少10us的高電平信呈;

模塊自動發送8個40khz的方波,自動檢測是否有信號返回;

有信號返回,通過IO口ECHO輸出一個高電平,高電平持續的時間就是超聲;

波從發射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;

 

圖 超聲波原理圖

 

圖 超聲波實物圖

有原理圖可知,超聲波的觸發引腳和PB_9相連,回響信號與PB_8引腳相連;仨懶盘柺浅暡òl出波與接收到回波的時間。

【實驗步驟】

完成第3章節"RealView MDK4.22a集成開發環境",就可以做傳感器實驗了,首先打開光盤中的傳感器工程文件。

右鍵解壓程序源碼 v1.rar, 選擇解壓到當前文件夾。

工程源碼路徑:華清遠見-網絡拓撲圖資料光盤\無線傳感模塊\低功耗Wi-Fi部分-STM32F051\程序源碼\STM23F051 超聲波測距傳感器(OK)\MDK-ARM

 

編譯下載超聲波程序(先編譯后下載)

如果需要調試的話,應先下載程序,再點擊右上方的調試按鈕進入調試界面。

 

超聲波模塊連接

 

上圖連接說明,AP模式的Wi-Fi是通過串口直接和PC機相連接。串口Wi-Fi接收到數據,以串口的形式輸出到PC的串口調試助手上顯示。

【實驗結果】

利用串口調試工具做實驗,打開串口調試工具,波特率115200、串口號(你的電腦的端口號)、點擊打開。 接收到的數據如下,

 

可以通過串口發送21 57 04 00 53 00 02 C0 00 00 38 FA控制繼電器的開。

21 51: 為字符'!W'

04 00 :設備地址 注意:04為低八位地址,00為高八位地址

53 :設備類型 'S' ,是超聲波傳感器

00 02 C0: 采集到的超聲波與障礙之間的距離(單位:mm)。02 為高八位,C0 第八位。轉成十進制704 mm

38:當前電池電量

FA :校驗和。

【實驗參考代碼】

Main.c函數

COBOL Code

int main(void)

{

uint8_t Send_buf[11]={0};

uint8_t result = 0,i;

uint8_t flag = 0;

uint32_t distance;

SystemInit(); //系統時鐘初始化

/* Configure LED6 */

STM_EVAL_LEDInit(LED6);

Systick_Init(); //滴答定時初始化

GPIO_Configuration_Init();

USART_Cfig_Init(); //串口初始化

NVIC_Configuration();

SR04_Config();

USART_RX_IntteruptEnable(COM1); //USART1 接收中斷使能

USART_RX_IntteruptEnable(COM2); //USART2 接收中斷使能

//初始化定時器

TIM_INT_Config();

//初始化中斷

// STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_EXTI);

Send_buf[0] = 0x21;

Send_buf[1] = 'W';

Send_buf[2] = 0x04; //地址 低字節

Send_buf[3] = 0x00; //地址 高字節

Send_buf[4] = 'S';

while(1)

{

STM_EVAL_LEDOn(LED6);

distance = Sensor_using();

Send_buf[6] = distance >> 8;

Send_buf[7] = distance;

for(i=0;i<(11-2);i++)

{

result ^= Send_buf[i+1];

}

Send_buf[10] = result; //存儲校驗結果

UART_Send(USART2,Send_buf,11);

result = 0;

STM_EVAL_LEDOff(LED6);

printf("distance :%d\n",distance);

Delay(1000);

}

}

采集回響時間并轉換成距離(單位mm)

COBOL Code

/*返回值 單位 毫米*/

uint32_t Sensor_using(void)

{

uint32_t distanceval =0;

uint16_t TIM=0,TIMS=0;

uint8_t i,j=0;

// for(i=0;i<5;i++)

// {

GPIO_SetBits(GPIOB,GPIO_Pin_9); //輸出10us以上觸發

delay_us(100);

GPIO_ResetBits(GPIOB,GPIO_Pin_9);

TIM_SetCounter(TIM2,0);

while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)&& overflow==0); //檢測到高電平

TIM_Cmd(TIM2, ENABLE); //開啟定時器

while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) && overflow==0); //檢測到低電平

TIM_Cmd(TIM2, DISABLE);

if(overflow!=0)

{

overflow=0;

return 0.0;

}

TIM = TIM_GetCounter(TIM2); //讀取當前值

distanceval = ((TIM *340)/2/10) - 50; //50 誤差數值

//printf("\r\ndistance:%x mm\r\n",distanceval);

return(distanceval);

}

上一篇:Java線程創建

下一篇:WI-FI三軸傳感器節點實驗

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 噜噜噜噜噜18禁私人影视 | 无码AV岛国片在线观看免费 | 日韩欧美亚洲国产精品字幕欠久久 | 色先锋av资源中文字幕 | 成全免费高清大全 | 久久精品国产欧美日韩 | 亚洲AV无码专区在线厂 | 久久精品国产亚洲AV无码麻豆 | 亚洲欧美日韩国产精品专区 | 樱桃视频大全免费高清版 | 无套内谢少妇毛片aaaa片免费 | 亚洲欧洲精品A片久久99 | 女人被躁到高潮嗷嗷叫免费 | 无码国产精品一区二区色情八戒 | 女人把腿张开让男人来桶 | 欧美日韩精品久久免费 | 色吧av色av| 国产爆乳无码一区二区麻豆 | 国产精品天天狠天天看 | 伊人热热久久原色播放WWW | 少妇秘书调教在线91 | 日日骚精彩视频 | 亚洲一区二区高清视频 | 亚洲AV永久无码精品一区二区 | 成人一在线视频日韩国产 | 国产精品无码一区二区三区在 | 国产精品a免费一区久久网址 | 精品无人区一区二区三区在线 | 中文字幕av一区 | 成人无码激情视频在线观看 | 女女互揉吃奶揉到高潮视频 | 久久精品国产色蜜蜜麻豆 | 国产成人综合精品无码 | 天堂亚洲2017在线观看 | 精品无码黑人又粗又大又长 | 午夜福利国产成人无码 | 日韩成人极品在线内射3p蜜臀 | 亚洲中文全新无码亚洲人一成 | 无码中文人妻在线一区 | 96国产xxxx免费视频 | 天干夜天干天天爽自慰 |