8x8矩陣顯示器實習(1)-愛心閃閃
8x8矩陣顯示器實習-愛心閃閃
材料:
Arduino uno x1
8x8矩陣顯示模組(內含max7219)
接線方式:
圖片來源於:https://create.arduino.cc/projecthub/CiferTech/8x8-led-matrix-tutorial-project-code-and-schematic-969e60
關於max7219
待寫
關於SPI(SUART)
待寫
觀念速記
控制顯示器的閘門主要是max7219,在一開始時先設定好max7219
的暫存器的設定值,包含了{顯示強度, 顯示檢測, 解碼, 停機, 掃描
限制,不運作},運送資料的方式類似寄送mail,首先要有郵址,該信件
傳送到該擁有者,開啓信件觀看到內容.所以傳送資料的方式是先
把SS設定為0,CLK時脈計算同步時間,MOSI,MISO傳送資料的收發.
程式碼
- #include <SPI.h>
- byte symbol[8]={0x38, 0x7C, 0x7E, 0x3F, 0x3F, 0x7E, 0x7C, 0x38};//愛心
- //max7219腳位設定
- const byte NOOP=0x0;
- const byte DECODEMODE=0x9;
- const byte INTENSITY=0xA;
- const byte SCANLIMIT=0xB;
- const byte SHUTDOWN=0xC;
- const byte DISPLAYTEST=0xF;
- //max7219設定運作流程
- void max7219(byte reg, byte data){
- digitalWrite(SS, LOW);
- SPI.transfer(reg);
- SPI.transfer(data);
- digitalWrite(SS, HIGH);
- }
- //初始化
- void setup() {
- pinMode(SS, OUTPUT);
- digitalWrite(SS, HIGH);
- SPI.begin();
- //max7219參數設定
- max7219(SCANLIMIT, 7);
- max7219(DECODEMODE, 0);
- max7219(INTENSITY, 5);
- max7219(DISPLAYTEST, 0);
- max7219(SHUTDOWN, 1);
- //先設定成關閉狀態
- for (byte i=0; i<8; i++){
- max7219(i+1, 0);
- }
- }
- void loop() {
- //讓愛心閃爍
- for (byte i=0; i<8; i++){
- max7219(i+1, symbol[i]);
- }
- delay(500);
- for (byte i=0; i<8; i++){
- max7219(i+1, 0);
- }
- delay(500);
- }
留言
張貼留言