-
智能小车避障,
一般多数人用红外对管做,但效果不好,
本人参考网上的一段视屏,做了一
个用超声波模块和舵机的避障系统,
小车,小车驱动模块,以及避障系统淘宝网都有售,小
车要
60
元左右,
小车驱动也只要
20
元加上超声波和舵机的四五十元,
基本上就能完成这个<
/p>
小车避障的硬件设计了,
该车的功能是当小车在前方遇到障碍物,
舵机可以控制超声波模块
左右扫描,判断哪一边没有障碍则往那
边行走,如果两边都有怎后退大转弯继续行走。
小车控制系统
用
52
单片机,
你也可以用
51
的随便你。
最好用几个电源模块防止舵机,<
/p>
小车
电机,单片机电源相互影响。
具体程序如下:
#include
#include
#define
uble double
uble th=0;
uble
tl=0;
uble time=0;
uble
distance=0;
#define uchar unsigned char
#define uint
unsigned int
uchar
n=1,right=1,left=1;
uble distance;
sbit Trig=P2^0;
sbit
Echo=P3^2;
sbit z1=P0^3;
//
左电机前进
sbit z0=P0^4;
//
sbit y1=P0^5;
//
右电机前进
sbit y0=P0^6;
//
sbit been=P2^3;
/*
变量定义
*/
uchar
key_stime_counter,hight_votage=15,timeT_counter;
bit key_stime_ok;
/*
引脚定义
*/
sbit control_signal=P2^2;
void DelayUs(uchar us)
{
uchar uscnt;
uscnt=us>>1;
while(--uscnt);
}
void delay(uint
ms)
{
while(--ms)
{
DelayUs(250);
DelayUs(250);
DelayUs(250);
DelayUs(250);
}
}
void zhiz()
{
z1=1;
z0=0;
y1=1;
y0=0;
}
//
右转减速前进
void youz()
{
z1=1;
z0=0;
y1=0;
y0=0;
}
//
左转减速前进
void zuoz()
{
y1=1;
y0=0;
z1=0;
z0=0;
}
//
后退
void hout()
{
y1=0;
y0=1;
z1=0;
-
-
-
-
-
-
-
-
-
上一篇:系统解剖名词解释
下一篇:犀牛grasshopper运算器名称解释