第一次接触实训,很多东西的工作原理掌握不是特别好,因此我写的就稍微浅显易懂些。所以也在此希望各位读者纠正。
刚才开始接触的小车是想用一路跟随小车,所以就开始了解这些要用到的模块。
**硬件电路:**L298N, 直流电机一对,51/52单片机最小系统板。电源,降压模块,车架,导线若干。
**遇到的问题:** 中 刚开始用 的电源是干电池,4节干电池电压达到5.8-6.2V左右,不是特别理想。因为在后面驱动电机转动后,其他硬件根本无法运转。建议在网上买一些稍贵一些的可充电电池,可充电电池电压在12V左右,因此需要一个**降压模块**,使用 降压模块一定要用万用表测量,调节旋钮,使输出电压为5V。因为后面还可以用于其他的新项目。可充电电流稍大一些,在电机转动时可以向其他模块继续供电。电压稳定性好。
在后面的驱动电路上要注意的是,要将驱动模块的负极连接到电源的负极,将单片机的负极也要连接到电源的**负极**。如果不这么做的话,即使有信号,也无法驱动电机转动。究竟为什么,就不太清楚了,也希望读者可以深究一下。
对于硬件超声波选用型号是HCSR-04,具体工作原理去论坛里了解一下,有很多资料,一定要亲自查一下会更加熟悉一些,在这里我就不过多赘述了。
下面我们放上代码:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define Moto P1
sbit trig = P2^0;
sbit echo = P2^1;
sbit trig1 = P2^2;
sbit echo1 = P2^3;
sbit trig2 = P2^4;
sbit echo2 = P2^5;
void check();
void Delay1ms(uint c);
void count();
void check1();
void count1();
void check2();
void count2();
uint time,time1,time2,S,S1,S2;
void main()
{
TMOD=0x01;
EA=1;
ET0=1;
TH0=0;
TL0=0;
while(1)
{
check();