*## 单片机小车
本周作为单片机新手的我制作了我的第一个作品—单片机小车
一 元件:1.单片机最小系统板
2.杜邦线
3.USB转TTL CH340模块STC单片机下载线刷机板USB转串口
4.智能小车配件 红外寻迹
5.智能小车51单片机套件底盘组装寻迹避障开发板编程循迹机器人配件
6.L298N电机驱动板模块
二 制作
1.安装小车
小车安装还是很简单的
2.安装电子元件
先固定电子元件会导致不好连接操作,所以我是先先连接好元件,在固定的。
我是按照这个连接图连的。
练好后应该是这样的。
注意:①电机驱动模块上的GND和5V与单片机练好后,12v和5V需要再来一根导线连接一下。
②电机驱动模块与电机连接时候挺费劲的,需要先把接线柱的螺丝拧开,我宁的时候差点把小车底座捅穿。
③接电机时候一定要注意正负极,通电的正负接法会影响小车跑的方向,如果两个接错之后小车会倒跑,一个接错小车就会原地转了。
④可以考虑把避障装在小车靠下面,这样遇到低的障碍物也可以变向。
3.编代码
’
#include <REG52.H>
sbit ENA=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit ENB=P2^0;
sbit IN3=P2^1;
sbit IN4=P2^2;
sbit A1=P1^0;
sbit B2=P1^1;
void delay(int z)
{
int x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}
void go()
{
ENA=1;
IN1=1;
IN2=0;
ENB=1;
IN3=1;
IN4=0;
}
void back()
{
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=0;
IN4=1;
}
void right()
{
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=1;
IN4=0;
}
void left()
{
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=1;
IN4=0;
}
void main()
{
while(1)
{
go();
if(B20)
{
back();
delay(500);
left();
delay(700);
}
if(A10)
{
back();
delay(500);
right();
delay(700);
}
}
}
’
如果是按照上面连接图装的小车,可以直接用上面的代码。如果是自己装的,就需要记住连接口名字,编代码时候写。
4.烧录
烧录时候还是遇到困难的,之前一直是用自己的开发板烧录,和这个不太一样。开发板只要一根线就好,而这个需要电源线和USB转TTL CH340模块STC单片机下载线刷机板USB转串口。开始时候我们班每一个烧录成功的,每次都会报错,或者在检测中。所以我们只能拿开发板的芯片用。我在烧录失败几次后把单片机上的按钮按了几下。再次尝试时,显示检测中了,但我这时候发现单片机没开,在按下按钮时候突然提示烧录成功。挺开心的,作为我们班第一个造好的。
所以烧录时候得先用USB转TTL CH340模块STC单片机下载线刷机板USB转串口接电脑开始下载,然后打开单片机才能烧录成功。
注意:烧录时候需要注意单片机型号和串口号。单片机型号在单片机上有标注。串口号需要右击此电脑—管理—设备管理器—端口查看。烧录时候需要再软件中自己调。
最后展示一下
可惜不能发视频。
总之这周还是收获挺多的,也挺开心。