Arduino Dot Matrix Module

The dot matrix is pre-connected to Arduino board. Two pins (pin number 20 and 21) – (I2C) are used and 5V power should be supplied.
The dot matrix module displays 8 X 8 dot LED that can display strings or pictorial symbols.

[LedControl 函式庫]
• 建立一個新的控制:LedControl(int dataPin, int clkPin, int csPin, int numDevices);
int dataPin : Arduino 資料輸出的 Pin
int clockPin : 時鐘 Clock Pin
int csPin : 當資料被送出時選擇的設備 device
int numDevices : 最多有多少個設備要被控制

• 設定進入省電模式:shutdown(int addr, bool b);
int addr : 控制顯示的位址
boolean b : 設定為 true,設備進入電力中斷模式,設定為 false 為正常模式

• 設定顯示亮度:setIntensity(int addr, int intensity);
int addr : 控制顯示的位址
int intensity : 顯示器的亮度,介於 0(最暗) 及15(最亮) 之間

• 將所有LED設定成不顯示:clearDisplay(int addr);
int addr : 控制顯示的位址

• 設定單一個LED 的亮或滅狀態:setLed(int addr, int row, int col, boolean state);
addr : 顯示的位址
row : Led的列數 (0..7)
col : Led的欄數 (0..7)
state : 設定為 true,Led為亮,設定為 false,則關閉 Led 顯示

• 使用8bits顯示指定列的8個LED 亮或滅狀態:setRow(int addr, int row, byte value);
addr : 顯示的位址
row : 列的編號 (0..7)
value : 8 bits 來顯示該列的LED是否為亮,1為亮,0為暗

• 使用8bits顯示指定欄的8個LED 亮或滅狀態:setColumn(int addr, int col, byte value);
addr : 顯示的位址
col : 欄的編號 (0..7)
value : 8 bits 來顯示該欄的LED是否為亮,1為亮,0為暗

• 在7段顯示器顯示一個十六進位數字: setDigit(int addr, int digit, byte value, boolean dp);
addr : 顯示的位址
digit : 顯示字元的位置 (0..7)
value : 顯示的數字 (0x00..0x0F)
dp : 設定小數點

• 在7段顯示器顯示一個字元: setChar(int addr, int digit, char value, boolean dp);
addr : 顯示的位址
digit : 顯示字元的位置 (0..7)
value : 顯示的字元,僅可顯示'0','1','2','3','4','5','6','7','8','9','0',
'A','b','c','d','E','F','H','L','P','.','-','_',' '
dp : 設定小數點

#include "RL_DotMatrix.h"
DotMatrix dm = DotMatrix(); 
void setup()
{
  // the DotMatrix is in power-saving mode on startup. do a wakeup call     
  dm.shutdown(0,false);
  // set medium brightness 
  dm.setIntensity(0,2); 
  dm.clearDisplay(0);
}
 
// displays the words 'Arduino' 
void writeArduinoOnMatrix()
{
  dm.clearDisplay(0);
/* here is the data for the characters */
byte a[5]={B01111110,B10001000,B10001000,B10001000,B01111110}; 
byte r[5]={B00111110,B00010000,B00100000,B00100000,B00010000}; 
byte d[5]={B00011100,B00100010,B00100010,B00010010,B11111110}; 
byte u[5]={B00111100,B00000010,B00000010,B00000100,B00111110}; 
byte i[5]={B00000000,B00100010,B10111110,B00000010,B00000000}; 
byte n[5]={B00111110,B00010000,B00100000,B00100000,B00011110}; 
byte o[5]={B00011100,B00100010,B00100010,B00100010,B00011100};

/* now display them one by one with a small delay */ 
dm.setRow(0,0,a[4]);
dm.setRow(0,1,a[3]);
dm.setRow(0,2,a[2]);
dm.setRow(0,3,a[1]);
dm.setRow(0,4,a[0]); 
delay(1000); 
dm.setRow(0,0,r[4]);
dm.setRow(0,1,r[3]);
dm.setRow(0,2,r[2]);
dm.setRow(0,3,r[1]);
dm.setRow(0,4,r[0]); 
delay(1000); 
dm.setRow(0,0,d[4]);
dm.setRow(0,1,d[3]);
dm.setRow(0,2,d[2]);
dm.setRow(0,3,d[1]);
dm.setRow(0,4,d[0]); 
delay(1000); 
dm.setRow(0,0,u[4]);
dm.setRow(0,1,u[3]);
dm.setRow(0,2,u[2]);
dm.setRow(0,3,u[1]);
dm.setRow(0,4,u[0]); 
delay(1000); 
dm.setRow(0,0,i[4]);
dm.setRow(0,1,i[3]);
dm.setRow(0,2,i[2]);
dm.setRow(0,3,i[1]);
dm.setRow(0,4,i[0]); 
delay(1000); 
dm.setRow(0,0,n[4]);
dm.setRow(0,1,n[3]);
dm.setRow(0,2,n[2]);
dm.setRow(0,3,n[1]);
dm.setRow(0,4,n[0]); 
delay(1000); 
dm.setRow(0,0,o[4]);
dm.setRow(0,1,o[3]);
dm.setRow(0,2,o[2]);
dm.setRow(0,3,o[1]);
dm.setRow(0,4,o[0]); 
delay(1000); 
dm.setRow(0,0,0);
dm.setRow(0,1,0);
dm.setRow(0,2,0);
dm.setRow(0,3,0);
dm.setRow(0,4,0); 
delay(1000);
}

// this will light up every Led on the matrix 
void single()
{
 dm.clearDisplay(0); 
  for(int row=0;row<8;row++)
  {
    for(int col=0;col<8;col++)
    {
      dm.setLed(0,row,col,true); 
      delay(50);
    }
  }
}

void loop()
{
  writeArduinoOnMatrix(); 
  single();
}

引用:http://atceiling.blogspot.com/2017/03/arduinomax7219-8x8-led-matrix.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,206评论 0 10
  • Week 1 Arduino Environment Lesson 1 Lecture 1.1 Arduino P...
    Vinchent阅读 6,767评论 0 1
  • 当我们发现自己的缺点 时,怎样才能成功地去改变自己呢? ① 改变自己,他需要有一个持之以恒的态度...
    一路绽放阅读 5,083评论 0 1
  • 今天众筹今天众筹,昨晚睡前就告诉自己,早点醒来抢币,昨天核心群里发出通知,说9点开始。我信了。 醒来首先是听外面的...
    芳华孔阅读 2,415评论 0 0
  • 本书作者马克米奥多尼克是伦敦大学学院材料科学教授,入选《泰晤士报》英国百大影响力科学家。而这本书获得2014年英国...
    bonbongu阅读 5,298评论 1 5

友情链接更多精彩内容