1. 程式人生 > >嵌入式實訓之 智慧小車超聲波壁障

嵌入式實訓之 智慧小車超聲波壁障

1.開發環境

kei5 + webstorm

2.開發語言

C + nodejs

3.基本功能

1.電機驅動
控制小車,前進、後退、停止、左轉、右轉等等。
2.超聲波測距
測量出小車與障礙物之間的距離,進而讓小車自動避開障礙物繼續前進。
3.語音播報(JQ8400)
播報指定的語音,達到人機互動與娛樂。
4.WIFI模組
實時顯示小車的當前的執行狀態。

4.整體架構

通過超聲波車距和電機驅動判斷小車當前所處的狀態(前進,後退,左轉彎,右轉彎等。通過WIFI透傳講小車狀態資料送到WEB介面(客戶端等)進行實時檢視

整體架構

5.專案使用的模組和技術

1. STM32F4 C語言程式設計
2. 電機驅動
3. 語音模組(行進提示)
4. wifi模組透傳功能(資料傳輸)
5. 序列化技術(資料格式  len1.state1,len2.state2,...lenN.stateN)
6. nodejs 開發web客戶端
len1,len2...lenN.stateN 表示 障礙物距離.小車當前的狀態

6.工程原始碼結構
```
    |--CORE
    |--PWLIB
    |--HARDWARE 模組封裝
        |--HCSR04 超聲波模組
        |--HMI    液晶屏模組
        |--JQ8400 語音模組
        |--KEY    按鍵模組
        |--LED    LED模組
        |--MOTOR  電機模組
        |--PATH   小車壁障演算法
        |--WIFI   wifi模組
        |--TIMER  定時器模組
    |--web        WEB介面
```

7.壁障演算法 原理

1.向右轉判斷

r

2.向左轉判斷

l

1.記錄小車進入安全區臨界點與障礙物的距離L1
2.小車試探性向左轉一定的角度記錄距離L2
3.兩次的位移差記錄為L3
4.由於轉換角度很小,並且在很短的時間內完成因此
可以忽略小車變化的位移.
5.若L1>L2則表示小車左轉試探出錯,因右轉
6.若L1<L2則表示小車左轉試探正確

7.電路圖分析

1.   STM32晶片,通過上面的100個引腳來控制各個模組,是總控制室。

s

2.電機驅動模組

電機驅動,是來控制小車的輪子

d

3.超聲波模組

超聲波,是用來測車與障礙物的距離,到達指定的距離之後,讓小車進行轉彎,已達到避障的效果

4.語音模組

控制小車,播放指定的音訊