1828浏览
楼主: 驴友花雕

[项目] 【Arduino】168种传感器系列实验(176)---大尺寸8x8方格点阵...

[复制链接]

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 12:04:06

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之三:在屏幕上显示正弦波动态图形
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之三:在屏幕上显示正弦波动态图形
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. #include <Sprite.h>
  14. #include <Matrix.h>
  15. Matrix myMatrix = Matrix(12, 10, 11);// Matrix(DIN, CLK, CS)
  16. // 创建一个新的 Sprite 实例, 8 像素宽,4 像素高
  17. Sprite wave = Sprite(
  18.                 8, 4,
  19.                 B00011000,
  20.                 B00100100,
  21.                 B01000010,
  22.                 B10000001
  23.               );
  24. void setup() {
  25. }
  26. int x = 0;
  27. void loop() {
  28.   myMatrix.write(x, 2, wave);     // 将精灵程序放在屏幕上
  29.   myMatrix.write(x - 8, 2, wave); // 再次放置精灵,在屏幕上的其他地方
  30.   delay(75);                      // 稍等一下
  31.   myMatrix.clear();               // 为下一个动画帧清除屏幕
  32.   if (x == 8)                     // 如果到达动画序列的末尾
  33.   {
  34.     x = 0;                        // 从头开始
  35.   }
  36.   x++;                            // 向右推进 x 坐标
  37. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 12:06:03

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之三:在屏幕上显示正弦波动态图形

  实验场景图   WeChat_20210701115841.gif


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:01:52

在小屏幕点阵上   WeChat_20210701135758.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:04:53

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之四:在屏幕上逐渐显示欢迎面孔(延时500毫秒)
  实验开源程序

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之四:在屏幕上逐渐显示欢迎面孔(延时500毫秒)
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. #include <Sprite.h>
  14. #include <Matrix.h>
  15. Matrix myMatrix = Matrix(12, 10, 11);// Matrix(DIN, CLK, CS)
  16. void setup() {
  17. }
  18. void loop() {
  19.   myMatrix.clear(); // 显示清屏
  20.   delay(500);
  21.   myMatrix.write(2, 2, HIGH);// 打开相关位置的像素(点阵)
  22.   delay(500);
  23.   myMatrix.write(5, 2, HIGH);
  24.   delay(500);
  25.   myMatrix.write(1, 5, HIGH);
  26.   delay(500);
  27.   myMatrix.write(2, 6, HIGH);
  28.   delay(500);
  29.   myMatrix.write(3, 6, HIGH);
  30.   delay(500);
  31.   myMatrix.write(4, 6, HIGH);
  32.   delay(500);
  33.   myMatrix.write(5, 6, HIGH);
  34.   delay(500);
  35.   myMatrix.write(6, 5, HIGH);
  36.   delay(500);
  37. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:13:38

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之四:在屏幕上逐渐显示欢迎面孔(延时500毫秒)

  实验场景图   WeChat_20210701141023.gif

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:23:05

标准8*8点阵屏实验效果    WeChat_20210701142017.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:44:16

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之五:混合显示各种动态图形
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之五:混合显示各种动态图形
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. #include <MaxMatrix.h>
  14. int DIN = 12;   // MAX7219模块的DIN引脚
  15. int CLK = 10;   // MAX7219模块的CLK引脚
  16. int CS = 11;    // MAX7219模块的CS引脚
  17. int maxInUse = 1;
  18. MaxMatrix m(DIN, CS, CLK, maxInUse);
  19. char A[] = {4, 8,
  20.             B01111110,
  21.             B00010001,
  22.             B00010001,
  23.             B01111110,
  24.            };
  25. char B[] = {4, 8,
  26.             B01111111,
  27.             B01001001,
  28.             B01001001,
  29.             B00110110,
  30.            };
  31. char smile01[] = {8, 8,
  32.                   B00111100,
  33.                   B01000010,
  34.                   B10010101,
  35.                   B10100001,
  36.                   B10100001,
  37.                   B10010101,
  38.                   B01000010,
  39.                   B00111100
  40.                  };
  41. char smile02[] = {8, 8,
  42.                   B00111100,
  43.                   B01000010,
  44.                   B10010101,
  45.                   B10010001,
  46.                   B10010001,
  47.                   B10010101,
  48.                   B01000010,
  49.                   B00111100
  50.                  };
  51. char smile03[] = {8, 8,
  52.                   B00111100,
  53.                   B01000010,
  54.                   B10100101,
  55.                   B10010001,
  56.                   B10010001,
  57.                   B10100101,
  58.                   B01000010,
  59.                   B00111100
  60.                  };
  61. void setup() {
  62.   m.init(); //MAX7219初始化
  63.   m.setIntensity(8); // 初始 LED 矩阵亮度,0-15
  64. }
  65. void loop() {
  66.   // 在 x、y 或行、列位置设置 LED 开或关
  67.   m.setDot(6, 2, true);
  68.   delay(500);
  69.   m.setDot(6, 3, true);
  70.   delay(500);
  71.   m.clear(); // 清除显示
  72.   for (int i = 0; i < 8; i++) {
  73.     m.setDot(i, i, true);
  74.     delay(200);
  75.   }
  76.   m.clear();
  77.   // 在 x,y 处显示字符(字符的左上角)
  78.   m.writeSprite(2, 0, A);
  79.   delay(500);
  80.   m.writeSprite(2, 0, B);
  81.   delay(500);
  82.   m.writeSprite(0, 0, smile01);
  83.   delay(500);
  84.   m.writeSprite(0, 0, smile02);
  85.   delay(500);
  86.   m.writeSprite(0, 0, smile03);
  87.   delay(500);
  88.   for (int i = 0; i < 8; i++) {
  89.     m.shiftLeft(false, false);
  90.     delay(200);
  91.   }
  92.   m.clear();
  93. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 14:48:00

为了显示字符,需要在字符或字节数组中定义它们,这里举了几个例子。可以注意到这些位是如何形成实际为0和1的字符。在本例中,它们被旋转90度,但是库示例建议以这样的方式使用它们,以便以后更容易实现用于滚动文本的shiftLeft自定义函数。

16.jpg

在setup函数部分,只需初始化模块以及设置LED的亮度。在loop函数中,通过使用setDot()函数,可以点亮任意X、Y或行/列位置的单只LED,并且可以使用clear()函数清除显示。使用writeSprite()函数来显示预定义的字符,该函数的前两个参数是字符左上角的X和Y位置。最后我们使用shiftLeft()函数向左移动或滚动字符。

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 15:47:52

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之五:混合显示各种动态图形

  实验场景图   WeChat_20210701154311.gif

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 15:55:18

标准8*8点阵屏实验效果 WeChat_20210701154336.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 16:53:54

本帖最后由 驴友花雕 于 2021-7-1 17:22 编辑

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之六:跳动的红心
  实验开源代码
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之六:跳动的红心
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. unsigned char i;
  14. unsigned char j;
  15. int Max7219_pinCLK = 10;
  16. int Max7219_pinCS = 11;
  17. int Max7219_pinDIN = 12;
  18. unsigned char disp1[19][8]={0x0c,0x1e,0x3e,0x7c,0x7c,0x3e,0x1e,0x0c};
  19. void Write_Max7219_byte(unsigned char DATA) {   
  20.   unsigned char i;
  21.   digitalWrite(Max7219_pinCS,LOW);  
  22.   for(i=8;i>=1;i--){   
  23.     digitalWrite(Max7219_pinCLK,LOW);
  24.     digitalWrite(Max7219_pinDIN,DATA&0x80);
  25.     DATA = DATA<<1;
  26.     digitalWrite(Max7219_pinCLK,HIGH);
  27.   }                                 
  28. }
  29. void Write_Max7219(unsigned char address,unsigned char dat){
  30.   digitalWrite(Max7219_pinCS,LOW);
  31.   Write_Max7219_byte(address);         
  32.   Write_Max7219_byte(dat);               
  33.   digitalWrite(Max7219_pinCS,HIGH);
  34. }
  35. void Init_MAX7219(void){
  36.   Write_Max7219(0x09, 0x00);      
  37.   Write_Max7219(0x0a, 0x03);      
  38.   Write_Max7219(0x0b, 0x07);      
  39.   Write_Max7219(0x0c, 0x01);      
  40.   Write_Max7219(0x0f, 0x00);      
  41. }
  42. void setup(){
  43.   pinMode(Max7219_pinCLK,OUTPUT);
  44.   pinMode(Max7219_pinCS,OUTPUT);
  45.   pinMode(Max7219_pinDIN,OUTPUT);
  46.   delay(2000);
  47.   Init_MAX7219();
  48. }
  49. void loop(){
  50.   for(j=0;j<19;j++){
  51.     for(i=1;i<9;i++)
  52.       Write_Max7219(i,disp1[j][i-1]);
  53.     delay(100);
  54.   }   
  55. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 17:18:04

本帖最后由 驴友花雕 于 2021-7-1 17:22 编辑

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之六:跳动的红心

  实验场景图   WeChat_20210701171329.gif

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 17:26:35

标准8*8点阵屏实验效果   WeChat_20210701171314.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 18:00:12

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之七:制作一个属于你的表白神器LOVE
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之七:制作一个属于你的表白神器LOVE
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. int CLK = 10;
  14. int CS = 11;
  15. int DIN = 12; //这里定义了那三个脚
  16. unsigned char disp1[38][8] = {
  17.   {0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E}, //L
  18.   {0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C}, //O
  19.   {0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x18}, //V
  20.   {0x7E, 0x40, 0x40, 0x7E, 0x40, 0x40, 0x40, 0x7E}, //E
  21.   {0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18}, //TX
  22. };
  23. void Delay(double x) {
  24.   double i;
  25.   for (i = 0; i < x; i++);
  26. }
  27. void setup() {
  28.   pinMode(CLK, OUTPUT);
  29.   pinMode(CS, OUTPUT);
  30.   pinMode(DIN, OUTPUT); //让三个脚都是输出状态
  31. }
  32. void loop() {
  33.   unsigned char i, j;
  34.   Delay_xms(100);
  35.   Init_MAX7219();
  36.   while (1)
  37.   {
  38.     for (j = 0; j < 38; j++)
  39.     {
  40.       for (i = 1; i < 9; i++)
  41.         Write_Max7219(i, disp1[j][i - 1]);
  42.       Delay(30000);
  43.     }
  44.   }
  45. }
  46. void Delay_xms(unsigned int x) {
  47.   unsigned int i, j;
  48.   for (i = 0; i < x; i++)
  49.     for (j = 0; j < 112; j++);
  50. }
  51. //--------------------------------------------
  52. //功能:向MAX7219(U3)写入字节
  53. //入口参数:DATA
  54. //出口参数:无
  55. void Write_Max7219_byte(unsigned char DATA) {
  56.   unsigned char i;
  57.   digitalWrite(CS, LOW);
  58.   for (i = 8; i >= 1; i--) {
  59.     digitalWrite(CLK, LOW);
  60.     if (DATA & 0X80)
  61.       digitalWrite(DIN, HIGH);
  62.     else
  63.       digitalWrite(DIN, LOW);
  64.     DATA <<= 1;
  65.     digitalWrite(CLK, HIGH);
  66.   }
  67. }
  68. //-------------------------------------------
  69. //功能:向MAX7219写入数据
  70. //入口参数:address、dat
  71. //出口参数:无
  72. void Write_Max7219(unsigned char address, unsigned char dat) {
  73.   digitalWrite(CS, LOW);
  74.   Write_Max7219_byte(address); //写入地址,即数码管编号
  75.   Write_Max7219_byte(dat); //写入数据,即数码管显示数字
  76.   digitalWrite(CS, HIGH);
  77. }
  78. void Init_MAX7219(void) {
  79.   Write_Max7219(0x09, 0x00); //译码方式:BCD码
  80.   Write_Max7219(0x0a, 0x03); //亮度
  81.   Write_Max7219(0x0b, 0x07); //扫描界限;4个数码管显示
  82.   Write_Max7219(0x0c, 0x01); //掉电模式:0,普通模式:1
  83.   Write_Max7219(0x0f, 0x00); //显示测试:1;测试结束,正常显示:0
  84. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 18:17:10

本帖最后由 驴友花雕 于 2021-7-1 18:18 编辑

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之七:制作一个属于你的表白神器LOVE

  实验场景图片   WeChat_20210701181128.gif

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 18:24:24

本帖最后由 驴友花雕 于 2021-7-1 18:25 编辑

标准8*8点阵屏实验效果    WeChat_20210701181139.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 19:22:07

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之八:表情、箭和移动车交替模式
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之八:表情、箭和移动车交替模式
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据)
  10.   CS   →→→→→ D11(负载)
  11.   CLK  →→→→→ D10(时钟)
  12. */
  13. #include <LedControl.h>
  14. int DIN = 12;
  15. int CS =  11;
  16. int CLK = 10;
  17. LedControl lc = LedControl(DIN, CLK, CS, 0);
  18. void setup() {
  19.   lc.shutdown(0, false);
  20.   lc.setIntensity(0, 10);  //调整亮度最大为15
  21.   lc.clearDisplay(0);
  22. }
  23. void loop() {
  24.   //表情
  25.   byte smile[8] =   {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C};
  26.   byte neutral[8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C};
  27.   byte sad[8] =   {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C};
  28.   //箭
  29.   byte arrow_up[8] = {0x18, 0x3C, 0x7E, 0xFF, 0x18, 0x18, 0x18, 0x18};
  30.   byte arrow_down[8] = {0x18, 0x18, 0x18, 0x18, 0xFF, 0x7E, 0x3C, 0x18};
  31.   //交替模式
  32.   byte d1[8] = {0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55};
  33.   byte d2[8] = {0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA};
  34.   //移动车
  35.   byte b1[8] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C}; //8*8LED点阵 取模软件生成
  36.   byte b2[8] = {0x00, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00};
  37.   byte b3[8] = {0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00};
  38.   byte b4[8] = {0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00};
  39.   byte b5[8] = {0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00};
  40.   byte b6[8] = {0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18};
  41.   byte b7[8] = {0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C};
  42.   byte b8[8] = {0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x18};
  43.   //移动车
  44.   printByte(b1);
  45.   delay(50);
  46.   printByte(b2);
  47.   delay(50);
  48.   printByte(b3);
  49.   delay(50);
  50.   printByte(b4);
  51.   delay(50);
  52.   printByte(b5);
  53.   delay(50);
  54.   printByte(b6);
  55.   delay(50);
  56.   printByte(b7);
  57.   delay(50);
  58.   printByte(b8);
  59.   delay(50);
  60.   //交替模式
  61.   printByte(d1);
  62.   delay(300);
  63.   printByte(d2);
  64.   delay(300);
  65.   //箭
  66.   printByte(arrow_up);
  67.   delay(800);
  68.   printByte(arrow_down);
  69.   delay(500);
  70.   //表情
  71.   printByte(smile);
  72.   delay(500);
  73.   printByte(neutral);
  74.   delay(500);
  75.   printByte(sad);
  76.   delay(500);
  77. }
  78. void printByte(byte character []) {
  79.   int i = 0;
  80.   for (i = 0; i < 8; i++) {
  81.     lc.setRow(0, i, character[i]);
  82.   }
  83. }
复制代码


回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 19:40:20

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之八:表情、箭和移动车交替模式

实验场景图 WeChat_20210701193612.gif

回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-1 19:42:06

标准8*8点阵屏实验效果   WeChat_20210701193604.gif
回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-2 05:21:22

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之九:动态显示字符串“XVOWM X”
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  4.   项目之九:动态显示字符串“XVOWM X”
  5.   接脚连线:
  6.   MAX7219       UNO
  7.   VCC  →→→→→ 5V
  8.   GND  →→→→→ GND
  9.   DIN  →→→→→ D12(数据,数据接收引脚)
  10.   CS   →→→→→ D11(负载,命令接收引脚)
  11.   CLK  →→→→→ D10(时钟,时钟引脚)
  12. */
  13. #include "LedControlMS.h"
  14. #define NBR_MTX 2
  15. LedControl lc=LedControl(12, 10, 11, NBR_MTX);
  16. String sentence= "XVOWM X";
  17. int letterCounter=0;
  18. // 显示更新之间的等待时间
  19. unsigned long delaytime=300;
  20. void setup() { // 初始化并设置初始值。 声明函数设置
  21.   // 显示模块在启动时处于省电模式
  22.   Serial.begin(9600); //将数据速率设置为每秒 9600 位,以便与计算机进行串行数据通信
  23.   Serial.println("Setup"); //将数据作为可读的文本打印到串行端口
  24.   letterCounter=0;
  25.   
  26.   for (int i=0; i< NBR_MTX; i++){
  27.     lc.shutdown(i,false); //保持屏幕开启
  28.     lc.setIntensity(i,8); // 将亮度设置为中等值
  29.     lc.clearDisplay(i); // 清除每个字母后的显示
  30.   }
  31. }
  32. void loop() { //声明函数循环
  33.   char ch= sentence[letterCounter]; //定义字符 ch
  34.   letterCounter++;
  35.   if (letterCounter>14) letterCounter=0; //设置循环
  36.   lc.displayChar(0, lc.getCharArrayPosition(ch)); //在屏幕上显示每个字符
  37.   delay(500);
  38.   lc.clearAll();
  39.   delay(200);
  40. }
复制代码



回复

使用道具 举报

驴友花雕  高级技匠
 楼主|

发表于 2021-7-2 05:51:27

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之九:动态显示字符串“XVOWM X”

  实验场景图 WeChat_20210702054006.gif

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail