找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享一個基于stm32f103c8t6的藍牙控制雙電機履帶小車程序代碼(帶oled參數(shù)顯示)

[復(fù)制鏈接]
ID:527441 發(fā)表于 2020-6-2 10:20 | 顯示全部樓層 |閱讀模式
這個代碼是我一個項目的初始代碼,可以在這個基礎(chǔ)上擴展很多其他的東西,比如ros激光雷達、機械臂、視覺算法之類的,硬件用的lm2596降壓到5V,1117降壓到3.3v,298n電機驅(qū)動(tb6612也是一樣的)。下載用4線的stlink就好了,藍牙模塊隨便什么牌子都可以,線不連錯就行,代碼比較簡單,分享給大家,大家有相關(guān)項目的時候可以節(jié)省下“造輪子”的時間哈哈。

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();
        }
}



控制函數(shù)部分如下:
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和藍牙通信發(fā)送的是ASCII碼形式, 需要if(r==0x31)判斷,而藍牙模塊與藍牙模塊配對時采用的hex16進制數(shù)據(jù)發(fā)送,直接else if(r==1)就行了。

全部程序51hei下載地址:
履帶車oled.7z (189.8 KB, 下載次數(shù): 87)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1078120 發(fā)表于 2023-5-17 20:57 | 顯示全部樓層
手機app和藍牙咋弄,求教
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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