for(j=0;j<200;j++);
}
voidturnL()
{
uchari;
DDRB|=BIT(0);
DDRB|=BIT
(1);
DDRB|=BIT
(2);
DDRB|=BIT(3);
PORTB|=BIT(0);
PORTB&=~BIT
(1);
PORTB|=BIT
(2);
PORTB&=~BIT(3);
PORTB&=~BIT(0);//也可以进行倒车转向(左电机)
delay(10);//通过左电机停止运行时间来控制转向角度(具体数据待调试)
PORTB|=BIT(0);
}
voidturnR()
{
uchari;
DDRB|=BIT(0);
DDRB|=BIT
(1);
DDRB|=BIT
(2);
DDRB|=BIT(3);
PORTB|=BIT(0);
PORTB&=~BIT
(1);
PORTB|=BIT
(2);
PORTB&=~BIT(3);
PORTB&=~BIT
(2);//也可以进行倒车转向(右电机)
delay(10);//通过左电机停止运行时间来控制转向角度(具体数据待调试)
PORTB|=BIT
(2);
}
voidxunji()
{
DDRA&=~BIT(0);//置为输出端口
DDRA&=~BIT
(1);//置为输出端口
PORTA|=BIT(0);//置为有上拉电阻
PORTA|=BIT
(1);//置为有上拉电阻
if(PINA&0x01)//PORTA(0)==1
{
turnL();
}
if(PINA&0x02)//PORTA
(1)==1
{
turnR();
}
}
voidmain()
{
while
(1)
{
xunji();
}
}
三、软件流程图:
四、自制元器件介绍:
1.自制发射式红外光电传感器:
元件介绍:
制作流程:
将一个红外对管用纸进行包装,使红外光线不能溢出,再用硬纸片挡在相邻的红外发射管和红外接收管之间,防止对管直接接通。
功能:
能够用于检测地面平整程度,是否有白线或者黑线,还有其他探测的功能。
特点:
性能良好,能够满足实验需要,而且价格相当便宜。
五、小车电路组成
1、产生寻迹信号的电路图
该电路由红外对管、电阻、电位器、运放组成。
2号管脚为比较电压输入,当红外发射管发射红外被黑线吸收时,接收管不导通3号管脚呈低电平,1号输出低电平;红外被反射到接收管时,接收管导通,3号管脚呈高电平,1号输出高电平。
通过1号管脚反馈出电压的高低来控制小车左右驱动的运行,从而控制小车沿黑线前进。
2、电源电路图(5v稳压电源)
该部分组成元件为LM7805
1号管脚接vcc(在6v以上);2号管教接GND;3号为输出,稳定在5伏
驱动电路连接图:
工作时:
vcc接5伏电压,M1A、M1B及M2A、M2B分别控制左右电机的转动,M1EN、M2EN分别为左右电机的使能端。
3、驱动电路图
六、实验总结
这次电路综合实验的小学期让我了解到了一直很喜欢和向往的单片机。
我一直以来对单片机都有一种不可抑制的热情,我喜欢电路设计,更喜欢用单片机来做自己喜欢的功能。
所以我这次就做了这个智能寻迹小车,可能与其他小组不太一样,我们除了小车的机械部分以外,其他的电路和模块都是自己设计、制作的,没有购买现成的模块,虽然在制作过程中也遇到一些问题,但是我觉得自己通过这次实验学到了很多。
在这次实验中,我第一次体会到了设计布局的重要性,在设计电路的布局上,需要统筹考虑电路功能的发挥最大化和车上空间的因素,找到最佳的布局。
第一次在焊板上焊接电路,前期焊接出现过问题,我们在后期焊接的时候先将电路在纸上布局好,画好模拟图,然后再进行焊接,避免了很多不必要的错误和麻烦。
在进行程序调试过程中,学习到很多联系硬件的调试方法,也积累了一定的经验。
对我以后工作中进行单片机的设计和应用有很大的帮助。
七、参考资料:
[1].崔君霞,温杨,王绍雷,施浒力,李圣明,《基于单片机的只能电动小车的设计与实现》,,《微计算机信息》,2008年
[2].avr视频教程