简单的手机蓝牙遥控智能小车 您所在的位置:网站首页 蓝牙控制51单片机智能小车 简单的手机蓝牙遥控智能小车

简单的手机蓝牙遥控智能小车

2023-11-14 15:43| 来源: 网络整理| 查看: 265

       蓝牙驱动基本原理

         辆小车的基本功能就是让它能动起来,能通过手机蓝牙进行遥控,所以就需要用到L298N电机驱动模块,和HC-06蓝牙模块。下面就简单介绍一下这两个模块。

            一个L298N电机驱动模块能驱动2个马达,小车是四驱驱动,我们可以把两个L298N模块并联,并用12V电压供电,如果你的小车不需要调速,就不用考虑PWM问题,也就无需把使能端ENA、ENB的跳线帽拔掉,直接将IN1、IN2、IN3、IN4与单片机的端口相连,把OUT1、OUT2、OUT3、OUT4与马达相连即可。

                电机驱动模块弄好后,离它能动就只有一步之遥了,我们需要用到HC-06蓝牙模块对小车进行控制。

        蓝牙模块的TXD,RXD要分别与单片机的RXD、TXD相连,这样串口通信才能收发正常,然后软件设置串口。利用switch 函数,对蓝牙接收的数据进行处理,执行相应的运动。(串口调试我推荐正点原子的Xcom都行啊,能有就行了)。

下面是引脚控制98N的驱动,主要是原理双H桥路理解了就差不多了,你马达接反了转向就会不一样,哈哈小爷我就是这样马达接反了,所以要灵活运用。

 

主要程序 #include #define uchar unsigned char #define uint unsigned int sbit IN1=P1^0; // sbit IN2=P1^1; // sbit IN3=P1^2; // sbit IN4=P1^3; // sbit IN5=P1^4; // sbit IN6=P1^5; // sbit IN7=P1^6; // sbit IN8=P1^7; // void stop() { IN1=0; IN2=0; IN3=0; IN4=0; IN5=0; IN6=0; IN7=0; IN8=0; } void forward() { IN1=0; IN2=1; IN3=0; IN4=1; IN5=1; IN6=0; IN7=0; IN8=1; } void back() { IN1=1; IN2=0; // IN3=1; IN4=0; // IN5=0; IN6=1; // IN7=1; // IN8=0; } void left() { IN1=0; IN2=0; IN3=0; IN4=0; IN5=0; IN6=0; IN7=0; IN8=1; } void right() { IN1=0; IN2=0; IN3=1; IN4=0; IN5=1; IN6=0; IN7=0; IN8=0; } void Com_Int(void) interrupt 4 { uchar receive_data; EA = 0; if(RI == 1) { RI=0; IN2=0; IN3=0; IN4=0; IN5=0; IN6=0; IN7=0; IN8=0; receive_data = SBUF; switch(receive_data) { case ('1'): forward();break; case ('2'): back();break; case ('3'): left();break; case ('4'): right();break; case ('0'): stop();break; } } EA = 1; } void UsartConfiguration() { SCON=0X50; // TMOD=0X20; PCON=0X00; TH1=0Xfd; TL1=0Xfd; // TR1= 1; ES = 1; EA = 1; } void main() { UsartConfiguration(); while(1); }

    

       

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有