用 Arduino + 点阵模块 DIY 一颗“跳动的心”

2018-11-251.7万
AI 快速预览详细 收起
本项目使用Arduino UNO R3主控板和8*8点阵模块,通过简单的接线和编程实现一颗跳动的心的效果。所需材料包括UNO R3主控板、8*8点阵模块和杜邦线若干。接线图和程序代码详细介绍了如何实现这一效果。该项目适合STEM教育场景,适合初学者学习编程和电子基础知识。
Arduino + 点阵模块 DIY 一颗“跳动的心”
用 Arduino + 点阵模块 DIY 一颗“跳动的心”图1
今天我要做一个跳动的心来拯救单身狗,我要拿起它,向心爱的女生表白!这个就是成品图。
所需材料
  • UNO R3主控版1个
  • 8*8点阵模块
  • 杜邦线若干

接线图
用 Arduino + 点阵模块 DIY 一颗“跳动的心”图2
接线对照表
VCC — 5V
GND — GND
DIN — D11 (MOSI)
CS — D10 (SS)
CLK — D13 (SCK)
程序代码
[mw_shl_code=applescript,true]#include <SPI.h>


const byte sprite[2][8] = {

     { 0x00, 0x66, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18 },  

     { 0x00, 0x00, 0x24, 0x7E, 0x7E, 0x3C, 0x18, 0x00 }     

};


const byte DECODEMODE = 0x09;

const byte INTENSITY = 0x0a;

const byte SCANLIMIT = 0x0b;

const byte SHUTDOWN = 0x0c;

const byte DISPLAYTEST = 0x0f;


void max7219(const byte reg, const byte data) {

   digitalWrite(SS, LOW);

   SPI.transfer(reg);

   SPI.transfer(data);

   digitalWrite(SS, HIGH);  

}


void setup() {

   SPI.begin();

   

   max7219(SCANLIMIT, 7);

   max7219(DECODEMODE, 0);

   max7219(INTENSITY, 2);

   max7219(DISPLAYTEST, 0);

   max7219(SHUTDOWN, 1);  

   

   for(byte i=0; i<8; i++) {

     max7219(i+1, 0);

   }

}


void loop() {

   for(byte j=0; j<2; j++) {

     for(byte i=0; i<8; i++) {

       max7219(i+1, sprite[j]);

     }

   delay(500);

   }

}

[/mw_shl_code]

原文
http://zhongbest.com




截图201811251109401433.png (336.72 KB, 下载次数: 3411)

Arduino + 点阵模块 DIY 跳动的心 · STEM教育_image_3.webp

创作许可协议

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

评论(2)
RobotJIn
RobotJIn
谢谢分享
Ash1
Ash1
不错 制作过程要是详细一点就更好啦~
20060606
20060606回复Ash1
足够详细了
- 没有更多了 -