第十节:C#工业控制编程基础--呼吸灯实验

本文档详细介绍了如何使用C#编程通过PWM控制LED灯实现呼吸灯效果。实验步骤包括在VisualStudio中新建项目,配置DLL文件,使用PWMOutSetV12()函数,设置定时器控制占空比变化,最终实现在开发板上LED灯亮度的渐变效果。用户可以通过选择不同的OUT口进行PWM输出,并通过调整NumericaUpDown控件的值来控制亮度变化的速度。
摘要由CSDN通过智能技术生成

第十节:C#工业控制编程基础–呼吸灯实验

文章目录

一、实验目的:

理解并学习运用PWM。

二、实验内容:

利用PWM输出控制函数控制一个LED灯由暗渐亮,再由亮渐暗的变化。

三、实验步骤:

1.打开Visual Studio 2013,新建窗体应用程序项目,配置好板卡dll文件。
2.在窗体中放入控件,对控件进行布局排版,并修改他们的Name属性和Text属性。

如图1:
在这里插入图片描述

3.双击“关闭板卡”按钮进入编程界面,在public partial class Form1 : Form内引入本次要用的函数:OpenUsbV12()、CloseUsbV12()、PWMOutSetV12()。并在最上方using列写入using System.Runtime.InteropServices;

代码如图2:
在这里插入图片描述

4.在“关闭板卡”按钮点击事件内写入一个变量a,将NumericaUpDown控件值赋给变量a,此处NumericaUpDown控件的作用为:让用户选择使用哪个OUT口来进行PWM输出,然后在PWMOutSetV12()函数内将chan值改为变量a,Freq值设置为10000(Hz),DutyCycle值设置为0,同时写入开发板关闭函数和程序退出函数,代码如图3。

在这里插入图片描述

5.双击“启动板卡”按钮,在该按钮点击事件前定义一个整形变量w,在点击事件内写入一个定义一个整形变量x并写入一个if判断:

当w值为0:用函数OpenUsbV12()打开开发板并将其函数值赋值给变量x,并再写入一个if判断:当x值等于0,用MessageBox显示“启动成功”,将按钮的Text属性设置为“暂停”,将w赋值为1。反之,用MessageBox显示“启动失败”。
当w值不为0时:将w重新赋值为0,关闭开发板,将按钮的Text属性设置为“继续”。
代码如图4:

在这里插入图片描述

6.在“点亮LED”按钮中单独将timer1启动,代码如图5。此处单独启动timer1而不是timer1和timer2同时启动,是因为timer2的启动在之后要交由timer1来完成。

在这里插入图片描述

7.在timer1和timer2事件前各定义一个float型变量i1、i2。
8.在timer1事件内再次定义变量a用于存放NumericaUpDown控件的选择值。
9.写入一个if判断,当i1<100,启动PWMOutSetV12()函数,并将DutyCycle值设置为变量i1,然后i1自加1。这样,就完成了LED从低电平到高电平的过度。
10.当i>=100时,将timer1关闭,将变量i2赋值为99,启动timer2。
11.步骤7~10代码如图6。

在这里插入图片描述

12.在timer2事件内,与timer1同理,写入一个if判断当i2>0,然后i2自减1。当条件不满足时,关闭timer2,重新启动timer1。将i1重新赋值为1。代码如图7。
13.通过上述步骤可以知道,timer1为控制占空比从低到高的过程,以此实现LED逐渐变亮,timer2则为反向从高到低的过程,以此令LED逐渐变暗。
14.在“熄灭LED”按钮中将timer1和timer2同时关闭,并将i1和i2重新赋值以备下次点亮调用,并将PWM输出设置为低电平,代码如图8。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423101455452.png “图8”)

15.将采集板上的OUT1或OUT2与功能板上LED区域的②连接,GND与③连接,并接通电源。
16.启动程序,选定输出端口,点击“点亮LED”按钮即可观察到功能板上的LED灯由暗至亮,再有亮至暗的循环过程。

实验所用开发板为[HK_USB_DAQ V1.5教学套件](https://www.xzhktech.com/USBshujucaijika/USB_DAQ_V1_5/252.html),主要包括数据采集卡,功能板,和开关型红外避障模块。
在这里插入图片描述

四、实验结果:

成功实现呼吸灯效果。

五、注意事项:

由于i1、i2为代替PWMOutSetV12()函数内DutyCycle值的变量,而该值的范围为1~99,所以在写程序时要注意i1、i2可以变化的范围。

点击此处下载第十节:基于C#使用开发板呼吸灯实验配套指导文档及源码文件包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值