实现Android平台的手机用重力感应蓝牙遥控小车
1、一般舵机调试PWM脉宽在1-2ms之间,给的值不同,转动角度也不同。50Hz,20ms的周期一般不用改.马达调速也是PWM。也就是占空比的概念,简单的说比如:给马达1秒的电,然后断9秒,再重复这个过程,这时占空比为1/10.如果给9秒的电断1秒,占空比为9/10.这时肯定比刚才转的快。当然实际不会到秒级,一般都是毫秒级。马达我用的是20Hz,50ms的周期。
2、private final byte GO_LEFT = (byte)0x20;//左转private fi荏鱿胫协nal byte GO_RIGHT = (byte)0x30;//右转private final byte GO_MIDDLE =(byte)0x40;//回中private final byte GO_DRIVE = (byte)0x71;//前进 0x51private final byte GO_BACK = (byte)0x70 ;//倒车 0x50private final byte GO_NULL = (byte)0x10;//停车这些事我定义的编码,可以自己定义。下面对应的是单片机接收部分代码switch(cmd&0xF0){case 0x20://左转0010 0000Bturn=left;//1.8msturn_right=0;servo_num=0;isOK=0;if(!TR0)TR0=1;break;case 0x30://右转 0011 0000Bturn=right;turn_right=1;servo_num=0;isOK=0;if(!TR0)TR0=1;
3、L298N很简单,稍微了解一下就知道。我买的是能带2个直流电机。端口有IN1,IN2,ENA这是一个马达用的。另一个IN3,IN4,ENB。这里我们只用了一个。比如正转:IN1个1,IN2给0,ENA给1就是正传,反转就是011.具体大家可以看他的真值表。
4、还有就是注意设置蓝牙超出范围断开时的操作。别让小车跑飞了啊,哈哈。HC-06模块未连接蓝牙时有一个指示灯闪烁,也是输出脉冲。配对连接后常亮也就是高电平。然后有一个STATE脚就是从这并联出来的。把这个脚接到89c52的外部中断0脚。设置下降沿有效。在串口中断函数里开启。如果断开蓝牙,输出脉冲,下降沿低电平就会触发中断,然后在这里设置停车等操作。
5、一下子说不清,有需要的联系我可以给你源代码。