国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
基于stm32f103c8t6的藍牙控制雙電機履帶小車程序代碼(帶oled參數顯示)
[打印本頁]
作者:
路漫漫
時間:
2020-6-4 01:20
標題:
基于stm32f103c8t6的藍牙控制雙電機履帶小車程序代碼(帶oled參數顯示)
這個代碼是一個項目的初始代碼,可以在這個基礎上擴展很多其他的東西,比如ros激光雷達、機械臂、視覺算法之類的,硬件用的lm2596降壓到5V,1117降壓到3.3v,298n電機驅動(tb6612也是一樣的)。下載用4線的stlink就好了,藍牙模塊隨便什么牌子都可以,線不連錯就行,代碼比較簡單,分享給大家,大家有相關項目的時候可以節省下“造輪子”的時間哈哈。
完整代碼:
履帶車oled程序.7z
(189.8 KB, 售價: 1 E幣)
2020-6-4 01:19 上傳
點擊文件名下載附件
售價: 1 E幣
[記錄]
[
購買
]
1.png
(6.77 KB)
下載附件
2020-6-4 01:20 上傳
部分參考代碼:
main.c如下:
#include "pwm.h"
#include "system.h"
#include "SysTick.h"
#include "motor.h"
#include "usart.h"
#include "ALLDATA.h"
#include "control.h"#include "oled.h"
int main()
{
SysTick_Init(72);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
TIM2_CH34_PWM_Init(7199,0);
USART1_Init(9600);
// TIM_SetCompare1(TIM2,185);
MOTOR_Init(); OLED_Init();
while(1)
{
motor_control();
}
}
復制代碼
控制函數部分如下:
void motor_control (void)
{
if(r==0x38)
{
start_flag=1;
}
else if(r==0x37)
{
start_flag=0;
car_stop();
}
if(start_flag==1)
{
if(r==0x30)
{
car_go();
}
else if(r==0x31)
{
car_back();
}
else if(r==0x32)
{
car_left();
}
else if(r==0x33)
{
car_right();
}
else if(r==0x34)
{
car_stop();
}
}
復制代碼
要注意的是手機app和藍牙通信發送的是ASCII碼形式, 需要if(r==0x31)判斷,而藍牙模塊與藍牙模塊配對時采用的hex16進制數據發送,直接else if(r==1)就行了。
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0