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