SPI LED module 模块(Arduino兼容)的LedControl显示类设计的Demo

2014-06-228522
AI 快速预览详细 收起
本文介绍了SPI LED模块的LedControl显示类设计,并通过Proteus仿真软件进行了模拟。展示了静态、动态及多窗口显示效果。提供了详细的代码示例和硬件电路图,帮助用户快速上手。


    本视频是SPI LED module 模块的LedControl显示类设计的预览程序,由于缺少硬件所以用Proteus仿真软件进行模拟。显示效果包括:静态显示、动态显示、多窗口静动态显示。利用了自己开发的针对SPI LED 模块的LedControl 类,并进行简单的程序设计就获得视频效果。
    我贴出了Proteus 仿真中使用的SPI LED Module 电路图。也贴出了SPI LED Module 的实物图。
    我设计了针对SPI LED module 模块的LedControl显示类,具体代码由于版权原因目前不准备开源。但为了让大家能知道LedControl类库的作用与丰富的功能,我提供了视频演示Demo的代码如下,其中<LedControl.h>头文件就是我设计的LedControl类。
  1. #include <LedControl.h>
  2. int csPin = 8;  //数据读入、锁存PIN
  3. int clockPin = 12;  //同步时钟PIN
  4. int dataPin = 11;  //串行数据输出PIN
  5. void setup()
  6. {
  7. Serial.begin(9600);
  8. }
  9. void loop()
  10. {
  11.     //定义LedControl 类对象
  12.     LedControl led(dataPin, clockPin, csPin);  
  13.     Window win;  //定义显示窗口对象
  14.     //定义初始地址为0,尺寸为8(即全屏幕)的窗口
  15.     win.setWindow(0,8);
  16.     //在定义的窗口中输出字符串
  17.     led.windowPrint(win,String("      ") +
  18. "HELL0 8Uddy--HELL0 PoPi");   
  19.     delay(1000);
  20.     win.clearWindow();  //清空窗口
  21.     //重新定义两个窗口
  22.     win.setWindow(0,4);  
  23.     win.setWindow(4,4);
  24.     led.windowPrint(win,String("    ") +
  25.     "3q For 5EEING",String("    ") +
  26.     "HELL0 8Uddy--HELL0 PoPi");  
  27.     delay(500);
  28.     win.clearWindow();
  29.     //重新定义两个窗口
  30.     win.setWindow(0,3);
  31.     win.setWindow(3,5);
  32.    for(int i=0; i<2; i++)
  33.      led.windowPrint(win,"qq=",String("     ") +      
  34. "373615934");
  35.     delay(500);
  36.     //静态打印字符
  37.     led.print("L0UE ALL");
  38.   
  39.   while(true);
  40. }
复制代码


为了让大家预览LedControl 显示类的效果,我只做了视频。
视频链接:http://www.tudou.com/programs/view/BDSrMvNVZQQ/




SPI LED Module实物.jpg (328.66 KB, 下载次数: 4266)

SPI LED Module · LedControl显示类设计与Proteus仿真_image_3.webp

SPI LED Module 硬件电路图 .jpg (291.71 KB, 下载次数: 4410)

SPI LED Module · LedControl显示类设计与Proteus仿真_image_6.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
Angleo
Angleo
Cool~~
但是.构造函数的定义位置有问题,一般定义在函数体外.
函数的命名不太符合Arduino的逻辑~可以参考一下"LiquidCrystal"的命名规则:
http://arduino.cc/en/Reference/LiquidCrystal
另外,似乎不需要两个类来支撑如此体量的应用,尽可能使用一个类搞定~
开发Arduino的库主要的考虑方向应该是其易用性,其强大的功能性应该建立在其易用性之上~~
nhejequjq
nhejequjq
作者
回复Angleo
大神指教了。目前我们还没有放假。过几天我想和你详细讨论这个问题,并且我也希望与贵公司开源代码,一起改进该产品。将这类数码管产品改造得更易用,更实用。
微笑的rockets
微笑的rockets
把这个放到扯淡库是想说明什么吗?
求教?
nhejequjq
nhejequjq
作者
好贴,自己顶一个。
- 没有更多了 -