乐高海龟作图机器人 LEOGO
二十多年前,当我还是一个中学生,在Apple II上初学计算机编程。我第一门学会的计算机语言,就是LOGO语言。LOGO是一种很奇妙的语言,非常适合计算机初学者。使用LOGO的海龟,’REPEAT 4 [ FD 100 RT 90 ]’ 就画了一个正方形,’REPEAT 360 [ FD 1 RT 1 ]’ 可以画一个圆!
这次我制作的是一个海龟机器人,可以通过编程,在白纸上像LOGO的海龟一样画画。我给它取名叫LEOGO,因为它是LEGO和LOGO的混血儿!它使用了文具店最常见的圆珠笔芯,将笔芯通过乐高零件固定,然后用橡皮筋悬挂在控制臂上。
你可以从 http://bricksafe.com/files/ruf/leogo/leogo.ldr 下载搭建图纸,用LDView打开并一步步浏览。当然,还需要一套 8547/NXT 来完成制作。下面的视频是搭建图纸的分拆步骤:
编程是在电脑上完成的,电脑通过蓝牙控制机器人。我还创建了一个python模块,名叫 ‘leogo.py’,它提供了海龟作图的一些基础指令,例如fd()是前进,bk()是后退,lt()左转,rt()右转,还有pd()/pu()分别是落笔和抬笔,后来还增加了goto(x,y)和line(x1,y1,x2,y2)来快速画线条。你可以从 http://bricksafe.com/files/ruf/leogo/leogo.py 下载这个模块。
为了让它能够工作,你还需要在电脑上准备一下运行环境,必须要安装的有 python、nxt-python ( http://code.google.com/p/nxt-python/ ) 和 nbc/nxc ( http://bricxcc.sourceforge.net/nbc/ ),如果是使用Windows操作系统,又希望和NXT的蓝牙通信能工作,还需要安装pyBluez( https://code.google.com/p/pybluez/ )。
然后可以试试这个简单的海龟作图程序:
from leogo import * pd() // 落笔 for i in range(0,4): fd(300) // 前进300毫米 rt(90) // 右转90度 done()
找一张白纸,把这个海龟机器人放上去,它就能按照上面程序所要求,画出一个正方形。
创意无极限。