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

QQ登錄

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

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

STM32智能小車藍(lán)牙控制程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:955119 發(fā)表于 2021-7-30 14:17 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我最近暑假得空做一下智能小車,這個(gè)藍(lán)牙控制是其中一部分,后面我會(huì)再添加oled,wifi和語(yǔ)音等模塊
帖子里面包括主函數(shù)和藍(lán)牙的部分代碼,整個(gè)工程詳細(xì)代碼我放在附件里面,你們有需要可以下載。里面代碼親試有效,有疑問(wèn)歡迎來(lái)我帖子下面留言,我會(huì)一一回復(fù)的。
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "pwm.h"
  5. #include "Motor.h"
  6. #include "key.h"
  7. #include "BlueTooth.h"
  8. #include "Engine.h"
  9. #include "ultrasonic.h"


  10. int main(void)
  11. {        
  12.          Motor_Init();                //電機(jī)初始化
  13.          delay_init();         
  14.    time3_initer(65535,7);   //pwm初始化
  15.    BlueBooth_Init();         //藍(lán)牙初始化
  16.    sg90_Init();                //舵機(jī)初始化
  17.          Wave_IO_Init();        //超聲波初始化
  18.    while(1)
  19.          {
復(fù)制代碼
藍(lán)牙初始化代碼

  1. #include "BlueTooth.h"
  2. #include "stm32f10x.h"
  3. #include "motor.h"
  4. #include "pwm.h"
  5. #include "Engine.h"
  6. #include "ultrasonic.h"

  7. #ifdef __GNUC__
  8.   /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
  9.      set to 'Yes') calls __io_putchar() */
  10.   #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
  11. #else
  12.   #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
  13. #endif /* __GNUC__ */


  14. u8 flag,i;

  15. void BlueBooth_Init(void)     //藍(lán)牙初始化
  16. {

  17.      GPIO_InitTypeDef GPIO_InitStructure;
  18.     USART_InitTypeDef USART_InitStructure;
  19.     NVIC_InitTypeDef NVIC_InitStructure;

  20.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);
  21.         
  22. //   USART_DeInit(USART1);
  23. //  USART1_TX   PA.9                                                      //串口發(fā)送
  24.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                 //PA.9
  25.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  26.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;     //推挽輸出
  27.     GPIO_Init(GPIOA, &GPIO_InitStructure);                        //gpio初始化
  28.    

  29.     //USART1_RX          PA.10                                              //串口接收
  30.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;     
  31.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  //浮空輸入
  32.     GPIO_Init(GPIOA, &GPIO_InitStructure);                     //gpio初始化

  33.      USART_InitStructure.USART_BaudRate = 9600;           //串口波特率
  34.                
  35.      USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //字長(zhǎng)為8位數(shù)據(jù)格式
  36.      USART_InitStructure.USART_StopBits = USART_StopBits_1;                    //一位停止位
  37.      USART_InitStructure.USART_Parity = USART_Parity_No;                        //無(wú)奇偶校驗(yàn)和
  38.      USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;  //無(wú)硬件數(shù)據(jù)流控制
  39.      USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;      //收發(fā)模式

  40.     USART_Init(USART1, &USART_InitStructure);                      //串口1初始化
  41.      USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);             //開(kāi)始串口接收中斷

  42.     //Usart1 NVIC
  43.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);            //分組0
  44.     NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  45.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//3位搶占優(yōu)先級(jí)
  46.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;          //3位子優(yōu)先級(jí)
  47.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;          //IRQ中斷使能
  48.     NVIC_Init(&NVIC_InitStructure);        //NVIC初始化
  49.                
  50.     USART_Cmd(USART1, ENABLE);                    //串口初始化
復(fù)制代碼

下面這個(gè)是我上一篇帖子,里面是超聲波加舵機(jī)的測(cè)距代碼,里面有詳細(xì)工程,你們也可以看一下                    
http://www.torrancerestoration.com/bbs/dpj-210799-1.html

e06218dd24d0c7e52e05d0c3f695028.jpg (106.84 KB, 下載次數(shù): 191)

前進(jìn)字符‘a(chǎn)’

前進(jìn)字符‘a(chǎn)’

4014cd85d4df40217566eacd00eb55c.jpg (104.35 KB, 下載次數(shù): 183)

后退字符‘b’

后退字符‘b’

901d4e0a20328c915d136f4ffa83610.jpg (164.92 KB, 下載次數(shù): 169)

藍(lán)牙模塊安裝

藍(lán)牙模塊安裝

13eaac89a40ef14c0a654a294dcfc98.jpg (111.88 KB, 下載次數(shù): 199)

藍(lán)牙串口控制頁(yè)面

藍(lán)牙串口控制頁(yè)面

4a8b2e1e142e1038aaa1a12bb9a63e3.jpg (97.22 KB, 下載次數(shù): 185)

可以在手機(jī)應(yīng)用商場(chǎng)下載

可以在手機(jī)應(yīng)用商場(chǎng)下載

51hei.png (4.92 KB, 下載次數(shù): 192)

51hei.png

STM32代碼.7z

191.36 KB, 下載次數(shù): 61, 下載積分: 黑幣 -5

里面有藍(lán)牙控制小車的詳細(xì)代碼,你們可以看一下

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:328014 發(fā)表于 2021-7-30 22:56 | 只看該作者
好東東,這個(gè)前進(jìn)后退的藍(lán)牙app要從哪里弄呢?
回復(fù)

使用道具 舉報(bào)

板凳
ID:955119 發(fā)表于 2021-7-31 09:54 | 只看該作者
51hei團(tuán)團(tuán) 發(fā)表于 2021-7-30 22:56
好東東,這個(gè)前進(jìn)后退的藍(lán)牙app要從哪里弄呢?

在你的手機(jī)應(yīng)用商店就有
回復(fù)

使用道具 舉報(bào)

地板
ID:892737 發(fā)表于 2021-8-1 00:37 | 只看該作者
樓主你好,我想請(qǐng)問(wèn)一下,遙控器的程序該怎么寫(xiě)呢,求講的詳細(xì)一點(diǎn),謝謝!
回復(fù)

使用道具 舉報(bào)

5#
ID:955119 發(fā)表于 2021-8-1 15:57 | 只看該作者
1196383236 發(fā)表于 2021-8-1 00:37
樓主你好,我想請(qǐng)問(wèn)一下,遙控器的程序該怎么寫(xiě)呢,求講的詳細(xì)一點(diǎn),謝謝!

void BlueBooth(void)
{
       
     switch(i)
   {
                                        case 'a':  forward();      TIM_SetCompare1(TIM3,300);     TIM_SetCompare2(TIM3,300);     break  ;
                                        case 'b':  back();         TIM_SetCompare1(TIM3,-300);    TIM_SetCompare2(TIM3,-300);    break  ;
                                        case 'c':  Turn_Right();   TIM_SetCompare1(TIM3,500);        break  ;
                                        case 'd':  Turn_Left();    TIM_SetCompare2(TIM3,500);      break  ;
                            case 'e':  Wave_BZ();         break  ;
                      case 'f':  stop();           TIM_SetCompare1(TIM3,0);       TIM_SetCompare2(TIM3,0);       break  ;  
          //default:   
                 
                   
          }       

}
回復(fù)

使用道具 舉報(bào)

6#
ID:328014 發(fā)表于 2021-8-24 17:06 | 只看該作者
遙控還是很方便的,樓主都已經(jīng)封裝好函數(shù)了,調(diào)用就行了 forward()這幾個(gè)
回復(fù)

使用道具 舉報(bào)

7#
ID:1041356 發(fā)表于 2022-8-4 10:23 | 只看該作者
你好,我用的也是這個(gè)app,但是我在手機(jī)上長(zhǎng)按前進(jìn)的時(shí)候,小車只會(huì)前進(jìn)一步,不會(huì)持續(xù)前進(jìn),請(qǐng)問(wèn)要怎么解決?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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