Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】108种传感器系列实验(22)---MAX7219点阵模块

[复制链接]
 楼主| 发表于 2022-4-29 18:55 | 显示全部楼层
11.1-48.jpg

11.1-49.jpg
 楼主| 发表于 2022-4-29 18:56 | 显示全部楼层
11.1-50.jpg

11.1-51.jpg
 楼主| 发表于 2022-4-29 18:56 | 显示全部楼层
3超简单的LED Matrix图形编辑工具:
上述,介绍一下PixeltoMatrix图形编辑工具, PixeltoMatrix编辑的结果可以产生 Arduino 16 进位或 2 进位的动画程式码。
PixeltoMatrix编辑工具:下载
执行PixelToMatrix.exe就可开始绘制图型,绘制完成后点击「Generate」,将会自动产生16 进位或 2 进位的代码,您可将此代码加入您的程式中,如上面范例第16行「爱心-1」。

11.1-52.jpg

 楼主| 发表于 2022-4-29 18:57 | 显示全部楼层
程序十二:随机生成的一个 LED 模拟弹跳点
1Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序十二:随机生成的一个 LED 模拟弹跳点
  4.   引脚定义
  5.   DIN = D11
  6.   CLK = D13
  7.   CS  = D10
  8. */

  9. #include "LedControl.h"//导入驱动库
  10. LedControl lc = LedControl (11, 13, 10, 1); //定义引脚

  11. int row;
  12. int row_prev;
  13. int col;
  14. int col_prev;
  15. int ball_timer = 100;
  16. long randNumber;
  17. long updown = 1;       // 指示移动:+1 向上一排,-1 向下一排
  18. long leftright = 1;    // 指示移动:+1 是右一列,-1 是左一列


  19. byte smiley[] =       // 填充数组以打开笑脸
  20. {
  21.   B00111110,
  22.   B01000001,
  23.   B10010101,
  24.   B10100001,
  25.   B10100001,
  26.   B10010101,
  27.   B01000001,
  28.   B00111010
  29. };


  30. void setup() {
  31.   Serial.begin (9600);
  32.   // MAX72XX 启动时处于省电模式,
  33.   // 我们必须做一个叫醒服务
  34.   lc.shutdown (0, false);

  35.   // 将亮度设置为中等值
  36.   lc.setIntensity (0, 8);     // 0 = 低; 8 = 高

  37.   // 显示笑脸 - 证明 8x8 数组有效
  38.   smile();
  39.   delay(1000);

  40.   //清除显示
  41.   lc.clearDisplay (0);

  42.   // 初始位置
  43.   randomSeed (analogRead(0));
  44.   col = random (1, 7);    // 选择 1 到 7 之间的列位置
  45.   row = random (1, 7);    // 选择 1 到 7 之间的行位置

  46.   // 检查显示单元是否工作

  47.   // 在串行监视器上显示起始列和行号
  48.   Serial.println ("开始条件" );
  49.   Serial.print ("行: ");
  50.   Serial.println (row);
  51.   Serial.print ("列: ");
  52.   Serial.println (col);
  53.   Serial.println ("=======");
  54.   Serial.println ();
  55. }

  56. void loop() {
  57.   col_prev = col;      //记录球的位置,列
  58.   row_prev = row;      //记录球的位置,行
  59.   row = row + updown;
  60.   col = col + leftright;

  61.   checkVectors ();

  62.   lc.setLed (0, col_prev, row_prev, false); // 清除前一个球的位置
  63.   lc.setLed (0, col, row, true);            // 点亮新球的位置
  64.   delay (ball_timer);
  65.   debug(); // 运行调试模块
  66.   delay(1000);
  67. }
  68. // ============ 子程序 ===========================================
  69. void smile() {
  70.   for (int i = 0; i < 8; i++)
  71.   {
  72.     lc.setRow (0, i, smiley[i]);
  73.   }
  74. }

  75. void checkVectors () {
  76.   if ((row > 7) && (updown = 1)) {
  77.     updown = -1;
  78.     row = 6;
  79.   }

  80.   if ((row < 0) && (updown = -1)) {
  81.     updown = 1;
  82.     row = 1;
  83.   }

  84.   if ((col > 7) && (leftright = 1)) {
  85.     leftright = -1;
  86.     col = 6;
  87.   }

  88.   if ((col < 0) && (leftright = -1)) {
  89.     leftright = 1;
  90.     col = 1;
  91.   }
  92. }

  93. void debug() {
  94.   Serial.print ("列: " );
  95.   Serial.println (col);
  96.   Serial.print ("行: " );
  97.   Serial.println (row);
  98. }
复制代码


 楼主| 发表于 2022-4-29 18:58 | 显示全部楼层
2)实验串口返回情况

11.1-53.jpg

 楼主| 发表于 2022-4-29 18:59 | 显示全部楼层
3)实验场景图

11.1-54.jpg

 楼主| 发表于 2022-4-29 19:00 | 显示全部楼层
13、程序十三:漫屏随机闪烁星星
1Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序十三:漫屏随机闪烁星星
  4.   引脚定义
  5.   DIN = D11
  6.   CLK = D13
  7.   CS  = D10
  8. */

  9. #include "LedControl.h"//导入驱动库
  10. LedControl lc = LedControl (11, 13, 10, 1); //定义引脚

  11. void setup() {
  12.   lc.shutdown(0, false); // 关闭省电模式
  13.   lc.setIntensity(0, 15); // 设定亮度为 15 (介于0~15之间)
  14.   lc.clearDisplay(0);    // 清除屏幕
  15. }

  16. void loop() {
  17.   int randNumber_col = random(8);
  18.   int randNumber_row = random(8);
  19.   lc.setLed(0, randNumber_col, randNumber_row, 1); //将Led的行列点,設定为亮
  20.   delay(5);
  21.   lc.setLed(0, randNumber_col, randNumber_row, 0); //将Led的行列点,設定为暗
  22. }
复制代码


 楼主| 发表于 2022-4-29 19:01 | 显示全部楼层
2)实验场景图

11.1-55.jpg

 楼主| 发表于 2022-5-3 16:42 | 显示全部楼层

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

本版积分规则

小黑屋|Archiver|手机版|好玩手机游戏盒子|196体育|Arduino爱好者

GMT+8, 2023-6-1 13:45 , Processed in 0.077378 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表