文章目录[隐藏]
一.模块介绍
蓝牙模块
-
蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯,大致可分为三大类型:数据传输模块远程控制模块等。
-
RXD: 接收端
-
TXD: 发送端
实物图及参数
舵机
原理
舵机的控制一般需要一个20MS左右的时基脉冲,该脉冲的高电平部分一般为0.5MS-2.5MS范围内的角度控制脉冲部分,总间隔为2Ms。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5MS--------o度;
1.0MS-------45度;
1.5MS-------90度;
2.0MS-------135度;
2.5MS-------180度;
- 占空比控制舵机角度:
实物图及参数
二.开发工具
- 编程软件:KEIL5
- 串口软件:XCOM V2.0
- 烧录软件:stc-isp-15xx-v6.86C
- 手机APP:SPP蓝牙串口(安卓手机)
三.程序代码
部分代码如下,完整代码在下面会提供百度网盘下载。
对应视频讲解说明在B站有分享。
在main.c文件中
/*
B站:Tuyue沐尘
本程序采用stc8a8k64s4a12为主控
舵机接线-----信号线接P37
蓝牙模块 TX---接单片机P30
RX---接单片机P31
*/
#include "all.h"
int main()
{
sart_Init(9600);
Timer0Init();
printf("这是一个串口程序\r\n");
while(1)
{
steering_control();
switch(rdata) //串口控制,写需要的效果
{
case '1':P00=0;break; //舵机控制
case '2':P00=1;break;
case '3':P01=0;break; //灯控制
case '4':P01=1;break;
}
if(usart_flag)
{
usart_flag=0;
usart_send_str(buffer); //字符串回显
if((strcmp((char*)buffer,"led_on"))==0)
{
memset(buffer,0,sizeof(buffer)); //c语言数组清零
P01=0;
}
}
}
}
在usart.c文件中
#include "usart.h"
#define sysclk 24000000
bit busy;
int r_ret=0;
int usart_flag=0;
char buffer[32];
char rdata;
void usart_Init(int BRT)
{
SCON = 0x50;
//关闭定时器0,模式选择16位自动重载
TMOD = 0x00;
//定时器1,1分频,选择定时器1为波特率发生器
AUXR = 0x40;
//波特率
TL1 = (65536-sysclk/BRT/4);
TH1 = (65536-sysclk/BRT/4)>>8;
//禁止T1中断
ET1 = 0;
//开启定时器1
TR1 = 1;
//开启串口1中断
ES = 1;
//使能总中断
EA = 1;
busy = 0;
}
void usart_send(char dat) //字符
{
while(busy);
busy = 1;
SBUF = dat;
}
void usart_send_str(char *p) //字符串
{
while(*p)
{
usart_send(*p++);
}
}
char putchar(char c) //printf
{
usart_send(c);
return c;
}
void usart_Isr() interrupt 4
{
if(TI==1)
{
TI=0;
busy=0;
}
if(RI==1)
{
RI=0;
rdata=SBUF;
// usart_send(rdata); //回显
if(rdata!='\r' && rdata!='\n') //看是否换行or回车,再进行存放数组
{
buffer[r_ret++]=rdata; //buffer[0]=rdata;
}
if(rdata=='\n')
{
buffer[r_ret]=0;
usart_flag=1;
r_ret=0;
}
}
}
四.串口调试和手机APP控制
电脑端
手机端
五.分享的百度网盘资料
B站视频链接
蓝牙模块控制舵机教程视频讲解
百度网盘链接
51、stc8a8k、stm32的都开源到百度网盘,提供大家下载
链接:https://pan.baidu.com/s/1LT_lrPcQaQCkeAzmUREY5g
提取码:5ar9
版权声明:本文为CSDN博主「吱迷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_56199657/article/details/117369176
一.模块介绍
蓝牙模块
-
蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯,大致可分为三大类型:数据传输模块远程控制模块等。
-
RXD: 接收端
-
TXD: 发送端
实物图及参数
舵机
原理
舵机的控制一般需要一个20MS左右的时基脉冲,该脉冲的高电平部分一般为0.5MS-2.5MS范围内的角度控制脉冲部分,总间隔为2Ms。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5MS--------o度;
1.0MS-------45度;
1.5MS-------90度;
2.0MS-------135度;
2.5MS-------180度;
- 占空比控制舵机角度:
实物图及参数
二.开发工具
- 编程软件:KEIL5
- 串口软件:XCOM V2.0
- 烧录软件:stc-isp-15xx-v6.86C
- 手机APP:SPP蓝牙串口(安卓手机)
三.程序代码
部分代码如下,完整代码在下面会提供百度网盘下载。
对应视频讲解说明在B站有分享。
在main.c文件中
/*
B站:Tuyue沐尘
本程序采用stc8a8k64s4a12为主控
舵机接线-----信号线接P37
蓝牙模块 TX---接单片机P30
RX---接单片机P31
*/
#include "all.h"
int main()
{
sart_Init(9600);
Timer0Init();
printf("这是一个串口程序\r\n");
while(1)
{
steering_control();
switch(rdata) //串口控制,写需要的效果
{
case '1':P00=0;break; //舵机控制
case '2':P00=1;break;
case '3':P01=0;break; //灯控制
case '4':P01=1;break;
}
if(usart_flag)
{
usart_flag=0;
usart_send_str(buffer); //字符串回显
if((strcmp((char*)buffer,"led_on"))==0)
{
memset(buffer,0,sizeof(buffer)); //c语言数组清零
P01=0;
}
}
}
}
在usart.c文件中
#include "usart.h"
#define sysclk 24000000
bit busy;
int r_ret=0;
int usart_flag=0;
char buffer[32];
char rdata;
void usart_Init(int BRT)
{
SCON = 0x50;
//关闭定时器0,模式选择16位自动重载
TMOD = 0x00;
//定时器1,1分频,选择定时器1为波特率发生器
AUXR = 0x40;
//波特率
TL1 = (65536-sysclk/BRT/4);
TH1 = (65536-sysclk/BRT/4)>>8;
//禁止T1中断
ET1 = 0;
//开启定时器1
TR1 = 1;
//开启串口1中断
ES = 1;
//使能总中断
EA = 1;
busy = 0;
}
void usart_send(char dat) //字符
{
while(busy);
busy = 1;
SBUF = dat;
}
void usart_send_str(char *p) //字符串
{
while(*p)
{
usart_send(*p++);
}
}
char putchar(char c) //printf
{
usart_send(c);
return c;
}
void usart_Isr() interrupt 4
{
if(TI==1)
{
TI=0;
busy=0;
}
if(RI==1)
{
RI=0;
rdata=SBUF;
// usart_send(rdata); //回显
if(rdata!='\r' && rdata!='\n') //看是否换行or回车,再进行存放数组
{
buffer[r_ret++]=rdata; //buffer[0]=rdata;
}
if(rdata=='\n')
{
buffer[r_ret]=0;
usart_flag=1;
r_ret=0;
}
}
}
四.串口调试和手机APP控制
电脑端
手机端
五.分享的百度网盘资料
B站视频链接
蓝牙模块控制舵机教程视频讲解
百度网盘链接
51、stc8a8k、stm32的都开源到百度网盘,提供大家下载
链接:https://pan.baidu.com/s/1LT_lrPcQaQCkeAzmUREY5g
提取码:5ar9
版权声明:本文为CSDN博主「吱迷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_56199657/article/details/117369176
暂无评论