在传感器加上外围电路来检测接收管的信号,进而确定是否接受到反射回来的红外线,如上图图右下方的器件工作示意图。
所谓电压比较的原理就是给任一输入端一个参考电压(通过转动电位器来改变参考电压的值),我的原理图中给IN输入参考电压,当IN的电压高于IN时,OUT为低电平,反之亦然,IN仅需与IN相差mV就能在OUT端得到比较结果。在做Ardui
o扩展板的时候一定要对各端口的使用有个大致的规划,其实我觉得Ardui
o核心板的设计是不太理想的,见下图:
f大家都知道,万能板相邻两孔的间距是标准的100mil也就是254mm图中b508mm,图中254a508,这就很尴尬,导致我之前焊的万能板如果要同时用07和813口的时候,板子需要很费劲的插上去,并且插上去万能板就弯曲了,如下图:
f所以我为了避免那样的情况再次发生,我板子里的端口只用了07和A0A5A口也可以做数字输入输出,端口为1419,还有VINRESET。
电压比较器原理图注:扩展板上加一个复位开关是非常方便调试的。
f原理图和PCB文件从这里打包下载httpdldba
kcomc01xsmcuy0下图是用万能板焊好的电路,这个电路焊完非常有成就感,对于万能板来说应该密度还挺高的。
f怎么样,本人的焊接技术还行吧!考虑到给舵机供电的原因,我决定给每个舵机独立用7805供电,还好L7805CV的电流最大有1A,完全能满足舵机的需求,这个板我称作基础动力电源扩展板,预留了超声波接口和一个多余的舵机口,所以这个板用来实现超声波壁障也是没问题的。
fff都焊过前面那个板子了,焊这个板子当然是小菜一碟了。
f插上调试,我的两个用万能板焊的板子没有任何问题,在佩服自己的同时也再次自信一下吧!将电路装到小车上,开始调试……
视频地址:httpvyoukucomv_showid_XNDE1NjEwOTcyhtml
4程序部分
f(时间仓促,未精调,只是实现功能)供大家参考:先定义各接口i
tlled7i
trled4i
tlmotor19i
trmotor18i
trdate0i
tldate0i
tledpi
14i
tl0i
tr0i
ta0i
tb0i
tc0i
te0voidsetuppi
ModelledINPUTpi
ModerledINPUTpi
ModelmotorOUTPUTpi
ModermotorOUTPUTpi
Modeledpi
OUTPUTvoidru
fori
ti0iaidigitalWritelmotorHIGHdelayMicroseco
dsldatedigitalWritelmotorLOWdigitalWritermotorHIGHdelayMicroseco
dsrdatedigitalWritermotorLOWdelay18voidloopldigitalReadlledrdigitalReadrlediflHIGHrHIGHdigitalWriteledpi
HIGHelse
fdigitalWriteledpi
LOWiflHIGHrHIGHwhilelHIGHrHIGHldigitalReadlledrdigitalReadrledelsr