[资料分享] 可播放语音的红外遥控小车

gxlujd   2008-3-21 13:14 楼主
由于这段时间工作很忙,OUR ROBOT 1号的研发工作一直搁浅。最近利用指导本科毕业生毕业设计的机会,和漂亮的毕业生陈MM一起制作了一辆可播放语音的红外遥控小车,也算是把OUR ROBOT 1号的一些核心部件进行了实际组装测试,收获颇多,先看看照片吧。 1、洞洞板子的最后检查。 2、小车正面。 3、后侧面。 4、正后方。 5、前侧面。 6、再来一张。 7、俯视。 8、板子。 9、大脑:MEGA8L。 10、主力:L298N。 11、嗓子:PM5020。 12、眼睛:红外一体化接受头。

回复评论 (21)

回复: 可播放语音的红外遥控小车

征得陈MM的同意,在此公布原理图和BASCOM的源程序。 源程序(BASCOM-AVR 1.11.8.1编译通过): 鄙人的作品,自我感觉程序风格还是比较清晰流畅易懂的……(在此省略N个赞美之词)看不懂请跟帖提问,哈哈! '********************************** 编译器设置 ********************************* $regfile = "M8def.dat" $crystal = 7372800 $hwstack = 32 $swstack = 32 $framesize = 32 '*********************************** 定义常量 ********************************** Const Car_forward = &B00000110 Const Car_back = &B00001001 Const Car_left = &B00000101 Const Car_right = &B00001010 Const Car_stop = &B00001111 '********************************* 指定端口别名 ******************************** Voc_sck Alias Portc.4 Voc_dat Alias Portc.5 '******************************** 声明自定义过程 ******************************* Declare Sub Chip_init() Declare Sub Voc_play(byval Command As Byte) Declare Sub Car_go(byval Type As Byte , Byval Speed As Byte) '******************************** 声明自定义函数 ******************************* Declare Function Get_speed() As Byte Declare Function Get_command() As Byte '********************************* 声明全局变量 ******************************** Dim Main_speed As Byte , Car_state As Byte '************************************ 主程序 *********************************** Call Chip_init() Wait 1 Call Voc_play(&H08) Do Main_speed = Get_speed() Select Case Get_command() Case &H00: Call Voc_play(&H00) Case &H01: Call Car_go(1 , Main_speed) Call Voc_play(&H01) Car_state = 1 Case &H02: Call Car_go(2 , Main_speed) Call Voc_play(&H02) Car_state = 1 Case &H03: Main_speed = Main_speed / 2 Call Car_go(3 , Main_speed ) Call Voc_play(&H03) Car_state = 0 Case &H04: Main_speed = Main_speed / 2 Call Car_go(4 , Main_speed ) Call Voc_play(&H04) Car_state = 0 Case &H05: Call Car_go(0 , 0) If Car_state = 1 Then Call Voc_play(&H09) Waitms 800 End If Car_state = 0 Call Voc_play(&H05) Case &H08: Call Voc_play(&H08) Waitms 200 Case &H09: Call Voc_play(&H07) Waitms 200 Case &HFF: $asm Nop; $end Asm Case Else : Call Car_go(0 , 0) Call Voc_play(&H06) End Select Loop '********************************** 自定义过程 ********************************* Sub Voc_play(byval Command As Byte) Local I As Byte , Temp As Byte Command = Command + &H80 Waitms 50 For I = 1 To 8 Reset Voc_sck Temp = Command And 1 If Temp = 1 Then Set Voc_dat Else Reset Voc_dat End If Rotate Command , Right Waitus 10 Set Voc_sck Waitus 10 Next I End Sub Sub Chip_init() Portb = &B11111001 Portc = &B11111111 Portd = &B11111111 Ddrb = &B00000110 Ddrc = &B00111111 Ddrd = &B00000000 Config Rc5 = Pinb.0 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256 Start Timer1 Enable Interrupts End Sub Sub Car_go(byval Type As Byte , Byval Speed As Byte) Select Case Type Case 0: Portc = &B00001111 And Car_stop Case 1: Portc = &B00001111 And Car_forward Case 2: Portc = &B00001111 And Car_back Case 3: Portc = &B00001111 And Car_left Case 4: Portc = &B00001111 And Car_right End Select Pwm1a = Speed Pwm1b = Speed End Sub '********************************** 自定义函数 ********************************* Function Get_speed() As Byte Local Speed As Byte Speed = Pind Rotate Speed , Right , 4 Speed = Speed And &B00001111 Get_speed = Speed * 17 End Function Function Get_command() As Byte Local Address As Byte , Command As Byte Getrc5(address , Command) If Address = 0 Then Command = Command And &B01111111 Get_command = Command End Function
点赞  2008-3-21 13:15

回复: 可播放语音的红外遥控小车

点赞  2008-3-21 13:16

回复: 可播放语音的红外遥控小车

迟到的制作感受: 1、L298是一块性能很优秀的IC,耐用不容易坏,发热量低,使用起来也很容易,基本上就是不接错线就能用的,实为制作小功率机器人小车的首选,但愿该IC不要停产为好…… 2、这次采用的履带车架用料很好,原来是挖掘机和钩机的玩具,下部都是一样的,拆掉上面的部分就是一个很好的机械平台,电池仓和电路板平台都一应俱全。但是电机菜了点,有条件的可以更换功率大些的电机,以免速度和动力不够。 3、履带相比轮子来说更能适应复杂地面,虽然不能装上编码盘,但是野外使用效果很好,采用左右轮逆向驱动的方式来转弯,并没有想象中的履带比轮子笨拙的问题,也可以实现原地转圈,不会产生最小转弯半径过大的问题。 4、对于制作机器人,锂离子电池是最好的电源,其他的可充电电池都是太重,极大消耗机器小车的动力,工包的笔记本电池芯比较好用,价格也比较低,当然,二手的手机电池也是不错的选择。 5、要制作一个可以跑起来的小车并不困难,但是要达到最高效率,以及配合各种传感器做自主行动,就不是很简单的事情。车身自重和电机功率、电能消耗以及电池的重量,感觉总是有一定的关系在里边,但是鄙人数学比较差,没法建立相关的数学模型,只能靠使用最大能量密度的电池以及多次试验才能解决这些问题,以前总觉得高数是垃圾,现在才觉得,做理工科的还真是少不了高数~~~~~老师原谅我吧,毕业N年后才觉得你的知识多么有用
点赞  2008-3-21 13:16

回复:可播放语音的红外遥控小车

不错啊,哈哈,那天有空我做一个,看看效果怎么样啊。
点赞  2008-3-21 13:30

回复:可播放语音的红外遥控小车

看着很爽啊,我也想做一个
linger85921·hotmail.com
点赞  2008-3-21 14:26

回复: 可播放语音的红外遥控小车

文章写的很不错,不过下面这个最好做个PCB比较好,谢谢分享!
  • jpg
喜欢单片机的请加群48811593(500人超级群)
点赞  2008-3-21 17:01

回复:可播放语音的红外遥控小车

haowan
点赞  2008-3-21 18:06

回复:可播放语音的红外遥控小车

羡慕啊,怎么牛,呵呵,我也想搞个什么发明的
点赞  2008-3-21 19:39
zhen xiang zi ji zuo yi ge
点赞  2008-4-26 14:26
看着很爽啊,我也想做一个
点赞  2008-4-26 16:17
不错,多交流哈,你的设计提案好
点赞  2008-6-7 10:17
看着很爽啊,我也想做一个
楼主的图片看不到,7楼的好像没最终外形。。。。。。。。
点赞  2008-6-7 10:38

很有同感!怀念 老师的谆谆教导

老师原谅我吧,毕业N年后才觉得你的知识多么有用。。。。。。。。。。。
点赞  2008-6-7 10:40

Re: 可播放语音的红外遥控小车

先下再顶,也总是入不敷出啊。
点赞  2009-1-13 09:29

Re: 可

好播放语音的红外遥控小车
点赞  2009-3-12 04:20
我来顶一顶
点赞  2009-3-16 11:05

Re: 可播放语音的红外遥控小车

N人啊,LZ真强悍
https://home.eeworld.com.cn/?110427
点赞  2009-3-20 12:41
看不到啊,怎么个情况
点赞  2011-9-23 16:18
为什么我看不到图呢
嵌入式培训www.51great.org
点赞  2011-9-23 16:56
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复