本人学习单片机快半年了。。最近学习有些无聊,故把以前diy的一个蓝牙遥控小车来分享下。分模块:驱动模块、蓝牙模块、超声波模块(我用超声避障)
一:驱动模块
如果用L298N模块的话那就很简单方便了,直接把对应接口给接到对应的单片机IO口就OK。L298N有5V、12V和GND的电源接口,是共地的,12v和5v都给它接在5v电源的vcc吧,没问题的;IN1\IN2\IN3\IN4这四个是输入引脚,分别接在单片机四个IO口引脚,我们通过控制两组输入口就可以控制电机正反转或停,比IN1=1,IN2=0电机1就正转,IN1=0,IN2=1电机1就反转。IN1=IN2=0或IN1=IN2=1电机都会停下;然后就是两组输出口了,接两个电机就行。车的前进就是两电机正转,后退就两电机反转,停止就都不转,左右转弯让一个转一个不转(也可以通过PWM脉冲宽度调制来产生速度差进行转弯,PWM转弯比较圆滑,PWM也可以用于直线调速哦!)
假如你是要自己焊H桥驱动的话,那么去网上找电路图然后自己算算驱动电流之类的,不要等下焊出来驱动能力太弱就尴尬了。
还有一种就是只买了一个L298N芯片的话,那就对着说明焊到板子上,然后操作跟模块是一样的。
二:蓝牙模块
我用的是HC-05主从一体蓝牙模块,它比较简单只有四根线VCC、GND、TXD、RXD,把它分别接到单片机的VCC、GND、RXD、TXD,这里注意下TXD接RXD,RXD接TXD哈!在接线前应该进入AT模式设置一些东西,把蓝牙模块的线通过转换接到电脑,然后打开电脑的串口助手软件,按下模块的一个小黑点就进入AT模式了。然后用串口助手发相关指令(波特率默认初始为9600)
AT+NAME=XXX 修改蓝牙模块名称为XXX
AT+ROLE=0 蓝牙模式为从模式
AT+CMODE=1 蓝牙连接模式为任意地址连接模式,也就是说该模块可以被任意蓝牙设备连接
AT+PSWD=1234 蓝牙配对密码为1234
AT+UART=9600,0,0 蓝牙通信串口波特率为9600,停止位1位,无校验位
三:超声模块
超声模块HC-SR04,接口只有四个,VCC、GND、Trig、Echo。这个的使用也简单,给Trig一定时间高电平,然后通过定时器检测Echo收到返回信号所花的时间就可以算出距离了。附上程序吧,我用STC89C51,晶振是110592的
void sent()
{
TX=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
void Conut() //距离计算
{
sent();
while(!RX);
TR0=1;
while(RX);
TR0=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
S= (long)(time*0.17); //单位mm
delay(20);
}
然后好像就剩程序了,然后蓝牙遥控的可自动避障小车就出来了。可以加些东西在车上,毕竟还有好多IO口。
|