LED
1 LED
1.1 基本原理
利用Dx数字信号输入输出接口,我们可以实现TTL电平(晶体管-晶体管-逻辑电平,+5V等价于逻辑“1”,0V等价于逻辑“0”) / COMS电平信号输出 ,
下面的例子中,LED两端连接D1、GND(接地),D1输出高电平时LED点亮。
Dx输入输出数据类型均为二进制,参见MPS-010602使用说明书第13、14页unsigned char * DI、* DO项说明:
DI 为一个一维数组,其每个元素为 8 位 unsigned char 型数据,8 个数据位分别代表同一时刻采样得到的 8 路数字端口电平状态。
如:DI[i] = 17,即 DI = 0b00010001,表示 D1 和 D5 为高电平,其余 6个端口为低电平。
另外,说明书第12页写明了端口置输入还是输出模式的转换规则(int DIOModal)
注意:
连线时注意LED正负极。
1.单色LED一般引脚较长、灯泡圆滑、灯丝较窄的一端为正极,引脚较短、灯泡有平缺口、灯丝较宽的一端为负极。(如下面图片中的正负极有错误,请注意分辨);
2.三色LED四个引脚最长的或灯丝最宽的为共阳极(共阴极 视型号不同)。
1.2 连线图
1.3 labVIEW程序
此处仅显示D1对应开关,另外七个端口对应开关默认为关闭,故二进制数组为“?000000”,“?”为D1状态
需要点击“持续运行”或在程序外加循环框图。
说明:
- 设置参数SetPara.vi和发送数据SendData.vi两个子VI可以使用已经封装的板卡自带驱动驱动子VI,通过“即时帮助”可了解参数输入方法,也可参照说明书自行构造子VI
- 因为Dx接口既可以作为输入口也可以作为输出口,需要在参数设定.vi 中加以设置;发送数据.vi 中,传送的是表示电平高低的二进制布尔数组(此例为1维数组)对应的十进制数字
- 本程序试用了顺序结构,是为了保证参数设置的优先执行,避免错误,设置参数的DIO模式节点上点击右键,点击“创建”—“常量”即可创建选择菜单
- 使用了布尔量和数值量转换函数、数组生成函数,请参照即时帮助文档加以了解
- 图中前面板中为布尔开关数组,设置方法如下:
2 带物理开关LED
2.1 基本原理
Dx接口还可以在输入(信号到计算机)模式工作,所以我们可以在电路中加入开关设置,通过开关通断影响输入电平高低,以读取开关量。
我们依然置D1-D4输出(指输出信号到元件),D5-D8输入(指输入信号到计算机),实际使用的是D1、D5接口(见连线图)。
根据板卡说明书第14页unsigned char * DO函数的介绍,我们可以了解到,配置Dx为输入模式的同时,应对Dx置为高电平。
这样,初始D5置为高电平,开关连通后,配合GND接口,D5变为低电平。也就是说,只要检测D5状态即可了解开关闭合情况(开关开:D5高电平;闭:D5低电平)
进而与前例类似地控制D1的输出。
2.2 连线图
2.3 labVIEW程序
3 三基色LED
3.1 基本原理
三原色原理:
红色 + 绿色 = 黄色
绿色 + 蓝色 = 青色
红色 + 蓝色 = 紫色
红色 + 绿色 + 蓝色 = 白色
三色LED元件有四个引脚,第二个接置高电平的D5接口(共阳极(共阴极:设置D5低电平 视型号不同)),事实上另外三个引脚(D1 D2 D3)与阳极组合即是三种颜色的独立LED灯
除D5接口外另三个引脚输出高电平时与阳极电位相当,无电流通过,该颜色LED不亮;设置为低电平时,配合高电位的阳极,有电流通过,该颜色LED点亮。若多种颜色点亮,则出现三原色原理所述彩色。
后面将学习PWM原理,利用之可以实现三色LED的颜色渐变,有兴趣的同学可以尝试一下
3.2 连线图
3.3 labVIEW程序
- 注意,各数字引脚都需要设置为输出模式
- 使用了循环框图和选择框图,从而实现七种颜色(D1 D2 D3各对应高低两个状态——即框图种T、F两种状态,
种情况)的跳变
- 使用了取余函数(Functions——Mathematics——Numeric——Quotient&Remainder)
- 使用了时间控制(框图中钟的标志),每个颜色停留1000ms
- 接口电平查看部分是可以略去的(不影响程序运行),设置的目的是了解串口状态以更好地看清原理。其中使用了“数组索引”,引用了第1024位(图中1023),是因为程序要延时1000ms,采集电压过程中可能有旧的数据累计,引用最新的(靠后位置的)电压数据保证了电平状态显示的及时性。