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