【单片机开发】智能小车工程 (蓝牙遥控JDY

您所在的位置:网站首页 蓝牙hc05和hc06的区别 【单片机开发】智能小车工程 (蓝牙遥控JDY

【单片机开发】智能小车工程 (蓝牙遥控JDY

2024-01-11 15:02| 来源: 网络整理| 查看: 265

(一)关于蓝牙模块

现在最常见的蓝牙模块为HC05,而我这一次使用的是更加便宜的JDY-31型号的蓝牙模块。 对小车的蓝牙遥控本质上是通过串口的收发信息进行控制。需要提前下载一个蓝牙串口的APP手机应用商店就有。这一部分代码只需要编写main 串口函数直接用原子的函数无需修改。

(二)效果展示

在这里插入图片描述 在这里插入图片描述

(三)软件实现 #include "delay.h" #include "sys.h" #include "usart.h" #include "stm32f10x_tim.h" #include "motor.h" #include "PWM.h" int main(void) { u16 t; u16 len; u16 times=0; u8 a[200]; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600); //串口初始化为9600 TIM4_PWM_Init(899,0); Motor_12_Config(); //298电机驱动初始化 IN1(Low); IN2(High); IN3(Low); IN4(High);//保持控制正反转电平恒定默认直行 while(1) { Motor_1_STOP(); Motor_2_STOP(); if(USART_RX_STA&0x8000) { a[200]=0; //用来存放读取的信息 其实只用第一位 len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度 printf("\r\n您发送的消息为:\r\n\r\n"); for(t=0;t Motor_1_STOP(); Motor_2_STOP(); delay_ms(1000); delay_ms(1000); delay_ms(1000); } if(a[0]=='1') //向串口发送1 直行 { Motor_1_PRun(); Motor_2_PRun(); delay_ms(1000); } if(a[0]=='2') { Motor_left(); delay_ms(500); } if(a[0]=='3') { Motor_right(); delay_ms(500); } if(a[0]=='4') { Motor_1_PRun(); Motor_2_NRun(); delay_ms(1000); delay_ms(1000); delay_ms(1000); } } else { times++; if(times%5000==0) { printf("\r\n蓝牙串口实验\r\n"); printf("杨某很帅\r\n\r\n"); } if(times%200==0)printf("请输入数据,以回车键结束\n"); delay_ms(10); } } }

上述代码所涉及到的一些其他函数请到其他文章寻找。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3