今天上午调了一上午的平衡程序,发现好多问题,电机这块的程序就好多bug,然后就越调越乱,最后完全没了思路,所以准备把车全部搭出来再程序写程序。
把各种模块都拿出来,需要的电阻,电容,烙铁,跳线,摆一排,感觉我们三是要大干一场了。
(搭第二层中)
这里打孔又是最麻烦的,因为不在实验室,没有钻孔机了,我们用锤子螺丝慢慢打出来的
(红外线循迹)
(资料是在网上找的)
(原理图)
红外发射二极管跟普通的LED二极管一样,只是LED发射的是肉眼看得到的可见光,而红外发射二极管发射的是人眼看不见的红外线,红外发射二极管的正向压降大约1.2V,发射的功率以及发射的距离跟流经的电流成正比,嘴大平均工作电流不要大于100mA,这里选用的是220欧姆的限流电阻,流经红外发射二极管电流为(5V-1.2V)/220欧姆=17.2mA。
停止
红外接收二极管跟光敏电阻类似,可以根据这一点在其电路上加一个10K欧姆的电阻,当有红外线照射时电阻很小,则在上图中与红外接收二极管负极相连的P2.0/P2.1/P2.2输出口输出为“0”,当没有红外线照射时,输出为“+5V”。
可以根据这一点进行红外巡线,巡线原理如下:当红外发光二极管照射到白色地板时,反射红外线,被与之对应的红外接收二极管接收,输出为逻辑“0”。反之当红外发光二极管照射到黑线时,红外线被黑色物体吸收,则与之对应的红外接受二极管无红外线照射,输出为逻辑“1”。
我的想法是将其分为“左”“中”“右”3路,那么分别会有8中情况,情况如下
程序以后供上
左路
中路
右路
电机动作
0
0
0
停止
0
0
1
右转
0
1
0
前进
0
1
1
右转
1
0
0
左转
1
0
1
停止
1
1
0
左转
1
1
1
(电源)
从图中可以看出我接了两个电源接口,一个5V usb接口,一个接9V 电池,因为电池不怎么好,所以调程序时准备用移动电源。
(整体)
一下午搭的,是不是帅到想哭
(顺便分享一点经验,就是用排针引出VCC或GND时多接几个排针,像我们只接了四个排针,回来发现少了时再引出来特别麻烦的。)
然后简单的写了个lcd的程序,哈哈,感觉特别特别特别帅
(附上所用单片机IO口)
接下来的日子就只要是把一个一个的模块程序写出来,然后慢慢调吧