做这个小车真是历尽波折
因为我的零件是散买的,所以在组装时出了各种幺蛾子
先是装马达的时候发现螺丝买短了,之后又是单片机最小单元装不到小车底板上…
千辛万苦把小车组装好了,终于可以开心(并不)的写程序了
关于小车的程序
开始的时候本来是准备设计成在传感器触发时转向,在感应器感应消失后再加一个延时使小车转到与障碍物平行的方向,但运行时发现感应器的感应范围太小,导致小车在避障程序触发时与障碍物靠得太近,无法转向。后来决定将转向的时间设为定值,并加了后退的程序,然而测试时发现因为电池电压太低,电机在运转方向改变以及在停止后再启动时时不时会卡住,导致测试根本没法继续。由于新买的3.7v电池下周才能到,赶不上这周的作业,因此我就先把目前写完的代码发出来了。
main
# include <REGX52.H>
#include "direction.h"
#define u8 unsigned char
#define u16 unsigned int
sbit BZL=P2^0 ;
sbit BZR=P2^1 ;
void main()
{
while(1)
{
forward(0);
if(BZR==0) //由于我把右避障接在了单片机最小单元三个供电口的最前
{
//面,在障碍物宽带度足以触发两个避障时会先触发右避
back(700);