宜昌城老张的博客

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

博客列表

Arduino编程 PWM方法调节LED光
发表于:2011-11-03 14:18:33 | 分类:Arduino基础
浏览( ) | 评论( )

采用PWM波,改变其占空比,来调节LED灯的亮度,占空比大,则灯亮,占空比小,则灯暗。  Arduino程序如下图点击图片放大  可以从Proteus的虚拟示波器看出,随着程序函数 analogWrite(ledPin, fadeValue) 的执行,数字接口9发出的PWM波占空比不断变化,LED灯的亮度也再实时变化。这个实验用真的示波器做,成本很高,而且效率没有仿真高! 这个例子也可以看出用Arduino编程,不需要对AVR单片机寄存器设置参数,只用个analogWrite( )函数,就玩转了PWM。 Arduino和Proteus的这个例子程序下载:PWM调节LED光.rar

AVR编程语言Arduino也可以用Proteus仿真
发表于:2011-11-03 14:13:38 | 分类:Arduino与Proteus仿真
浏览( ) | 评论( )

     把一个电位器连在Arduino 168 Duemilanove 2009 ATMEGA168P控制器的模拟接口0,再把一个LED连在控制器的数字接口13,当电位器滑动,电压超过2.5V,则LED亮,否则熄灭。 ATMEGA168P控制器的AD转换是10位的转换器,5V对应的数字量为1024,2.5V应该是512,所以单片机一旦得知AD转换后的数字量超过 512时,把数字接口13的LED的变量ledpin为HIGH。 下面是Arduino程序:点击图片,可以放大   按下“三角”图标,同时按下Shift,你就可以看到0018版Arduino编程软件的HEX到哪去了,你看上图编译结果区,我打阴影的部分,可以看到HEX所藏得目录。 把HEX文件放到proteus的ATMEGA168单片机里,按下Proteus中的运行按钮,你可以看到Arduino和proteus结合达到了任务要求,不花一分钱就学习了,被国外机器人爱好者推崇的AVR编程软件。 注意Arduino控制器数字接口和模拟接口

基于labview串口通讯的虚拟数字电压表的设计
发表于:2011-11-03 13:54:32 | 分类:Arduino和Labview
浏览( ) | 评论( )

1. 引言Labview 是由美国国家仪器公司推出的,主要面向计算机测控领域的虚拟仪器软件开发平台,是一种基于图形开发、调试和运行的集成化环境。本设计利用单片机电路作为下位机前端数据采集电路,电路中的8位A/D转换器芯片ADC0808采集电压信号,把转换出的数字量通过RS-232串口通讯送给上位机,同时在上位机的 Labview开发平台下,通过串口读取下位机上传的数据,并处理和显示电压值,从而设计出Labview环境下的基于单片机和PC机串口通讯的虚拟电压表。  2.基于Labview的上位机信号处理和显示软件设计Labview虚拟仪器程序由前面板和框图程序组成,前面板是人机交互的界面,界面上有用户输入和显示输出两类控件;框图程序则是用户编制的程序源代码,以定义和控制在前面板上的控件输入和输出功能。图1为虚拟数字电压表的电压测量框图程序。图1 虚拟数字电压表的Labview框图程序 上图的图形化框图程序是采用NI_VISA串口Serial函数来访问和控制串口的。VISA中的Serial函数库里包含VISA Configure Serial Port、VISA Write、VISA

Labview及Proteus软件环境下单片机串口通讯的仿真方法
发表于:2011-11-03 13:46:28 | 分类:Arduino和Labview
浏览( ) | 评论( )

0  引  言        Labview是美国国家仪器公司(NI公司)推出的专为数据采集、仪器控制、数据分析与数据表达的图形化编程环境,它是一个开放的开发环境,具有 PCI,GPIB,PXI,VXI,RS-232/485,USB等各种仪器通讯总线标准的所有功能函数,开发者可以利用这些函数与不同总线标准接口的数据采集硬件交互工作。但现实中的数据采集卡很多是利用美国NI公司提供的专用数据采集卡,价格较贵,不利于普及Labview软件测控的学习和应用。        Proteus软件支持51单片机,集程序编辑,原理图绘制和程序仿真于一体,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路,具有电路互动仿真功能,通过动态外设模型,如键盘、开关,发光二极管,数码管,液晶和传感器、电机等,可实时显示单片机系统输入、输出结果;另外还配置了多种虚拟仪器如示波器、逻辑分析仪等,方便对实验图形和数据的测量。    &n

labview介绍和书籍推荐
发表于:2011-11-03 13:36:55 | 分类:Arduino和Labview
浏览( ) | 评论( )

LabVIEW 程序又称虚拟仪器,即VI,其外观和操作类似于真实的物理仪器(如示波器和万用表)。labview包含两部分:1是前面板,2是图形化源代码LabVIEW 拥有一整套工具用于数据采集、分析、显示和存储数据,以及解决用户编写代码中可能出现的问题。LabVIEW 提供众多输入控件和显示控件用于创建用户界面,即前面板。输入控件是指旋钮、按钮、转盘等输入装置。显示控件是指图形、指示灯等输出显示装置。创建用户界面后,可用VI和结构来添加代码,从而控制前面板对象。LabVIEW 的图形化源代码在某种程度上类似于流程图,LabVIEW 可与一些硬件(如数据采集、视觉、运动控制设备、GPIB、PXI、VXI、RS232 以及RS485等仪器)进行通信。Labview门户网站:http://www.gsdzone.net/办得很好,里面有个Labview社区,不妨点一下进去,进去就知道labview门户网站办得有多好,中文资料有好多,很贴心。我再给大家推荐三本书,到当当网买: 1、LabVIEW大学实用教程(第三版)(含光盘1张) 这本书入门很好,外国人写的,翻译得很不错。2、精通LabVIEW

乐高NXT机器人之怕光的六脚兽
发表于:2011-11-03 09:30:48 | 分类:LabVIEW与乐高机器人
浏览( ) | 评论( )

  我的这个“怕光的六脚兽”是从上篇文章“机器螳螂”改造过来的。http://www.eefocus.com/zhang700309/blog/11-11/233895_cfd34.html    把原来机器螳螂带电机的头部去掉,换上了一个光电传感器,而且还改造了尾巴。看看上图“怕光的六脚兽”吧。 这个六脚兽感受到强光刺激,就会从前行状态转为后行3圈距离,再调整步伐前行。NXT-G主程序:点击放大图片,注释详细。 NXT-G步伐同步子程序: Labview for NXT程序:(请双击图片,可以放大了看,十分清晰)      您可能注意到,即使你给两个电机同样的功率,也不能保证两个电机的转速是完全一致的,这样两电机驱动的物体并不能直线前行,会跑偏。解决这个问题,我在Labview for NXT程序中,用电机自带的角度传感器分别检测两电机的实时转角值,并计算它们的误差,乘以0.5,把结果输入“偏转模

体验乐高NXT机器人之机器螳螂(视频)
发表于:2011-11-03 09:20:59 | 分类:NXT-G与乐高机器人
浏览( ) | 评论( )

     这个六足机器昆虫有六条腿和一个长长的脖子,而我能找到的最接近的昆虫是螳螂,这并不是说象它,而是由于它的行为象螳螂(这是一个害羞的机器人),所以把这个作品称为机器螳螂。    机器螳螂是个怕羞的昆虫,当它的超声波传感器看到有“动物”接近它时,它会低下头,收缩翅膀,向左或向右转过身去,然后再抬头看看新的方向上有没有“动物”,如果有,又低头转个方向,如果没有,则抬起头,煽动着翅膀骄傲地往前走,直到又碰到“动物”。    看看视频是不是这样的“机器螳螂”:     看看螳螂腹部的六腿位置定位装置:     为了行走,首先必须正确定位螳螂的六条腿在开始前行时的位置。如果没有这样做,螳螂只是不停地将它的腿往前走,而身子却停留在同一个地方。为了克服这个问题,我添加了一个触摸传感器,使螳螂的腿同步。两个用来行走的电机共享相同的触摸传感器。看看螳螂六条腿的

采用Lego颜色传感器的智能车寻线LabVIEW编程
发表于:2011-11-01 17:03:20 | 分类:LabVIEW与乐高机器人
浏览( ) | 评论( )

寻线小车图片:搭建方法源于:http://www.nxtprograms.com/NXT2/multi-bot/index.html实验视频:把红色电工胶布贴在外圈,把黑色电工胶布贴在内圈。把小车前面的颜色传感器放在外圈和内圈之间,然后小车需逆时针运行。传感器检测到黑圈,小车右转,并发出一个声响;传感器检测到红圈,小车左转,并发出一个声响。这样小车用一个颜色传感器,就可以在黑圈和红圈之间,“蛇”行寻线了。这个寻线小车虽然有搭建手册,但是没有实验任务和程序,所以我设计了这个任务,并用

Labview for 乐高NXT机器人的入门
发表于:2011-11-01 16:50:09 | 分类:LabVIEW与乐高机器人
浏览( ) | 评论( )

   双击图片,可以放大!   乐高NXT机器人产品自带的软件是NXT-G,在这个产品之前,是RCX机器人产品,用的是robolab软件,这个软件的最新版本是2.9,Robolab 2.9也支持NXT机器人,NXT-G和Robolab这两个软件都是在美国NI公司的labview软件基础上开发的。Labview 开始研制出来,定位是虚拟仪器软件,Labview认为PC机+软件+采集卡就是一台多功能仪器,可以替代众多硬件仪器,如万用表、示波器、频谱仪等,而且功能可以随测试对象的特点而变化,只要重新用labview软件编制新程序即可。目前labview已经从定位于虚拟仪器软件升级为一种流行的图形化编程软件,就像C语言是文本式编程语言的代表一样,Labview就是图形式编程语言的典范,国内外拥有众多Labview用户。现在你可以在labview软件基础上,安装乐高NXT 组件,就可以直接用labview软件编程了!    图1  Labview启动画面    点击画面中的Blan

Arduino介绍、网址、博客、论坛、书籍
发表于:2010-07-28 10:41:15 | 分类:Arduino基础
浏览( ) | 评论( )

Arduino控制器的介绍   Arduino是源自意大利的一个开放源代码的硬件项目,该平台包括 一片具备简单I/O功效的电路板以及一套程式开发环境软体。Arduino 可以用来开发可独立运作、并具互动性的电子用品,或者也可以开发出与PC相连的周边装置,同时能在 运作时与PC上的软体进行沟通。Arduino的硬体电路板可以自行 焊接组装成,也可以购买已经组装好的,而整合开发环境的软体则可以自网路上免费下载与使用。  Arduino控制器,我的理解是它的硬件CPU就是AVR,主要是软件编程环境与ICCAVR和WINAVR不同,Arduino环境里,不需要设置单片机各寄存器,直接用简单的几个类C的函数就可编程,容易上手,是机器人爱好者普遍使用的下位机语言。大家都知道AVR难学的原因就是需了解众多的寄存器的功能,并且要在软件中小心地设置这些寄存器,而Arduino不需要。在Arduino环境里,可以把单片机内部当成黑匣子,只要知道单片机的引脚作用就行,Arduino语言程序直接控制这些引脚的输入输出即可,很