找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1165|回復(fù): 0
收起左側(cè)

第一 二章 小車硬件介紹-基于STM32智能小車-藍(lán)牙遙控、避障、循跡、跟...

[復(fù)制鏈接]
ID:668887 發(fā)表于 2024-8-17 14:05 | 顯示全部樓層 |閱讀模式
第一篇-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ù)量后面每個元件使用前會給出參數(shù)等。
1.2-原理圖與PCB
底板原理圖
各個模塊的供電電壓?
模塊接口引腳順序?
如何確定使用單片機(jī)那個引腳?STM32F103C8T6核心板原理圖(可能使用不同核心板略有差異)PCB頂層截圖
不同類型線粗細(xì)
布局總線方式
1.3-焊接
PCB正面PCB背面然后插上元件
1.4-結(jié)構(gòu)與組裝
這是組裝好的車體照片然后小車安裝PCB
注意電機(jī)和紅外對管不要插錯
1.5-測試
使用萬用表蜂鳴擋 測量 電源引腳和GND是否短路
第二章-GPIO與中斷2.0-新建工程
建議選擇和我一樣的版本
新建一個工程選擇芯片選擇時鐘源選擇調(diào)試勾選生成獨(dú)立的文件設(shè)置保存地址勾選這個不添加沒有使用庫文件可以減小工程文件大小(也可以不勾選,保持默認(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ù)自己的芯片選擇燒錄程序(必看 使用其中一個方法)
方法一:使用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芯片支持包下面這個算法就會自動切換
使用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){//判斷一下那個引腳觸發(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)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表