STM32 小車——三路超聲波避障+紅外循跡+藍牙遙控
- 前言(BB Time)
- 硬體
- 一、選型
- 1、開發板
- 2、其他元件
- 二、原理
- 1、電機
- 2、超聲波
- 3、紅外
- 4、藍牙
- 功能(未完)
- 一、車輪滾滾
- 1、原理
- 2、代碼
- 二、通過三路超聲波實作避障
- 1、原理
- 2、代碼
- 三、通過兩個紅外模塊實作黑線循跡
- 1、原理
- 2、代碼
- 四、通過手機藍牙遙控車輛
- 1、原理
- 2、代碼
- 總結
全文約 1300 字,完全閱讀 約需 3 分鐘
🚗🚗🚗🚗🚗
小伙伴在寫藍牙控制~
代碼也在除錯
博客就當作學習程序中的筆記
之后再更新~
要努力變強💪
前言(BB Time)
疫情假期的時候開始學習 STM32 ,因為在家所以瘋狂劃水,進度落下了很多,所以非常感謝返校后學長還有組內其他小伙伴的協助,
小車自然是嵌入式學習程序中的第一個「大專案」,從看「正點原子」的樣例代碼,實作相近功能,到自己動手做一輛小車車 著實是不小的跨步,
@萬里羊 和 @nidie508 兩位學長的博客對我提供了非常大的幫助(哈哈哈,面向 CSDN 編程),也是看了他們的博客讓我下定決心認真寫博客,記錄自己所學,畢竟要對得起資料里的「5年碼齡」😂,
👇BB 結束,正片開始👇
硬體
一、選型
1、開發板
小板子
實驗室提供的 Mini STM32

暫存器版本
學長說庫函式可能相對比較簡單(我并沒有這么覺得 微笑.jpg),而且后期的話一些功能使用庫函式不方便(小聲BB,我可能前期就被現實錘爆了根本沒有后期 哈哈哈)
2、其他元件
底盤和小車輪
不知名的臟兮兮底盤和兩個可愛的小電機

電機驅動模塊
TB6612,噗嗤小伙伴焊的時候焊反了,但記住 IO 口就行了,問題不大👌

超聲波模塊
HC-SR04

紅外模塊
FC-03

藍牙模塊
唔,我找不到了哈哈哈🤦?♂?
二、原理
1、電機
通過 TB6612FNG 來驅動電機,因為該模塊是雙驅動,所以只需一個即可驅動一對電機
- VM:連接 12V 以內電源
- VCC:連接 5V 以內電源
- GND:連接電源負極
- STBY:該口清零則兩組電機全部停轉,置1后通過 AIN、BIN 控制正反轉
- AIN、BIN:
| 介面 | 停止 | 正轉 | 反轉 |
|---|---|---|---|
| AIN1 | 0 | 0 | 1 |
| AIN2 | 0 | 1 | 0 |
| 介面 | 停止 | 正轉 | 反轉 |
|---|---|---|---|
| BIN1 | 0 | 0 | 1 |
| BIN2 | 0 | 1 | 0 |
2、超聲波
- VCC:連接 5V 以內電源
- GND:連接電源負極
- TRLG:連接開發板上控制超聲波發射的 IO 口
- ECHO:連接開發板上處理超聲波接收信號的 IO 口
3、紅外
紅外發射端發射光線到地面,紅外光線遇到白色被反射,接收端檢測到反射光線后輸出低電平;遇到黑色被吸收,接收端未檢測到反射光線,輸出高電平
| 顏色 | 電平 |
|---|---|
| 白色 | 0 |
| 黑色 | 1 |
4、藍牙
功能(未完)
我和小伙伴合作的小車主要有三個功能,不同的功能通過 STM32 開發板上的按鍵進行切換,
一、車輪滾滾
1、原理
- 直行:左輪和右輪同時正轉
- 后退:左輪和右輪同時反轉
- 停止:左輪和右輪同時停止
- 左轉:左輪反轉,右輪正轉
- 右轉:左輪正轉,右輪反轉
2、代碼
二、通過三路超聲波實現避障
1、原理
2、代碼
三、通過兩個紅外模塊實作黑線循跡
1、原理

如圖,在小車正前方并排安裝兩個紅外模塊,確保黑線位于兩個紅外模塊之間,若左側檢測到黑線,說明車身偏右,即執行左轉操作;若右側檢測到黑線,說明車身偏左,即執行右轉操作
2、代碼
inred.h
#ifndef __INRED_H
#define __INRED_H
#endif
inred.c
四、通過手機藍牙遙控車輛
1、原理
2、代碼
總結
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168634.html
標籤:其他
上一篇:VARON設計流程及示例
