A 寻光
我们可以用光电二极管来检测光线强弱。当然也可以用光敏电阻。将光敏电阻和一个固定电阻串联接在电源正负极之间,光敏电阻靠近正极一侧。从光敏电阻和固定电阻连接点引出导线接到ATmega16的AD转换输入口。当强光照在光敏电阻时,光敏电阻阻值变小,因此其压降变小,而固定电阻分压增多,引出的AD检测电位升高,被单片机转化为数字量后判断光线增强。机器生命有5个光电传感器,其中4个面向机器人前后左右四个方向,另一个指向太阳能板所面对的方向。通过编程可以让机器人自主移动到光线最强的地方。 B 充电 本设计采用4.8V镍氢充电电池为系统供电。太阳能电池板正负极通过一个三极管与电池正负极相连。有一个电压比较器比较电池电压与太阳能板的压差,如果压差高于某值,比较器控制三极管导通,太阳能电池板对充电电池充电。充电电池电压上升,当高于某值时控制三极管关断,结束充电。为使太阳能板能对电池组充电,要求太阳能板在阳光直射下输出电压高于8V。
C 语音识别 用AVR单片机的高速AD检测功能能实现简单的语音识别。声音信号被驻极体电容话筒接收后送至LM386音频功放芯片放大和过滤后送至单片机AD转换口,单片机对音频信号幅值采样转化为一组数字,然后对这组进行取方差运算,得出一个特征值,该特征值可以用于简单的语音识别。比如你发一个“e”,方差应该比较小,如果你发“p”爆破音,方差应该较大。当然,如果你用更复杂的数据处理,会得到更好的识别效果。本设计使用了2路声音信号,目的是让单片机判断出声源的大体方位。 D 超声波测距 用AVR的1个IO口输出40KHz信号送至超声波发射电路,当超声波遇到障碍物返回后,被超声波接收头接收,信号经CX20106A解码芯片处理,得到一个低电平脉冲,用该脉冲引发AVR单片机中断,AVR通过检查发波和收到回波之间的时间差即可算出障碍物距离。 E 电机驱动
本设计采用2片LG9110电机驱动芯片驱动两台直流减速电机。LG9110输出最大电流为800mA,仅需要2条控制线与单片机IO口直接相连即可控制一台电机正反转或者停止。LG9110仅有8个引脚,使用非常方便。 F 让机器生命更聪明
我的这个机器生命设计方案能实现最酷的效果是:白天,阳光明媚,机器生命跑到阳光底下晒太阳,太阳光会随着时间变化,机器生命能自动跑到最合适的位置享受日光浴。到了晚上,机器生命会找个安静的地方闭目养神,等待明天太阳升起。你可以训练机器生命,让它知道自己的名字叫什么。比如你叫着它的名字,同时站在它面前用强光照射它的太阳能电池板,如此反复训练,会使机器生命听到自己名字后向声源方向跑去,在距离声源一定远处停止,因为以往这样做它都能享受强光照射并充电。这就如同真正的宠物狗,你叫它名字它就跑到你跟前希望能获得食物。这一切都是完全能够实现的,关键就在于编程序实现它。 G 想象无极限,你的机器宠物将无所不能 以上方案中,ATmega16的功能被发挥到极致,以至于没有空闲的IO口,系统不能再扩展了。如果你用ATmega128单片机做,那么它拥有53个IO口,30多个中断,128Kb的程序存储器,4Kb的RAM,使得你能编写更复杂的程序、储存更多的动态数据、连接更多的外设,你的机器生命将变得非常有生命力。比如加入三轴加速度传感器、地磁传感器、GPS定位、雨水传感器甚至摄像头、无线通信模块等,重新设计一个坚固和强劲的底盘,你的机器生命就可以在室外自由探索了。