找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4689|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32藍(lán)牙遙控 編碼器 舵機(jī) 小車程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:308159 發(fā)表于 2018-6-10 15:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
參加智能小車比賽,使用代碼如下 供大家參考!!!

單片機(jī)源程序如下:
  1. #include "sys.h"

  2. #define K 5.55f
  3. #define L 3.14f

  4. #define pwm_zhong 97.0
  5. #define pwm_max_L 25.0
  6. #define pwm_max_R 135.0


  7. int CCR1_Val;
  8. int CCR2_Val;

  9. int Angle=87;
  10. float Velocity,Path;

  11. int number=0;
  12. int Encoder_Left,Encoder_Right;             //左右編碼器的脈沖計(jì)數(shù)
  13. int Encoder_EXTI;
  14. double du;                                                                                                                                                                     

  15. //u8  TIM5CH1_CAPTURE_STA;                //輸入捕獲狀態(tài)                                                   
  16. //u32        TIM5CH1_CAPTURE_VAL;        //輸入捕獲值


  17. u8 Blue[4];

  18. int main(void)
  19. {

  20.        
  21.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
  22.         USART3_RX_STA=0;
  23.         delay_init(168);  //初始化延時(shí)函數(shù)
  24.         uart_init(115200);//初始化串口波特率為115200
  25.         usart3_init(9600);

  26.         EXTIX_Init();
  27.         EXTI0_IRQHandler();
  28.        
  29.         BEEP_Init();


  30.         oled_GPIO_init();
  31.         LCD_Init();

  32.         TIM3_PWM_Init(500-1,84-1);
  33.         TIM10_PWM_Init(500-1,84-1);
  34.         TIM11_PWM_Init(500-1,84-1);
  35.         TIM13_PWM_Init(500-1,84-1);
  36.                
  37.         TIM4_PWM_Init((2000-1),840-1);
  38.           Encoder_Left=0;
  39.           Encoder_Right=0;
  40.                
  41.    while(1) //實(shí)現(xiàn)比較值從0-300遞增,到300后從300-0遞減,循環(huán)
  42.         {
  43.       OLED_Dis_Float(0,0,Angle,1);
  44.                   OLED_Dis_Float(0,18,Path,1);
  45.         //        Printnum(18,18,23,2,2);
  46.         //        LCD_Print(36,36,0,1,1);
  47. //                LCD_Print(18, 18, "mdkdkfl",7, 40);

  48.           Velocity=K*L*(Encoder_Left+Encoder_Right)/390;

  49.                
  50.                 if(Blue[0] == 'a')
  51.                 {
  52.                         Angle=100*(Blue[1]-'0')+10*(Blue[2]-'0')+(Blue[3]-'0');
  53.                         PWM_Angle();
  54.                 }
  55.                 if(Blue[0]=='d')
  56.                 {

  57.                                
  58.                                                         TIM_SetCompare1(TIM3,200);
  59.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  60.                                 TIM_SetCompare1(TIM11,200);
  61.                                 TIM_SetCompare1(TIM13,500);
  62.         delay_ms(300);
  63.                           Angle=30;
  64.                                 PWM_Angle();
  65.                           delay_ms(1200);
  66.                           Angle=109;
  67.         PWM_Angle();
  68.                         TIM_SetCompare1(TIM3,200);
  69.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  70.                                 TIM_SetCompare1(TIM11,200);
  71.                                 TIM_SetCompare1(TIM13,500);
  72.         delay_ms(500);
  73.         TIM_SetCompare1(TIM3,0);
  74.         TIM_SetCompare1(TIM10,0);                //   8 high  9 high
  75.               TIM_SetCompare1(TIM11,0);
  76.               TIM_SetCompare1(TIM13,0);
  77.                           Blue[0] = 'z';  Encoder_Left=0;
  78.                           number=0;
  79.                
  80.                 }
  81.                
  82.                 if(Blue[0] == 'b')
  83.                 {
  84.                           Angle = 100*(Blue[1]-'0')+10*(Blue[2]-'0');
  85.                                 Path=(10*(Blue[3]-'0'))/12;
  86.                           Encoder_EXTI=Path/K/L*3900;
  87.                                
  88.       while(Encoder_Left<Encoder_EXTI)
  89.                                         {
  90.                                
  91.                                                         TIM_SetCompare1(TIM3,200);
  92.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  93.                                 TIM_SetCompare1(TIM11,200);
  94.                                 TIM_SetCompare1(TIM13,500);
  95. //                                                                                               
  96.                                         }
  97.                           PWM_Angle();
  98.                           delay_ms(500);
  99.                           Angle=87;
  100.         PWM_Angle();
  101.         TIM_SetCompare1(TIM3,0);
  102.         TIM_SetCompare1(TIM10,0);                //   8 high  9 high
  103.               TIM_SetCompare1(TIM11,0);
  104.               TIM_SetCompare1(TIM13,0);
  105.                           Blue[0] = 'z';  Encoder_Left=0;
  106.                           number = 0;
  107.                 }
  108.                 if(Blue[0] == 'p')
  109.                 {
  110.                        
  111.                         Path=(100*(Blue[1]-'0')+10*(Blue[2]-'0')+(Blue[3]-'0'))/12;
  112.                         Encoder_EXTI=Path/K/L*3900;

  113.       while(Encoder_Left<Encoder_EXTI)
  114.                                         {
  115.                                
  116. ……………………

  117. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
藍(lán)牙遙控 編碼器 舵機(jī) 小車程序..rar (1.87 MB, 下載次數(shù): 115)


評(píng)分

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

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:319545 發(fā)表于 2019-8-6 17:57 | 只看該作者
好資料
回復(fù)

使用道具 舉報(bào)

板凳
ID:282095 發(fā)表于 2019-8-6 20:20 | 只看該作者
感覺(jué)8051就綽綽有余了啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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