全文約 1300 字,完全閱讀 約需 3 分鐘
🚗🚗🚗🚗🚗
小夥伴在寫藍芽控制~
程式碼也在偵錯
部落格就當作學習過程中的筆記
之後再更新~
要努力變強💪
疫情假期的時候開始學習 STM32 ,因為在家所以瘋狂划水,進度落下了很多,所以非常感謝返校後學長還有組內其他小夥伴的協助。
小車自然是嵌入式學習過程中的第一個「大專案」。從看「正點原子」的樣例程式碼,實現相近功能,到自己動手做一輛小車車 著實是不小的跨步。
@萬里羊 和 @nidie508 兩位學長的部落格對我提供了非常大的幫助(哈哈哈,面向 CSDN 程式設計),也是看了他們的部落格讓我下定決心認真寫部落格,記錄自己所學,畢竟要對得起資料裡的「5年碼齡」😂。
👇BB 結束,正片開始👇
小板子
實驗室提供的 Mini STM32
暫存器版本
學長說庫函數可能相對比較簡單(我並沒有這麼覺得 微笑.jpg),而且後期的話一些功能使用庫函數不方便(小聲BB,我可能前期就被現實錘爆了根本沒有後期 哈哈哈)
底盤和小車輪
不知名的髒兮兮底盤和兩個可愛的小電機
電機驅動模組
TB6612,噗嗤小夥伴焊的時候焊反了,但記住 IO 口就行了,問題不大👌
超聲波模組
HC-SR04
紅外模組
FC-03
藍芽模組
唔,我找不到了哈哈哈🤦♂️
通過 TB6612FNG 來驅動電機,因為該模組是雙驅動,所以只需一個即可驅動一對電機
介面 | 停止 | 正轉 | 反轉 |
---|---|---|---|
AIN1 | 0 | 0 | 1 |
AIN2 | 0 | 1 | 0 |
介面 | 停止 | 正轉 | 反轉 |
---|---|---|---|
BIN1 | 0 | 0 | 1 |
BIN2 | 0 | 1 | 0 |
紅外發射端發射光線到地面,紅外光線遇到白色被反射,接收端檢測到反射光線後輸出低電平;遇到黑色被吸收,接收端未檢測到反射光線,輸出高電平
顏色 | 電平 |
---|---|
白色 | 0 |
黑色 | 1 |
我和小夥伴合作的小車主要有三個功能,不同的功能通過 STM32 開發板上的按鍵進行切換。
如圖,在小車正前方並排安裝兩個紅外模組,確保黑線位於兩個紅外模組之間,若左側檢測到黑線,說明車身偏右,即執行左轉操作;若右側檢測到黑線,說明車身偏左,即執行右轉操作
inred.h
#ifndef __INRED_H
#define __INRED_H
#endif
inred.c