国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊(cè)
搜索

基于stm32f103c8t6的藍(lán)牙控制雙電機(jī)履帶小車(chē)程序代碼(帶oled參數(shù)顯示)

[復(fù)制鏈接]
樓主
路漫漫 發(fā)表于 2020-6-4 01:20:30 | 只看該作者 |只看大圖 |倒序?yàn)g覽 |閱讀模式
這個(gè)代碼是一個(gè)項(xiàng)目的初始代碼,可以在這個(gè)基礎(chǔ)上擴(kuò)展很多其他的東西,比如ros激光雷達(dá)、機(jī)械臂、視覺(jué)算法之類(lèi)的,硬件用的lm2596降壓到5V,1117降壓到3.3v,298n電機(jī)驅(qū)動(dòng)(tb6612也是一樣的)。下載用4線的stlink就好了,藍(lán)牙模塊隨便什么牌子都可以,線不連錯(cuò)就行,代碼比較簡(jiǎn)單,分享給大家,大家有相關(guān)項(xiàng)目的時(shí)候可以節(jié)省下“造輪子”的時(shí)間哈哈。
完整代碼: 履帶車(chē)oled程序.7z (189.8 KB, 售價(jià): 1 E幣)
基于stm32f103c8t6的藍(lán)牙控制雙電機(jī)履帶小車(chē)程序代碼(帶oled參數(shù)顯示) 1.png
部分參考代碼:
main.c如下:
  1. #include "pwm.h"
  2. #include "system.h"
  3. #include "SysTick.h"
  4. #include "motor.h"
  5. #include "usart.h"
  6. #include "ALLDATA.h"
  7. #include "control.h"#include "oled.h"

  8. int main()
  9. {

  10.         SysTick_Init(72);
  11.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  
  12.         TIM2_CH34_PWM_Init(7199,0);
  13.         USART1_Init(9600);
  14. //        TIM_SetCompare1(TIM2,185);
  15.         MOTOR_Init();        OLED_Init();
  16.         
  17.         while(1)
  18.         {
  19.      motor_control();
  20.         }
  21. }
復(fù)制代碼



控制函數(shù)部分如下:
  1. void motor_control (void)
  2. {
  3.   if(r==0x38)
  4.         {
  5.                 start_flag=1;
  6.         }
  7.         
  8.         else if(r==0x37)
  9.         {
  10.                 start_flag=0;
  11.                 car_stop();
  12.         }
  13.          
  14.         if(start_flag==1)
  15.         {
  16.           if(r==0x30)
  17.           {
  18.                   car_go();
  19.           }
  20.         
  21.           else if(r==0x31)
  22.           {
  23.                   car_back();
  24.           }
  25.         
  26.           else if(r==0x32)
  27.           {
  28.                   car_left();
  29.           }
  30.         
  31.           else if(r==0x33)
  32.           {
  33.                   car_right();
  34.           }
  35.         
  36.           else if(r==0x34)
  37.           {
  38.                  car_stop();
  39.           }
  40.         }
復(fù)制代碼

要注意的是手機(jī)app和藍(lán)牙通信發(fā)送的是ASCII碼形式, 需要if(r==0x31)判斷,而藍(lán)牙模塊與藍(lán)牙模塊配對(duì)時(shí)采用的hex16進(jìn)制數(shù)據(jù)發(fā)送,直接else if(r==1)就行了。

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

手機(jī)版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 01:06

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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