用51单片机制作蓝牙小车



需要准备:小车底盘,12v电源,驱动(L298N),万能板,具有pwm功能芯片(这里使用stc12c5608ad),排针至少两条,芯片底座,一个大电容(10μf),小电容(30pf),晶振(110592),两个1000Ω电阻,两个开关,一个LED,蓝牙(hc05),手机蓝牙app。

开始制作

      焊接:首先使用烙铁前要保证烙铁头清洁。在操作时候,先将烙铁放置到位,再推动焊锡,让焊锡包裹住针脚后,先撤焊锡再撤烙铁,整个过程不能超过1秒,而且烙铁尽量垂直起降,用点连成线,切忌拖拉焊锡。如果做错会导致很多麻烦,比如先将焊锡放置,在放置烙铁,很容易使焊锡包裹烙铁。超过一秒或用烙铁拖拉焊锡会使铜片焊盘脱落。


         蓝牙调试:任何一个串口调试助手均可。蓝牙使用at指令,网上有全部指令,这里讲解一些需要注意的,at指令不区分大小写,并且每次只能输入一条,每条以回车结尾。蓝牙的txd接单片机的rxd,蓝牙rxd接单片机txd(rxd:接收数据,txd:发送数据)。

 软件调试:遥控车原理就是遥控器发出信号,单片机处理,电机转动,三个过程。所以所需技术就是,串口通讯,PWM调速。

         串口通讯:

#include
unsigned char flag,num;
void ser() interrupt 4      //串口中断 

   RI = 0;
   num = SBUF;           
   flag=1;
}
void  Init_Timer1(void)
{
    SCON=0x50;          
    PCON=0x00;                        
    TMOD=0x20;         
    EA=1;
    ES = 1;            
    TL1=0xfd;  //开启定时器1
    TH1=0xfd;            
    TR1=1;
}

void main()
{
Init_Timer1();
 while(1)
  {
         
  if(flag==1)   
   {
    SBUF=num;
    while(!RI);
    RI=0;
    flag=0; 
   }
  }
}
          pwm调试:pwm技术是使用数字信号(方波)来控制模拟电路,用方波频率(占空比),来调整模拟电路工作效率。这里使用定时器0,来控制输出频率,关于驱动en1 in1 in2控制左边车轮,其余控制右边(例子为前进程序)。当en1/en2=1 in1/in3=1 in2/in4=0为正转,反之为反转。

          

#include
sbit EN1=P3^5;
sbit IN1=P2^2;
sbit IN2=P2^3;
sbit EN2=P2^4;
sbit IN3=P1^7;
sbit IN4=P1^6;
int value=20,PWM=10,i=0;

void Init_Timer0(void)
{
 TMOD |= 0x01;       
 TH0=0x00;            
 TL0=0x00;
 EA=1;                       

 ET0=1;                    

 TR0=1; 
}

main()
{
 Init_Timer0();
 while(1);
}

void Timer0_isr(void) interrupt 1 using 1
{

 TH0=0x00;  
 TL0=0x00;

IN1=1;
IN2=0;
IN3=1;
IN4=0;
while(1)
{
i++;
if(i<=PWM)
{
EN1=1;
EN2=1;
}
if(i>PWM&&i<=value)//占空比为二分之一
{
EN1=0;
EN2=0;
}
if(i>value)
i=0;
}
}

最后了解完技术原理就可以将串口通讯和pwm组合在一起就可以玩自己的遥控车了。

猜你喜欢

转载自blog.csdn.net/weixin_40552023/article/details/80153024