宜昌城老张的博客

我工作在湖北宜昌市三峡大学,热衷基于桌面环境的机电模型制作。本博客探讨的内容已涉及到Processing互动艺术、Arduino单片微控制器、开源软件、机器人,欢迎回帖!

博客列表

乐高相扑眼小车迷宫探路
发表于:2013-11-02 12:18:37 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

 图1 乐高相扑眼小车全景图    每当看到网络上那些机器人打擂台的视频,总是让人有些激动,试想着自己为啥不能做一个这样彪悍的机器人参加“战斗”。这样的机器人除了电机马力强劲,车身铜墙铁壁,还就是能机敏地观测到对方机器人位置,以便随时冲上去把对方赶下擂台。乐高相扑机器人比赛视频:http://player.youku.com/player.php/sid/XNjIwMTY0MTcy/v.swf    相扑小车一般找到对方物体,会把物体退出擂台以外,而这次设计的相扑车虽然使用了相扑眼传感器,但并不是攻击对方物体,而是躲避对方固定物体。我用黑色电工胶布在米色地板砖上“画”了个圈,小车在躲避前方物体时,不能离开黑圈之内。小车躲避物体用到的是美国Mindsensors公司出品的相扑眼传感器NXTSumoEyes,而限制它场内移动的是两个光线传感器。相扑小车视频:http://player.youku.com/player.php/sid/XNjE5OTY5ODgw/v.swf    这次制作的相扑小车

乐高指南针车(NXC)
发表于:2013-10-09 09:58:39 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

 图1 乐高指南者车全景图    本文通过乐高指南针传感器和超声波传感器的组合应用,找到智能车前方的三个物体 ,并把它们分别推出界外。由于乐高超声波传感器的精度为1厘米,指南针传感器的精度为1度,两者的精度并不高,所以通过两次扫描、定位和靠近,以使小车爪子能“抓住”物体,并成功推出界外。    以前的文章也介绍了一种通过两次扫描、定位和靠近来定位物体的方法,文章题目《智能机械手车的寻物取物表演(NXC)》,网址:http://www.eefocus.com/zhang700309/blog/11-11/235304_8c92e.html。与本文介绍的方法不同,那篇文章是通过乐高伺服电机的编码器和超声波传感器的组合来定位物体。从这一点看来,前者的工作总是可以对后来者提供启发,这篇文章的编程思路就很大程度上借鉴了上篇文章的思路,使后来者的任务实现更容易达成。实验视频:视频网址:http://player.youku.com/player.php/sid/XNjE1MDYxMzEy/v.swf    这辆指南者车

用JAVA给乐高NXT机器人编程
发表于:2012-03-03 20:33:39 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

      Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。JAVA普遍应用在我们生活中的每一个角落,从电子仪器到火星探测车都看得到它。    假如您藉由LEJOS与乐高NXT来进入JAVA的世界,那么在实际制作各种机器人的同时,您也已经学会了如何将JAVA应用于电脑程序应用,以及Andriod手机开发了。我也想通过这种方式,来拓展创客制作的视野。    先看我为这篇文章录制的实验视频:   如果要用LEJOS NXJ来编程NXT机器人,第一步就是下载和正确安装编程环境,然而讲解这个“第一步”也需要相当的文字量来说明,幸好,有“LeJOS NX

智能机械手车的寻物取物表演(NXC)
发表于:2011-11-25 11:28:59 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

     这个机械手车最聪明,它可以通过超声波传感器扇形扫描的方式,自主寻找离它最近的物体,确定物体方位,并向前把它抓起来,送到再远点的地方放下,然后快速退回起点位置,继续寻找其它最近的物体,循环三次,依次寻找、抓取、搬运、和放下三个物体。看看这个机器人的表演吧。    这个智能机器人脑子咋想的,这么聪明地完成了预设的任务,当然是通过程序实现的,这次我依然是用NXC软件编写程序。前面两篇文章先看看。 C语言乐高玩具枪的制作http://www.eefocus.com/zhang700309/blog/11-11/234833_a4815.html不会跌落的桌上巡游车(NXC编程)http://www.eefocus.com/zhang700309/blog/11-11/235020_c5e3b.html         这个机械手车有三个电机,A电机控制着机械手的抬起和放下动作,B、C电机控制着小车的左右轮子,从而控制着小车的行走。    看第一张图片,您可以找到几个传感

不会跌落的桌上巡游车(NXC编程)
发表于:2011-11-18 16:50:56 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

     桌上巡游车能够在桌子上到处跑,但不会跌落下来,这个智能车蛮聪明的。它长了两个触须,触须上连接触碰传感器,当触须到达桌子边沿,其上的触碰传感器会压下,给智能车的“大脑”发出一个信号,于是“大脑”进行逻辑判断,给智能车的驱动电机发出命令,让小车后退,再转弯,躲开桌沿而不跌落,并继续在桌上巡游,以此往复。看看视频:为了完成视频上的任务,我用NXC编制了程序。您可以先看看我的NXC的入门文章: http://www.eefocus.com/zhang700309/blog/11-11/234833_a4815.html,NXC软件是免费的,该软件下载地址在我的入门文章里。 不会跌落的桌上巡游车的NXC程序:(详细注释)task main(){   //设定“右”触碰传感器接在NXT控制器的传感器接口1上   SetSensorTouch(S1);   //设定“左”触碰传感器接在NXT控制器的传感器接口2

C语言乐高玩具枪的制作
发表于:2011-11-15 15:02:56 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

 图1:玩具枪全景图      儿子让我给他买玩具,口袋里没钱,于是想,不如用乐高工程积木给他做一个玩,就像小时候爸爸给我做的那个木船一样,我用线牵着木船在小水池里荡来荡去,高兴得很!现在我也可以给我儿子亲手制作玩具了,心里也很爽。     看看上图,就是我花了半个小时,搭建的乐高玩具枪,可以发射子弹,同时配上“COOL”的音效。视频:    这个玩具枪有一个触动传感器和一个伺服电机,分别连线到NXT控制器的传感器端口1和马达端口A,用手指扣动扳机,即压下触动传感器,A伺服电机以功率为100的速度旋转360度,电机带到曲柄滑杆机构动作,滑杆顶出一颗子弹,把纸杯打倒。手指再扣动一次扳机,又发出一颗子弹。    以上任务逻辑,我这次是使用NXC编程实现的,NXC为John C.Hansen所开发的类C语言,NXC是取Not eXactly C之意。它完整支援所有NXT硬件资源,包括:控制器、伺服电机、传感器和许多第三方外设。NXC程序在Brick Command Center编程环

用Matlab软件为乐高NXT机器人编程
发表于:2011-11-07 11:31:42 | 分类:C语言与乐高机器人
浏览( ) | 评论( )

 要在matlab环境下给NXT机器人编程,你必须拥有Matlab R2008以上版本,还必须安装德国亚琛大学开发的NXT Toolbox组件。我的版本Matlab 2009a,32位的版本,64位版本的Matlab软件不支持亚琛大学的NXT工具包Toolbox。接着必须安装NXT Toolbox。至于Matlab的下载和安装这里就不说了,百度或google下就知道了,下面说说RWTH - Mindstorms NXT Toolbox(RWTHMindstormsNXT)的安装,实际上RWTH(亚琛大学)的网站已经说明清楚了。NXT Toolbox下载地址:http://www.mindstorms.rwth-aachen.de/trac/wiki/Download,目前最新的版本是4.04。英文版入门教程网页:http://www.mindstorms.rwth-aachen.de/trac/wiki/Documentation亚琛大学的简介:亚琛工业大学(简称RWTH Aachen)位于北莱茵-威斯特法伦州,是德国最负盛名的理工科大学之一。大学成立于1870年,当时成立的宗旨在于促进手工业与经济