学习基于LABVIEW的Arduino开发设计 ——8*8LED点阵转圈圈

学习基于LABVIEW的Arduino开发设计 ——8*8LED点阵转圈圈学习基于LABVIEW的Arduino开发设计——8*8LED点阵转圈圈一、首先选择一个合适的工具包1.LIFALIFA工具包虽然已经很久没有更新了,但是它有本教材可以参考,还有相应的源代码,很适合入门学习

学习基于LABVIEW的Arduino开发设计 ——8*8LED点阵转圈圈

一、首先选择一个合适的工具包

1.LIFA

LIFA工具包虽然已经很久没有更新了,但是它有本教材可以参考,还有相应的源代码,很适合入门学习。
LIFA要去VIPM上面下载:
VIPM下载LIFA等工具
笔者下载的时候遇到个问题:
VIPM下载错误提示
找了很久的原因,发现是网络的问题。是的,下载VIPM里面的工具箱的时候,必须联网,而且要让VIPM知道你的IP地址。
如果你连了网还是有这个错误提示,那么就去LABVIEW里面的添加你的网络地址:
打开LABVIEW,在工具菜单栏下,找到选项,进去后找到VI服务器,添加你的当前网络的IP地址。
再重新下载一次。
参考:链接: 解决LIFA无法下载的问题.
然后就可以跑跑例子熟悉熟悉工作原理了。
然而,笔者并没有用LIFA来实现88点阵的控制,因为LIFA好像没有办法直接对A0-A5这几个模拟管脚进行写操作,要去修改固件什么的。
错误5001
这样子我要怎么操作8
8点阵的16个脚呢?
有点困难,再加上NI也推荐用LINX,所以,笔者愉快的转移到LINX去了。

2.LINX

这是一个基本上代替LIFA的工具包,用法类似,而且现在还在维护。下载方法同上,下载好了之后,烧录代码的方式和LIFA有区别。
LIFA是需要在Arduino IDE上面运行一个LIFA_base的固件程序,LINX就直接在LABVIEW的上选板子型号,然后连接,就可以执行了。
笔者简直是搬运工,这里网上也有很多教程步骤之类的。
比如这个:教你怎么用LINX.
到这一步,准备工作就好了。

二、画LABVIEW的代码

笔者要实现的是控制8*8点阵转圈圈,像螺旋一样。

1、8*8点阵

点阵的原理就不细讲了,笔者的连接方式简单粗暴,下面的图给出了点阵的管脚和arduino管脚的对应方式。其中R表示行,C表示列
连接方法
然后呢,硬件电路也搭建好了。
接下来就是写代码的事儿了。

2、先写Arduino代码,理逻辑思路。

点阵的原理懂了的话,要实现点阵螺旋进去,其实就是对行和列进行循环点亮。比如,先循环点亮第一行,有8个灯,首先要把所有管脚初始化,让所有灯都灭掉。然后把控制第一行的管脚拉高(有效状态),比如我的是arduino上面的2管脚,然后依次把1到8列的管脚拉低,逐个点亮灯。
列的原理也是一样,合起来,要实现灯旋转着亮进去,需要注意每次每一行每一列的点亮的个数不一样。最后转进去了,一行一列的需要亮的灯的个数就很少了。
这样算起来,按照8,7,7,6,6。。。这样子每次都控制一行或者一列的灯循环点亮,光是转进去,就需要16个循环了。
转出来,又是16个。

有没有简单一点的呢,笔者没有找到更简单的方法。
最多,找了点规律,把转一圈总体当成一个循环,可以减少一点点代码量。

下面是arduino的代码:

/* * Matrix * 8*8点阵屏显示驱动 */
int leds[8] = { 
   2,3,4,5,6,7,8,9}; //点阵屏正极引脚
int gnds[8] = { 
   10,11,12,13,14,15,16,17}; //点阵屏负极引脚
int t=200; //延迟时间

void setup() { 
   
  for (int i = 0; i < 8; i++)
  { 
   
    pinMode(leds[i], OUTPUT);
    pinMode

今天的文章学习基于LABVIEW的Arduino开发设计 ——8*8LED点阵转圈圈分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88041.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注