第一 二章 小車硬件介紹-(全網(wǎng)最詳細(xì))基于STM32智能小車-藍牙遙控、避障、循跡、跟隨、PID速度控制、視覺循跡、openmv與STM32通信、openmv圖像處理、smt32f103c8t6
第一篇-STM32智能小車硬件介紹
后續(xù)章節(jié)也放這里 持續(xù)更新中,視頻發(fā)布在小B站里面。這邊也會更新。
STM32智能小車V3-STM32入門教程-openmv與STM32循跡小車-stm32f103c8t6-電賽 嵌入式學(xué)習(xí) PID控制算法 編碼器電機 跟隨
小B站鏈接:https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click&vd_source=16940ba3adbc66f0fb14e0c1d87db878
后面章節(jié)持續(xù)跟新的
第三 四章-OLED使用 和串口openmv圖像處理小車硬件介紹-(全網(wǎng)最詳細(xì))基于STM32智能小車-藍牙遙控、避障、循跡、跟隨、PID速度控制、視覺循跡、openmv與STM32通信、
第五章-PWM控制電機 開源stm32循跡小車詳細(xì)制作過程(附加完全版代碼)-openmv視覺循跡、紅外循跡、避障跟隨、超聲波跟隨、藍牙遙控 m32f103c8t6、stm32cubemx
后面還有視覺、RTOS等功能先不列舉了,大家直接到專欄看把。
1.1-元件選型
這里給出元件列表和數(shù)量
后面每個元件使用前會給出參數(shù)等。
1.2-原理圖與PCB
底板原理圖
各個模塊的供電電壓?
模塊接口引腳順序?
如何確定使用單片機那個引腳?
STM32F103C8T6核心板原理圖(可能使用不同核心板略有差異)
PCB頂層截圖
不同類型線粗細(xì)
布局總線方式
1.3-焊接
PCB正面
PCB背面
然后插上元件
1.4-結(jié)構(gòu)與組裝
這是組裝好的車體照片
然后小車安裝PCB
注意電機和紅外對管不要插錯
1.5-測試
第二章-GPIO與中斷
2.0-新建工程
建議選擇和我一樣的版本
新建一個工程
選擇芯片
選擇時鐘源
選擇調(diào)試
勾選生成獨立的文件
設(shè)置保存地址
勾選這個不添加沒有使用庫文件可以減小工程文件大小(也可以不勾選,保持默認(rèn)設(shè)置)
MDK打開工程,調(diào)低優(yōu)化等級
以上是每次新建工程要做的
以后我們不在新建工程,使用之間的工程即可
2.1-點燈
這里我們點亮PC13連接的小燈
配置PC13
生成代碼
生成代碼后,使用MDK打開工程
在BEGIN和END添加代碼
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
根據(jù)自己的芯片選擇
燒錄程序(必看 使用其中一個方法)
方法一:使用DAP LINK
DAP 在Win 10 免驅(qū)動的
然后根據(jù)自己使用的工具在MDK中設(shè)置下載工具
設(shè)置下載算法
然后下載程序,復(fù)位小燈閃爍
燒錄后現(xiàn)象
小燈每0.5秒閃爍一次
方法二:使用stlink
接線圖
STlink不要接3.3V
使用Stlink 前先安裝驅(qū)動
雙擊運行
選擇ST-Link
選擇算法
然后點擊編譯,燒錄
燒錄后現(xiàn)象
小燈每0.5秒閃爍一次
補充可能遇到的失敗情況
使用DAP-LINK
如果我們芯片IDCODE是0x2 開頭的那么我們需要替換一下Keil 的器件包
(如果你是0x1 開頭的,如果能下載可以不替換)
STM32小車相關(guān)資料V3.3.0?4使用的軟件中科芯CKS芯片支持包
下面這個算法就會自動切換
使用stlink
2.2-按鍵
先看原理圖
PB4–KEY1 單片機設(shè)置下拉輸入-、上降沿觸發(fā)
PA12–KEY2 單片機設(shè)置上拉輸入、下降沿觸發(fā)
開始配置
使能外部中斷
然后生成代碼
重新實現(xiàn)中斷回調(diào)函數(shù)、編寫按鍵檢測程序
在gpio.c 中我們編寫該函數(shù)
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == KEY1_Pin){//判斷一下那個引腳觸發(fā)中斷
//這里編寫觸發(fā)中斷后要執(zhí)行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切換LED GPIO狀態(tài)
}
if(GPIO_Pin == KEY2_Pin){//判斷一下那個引腳觸發(fā)中斷
//這里編寫觸發(fā)中斷后要執(zhí)行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切換LED GPIO狀態(tài)
}
}
把main中控制閃爍注釋掉
燒錄后的現(xiàn)象
按下KEY1 或者KEY2可以切換LED燈開關(guān)狀態(tài)
聯(lián)系:Q,1930299709