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傳送資料的收發.

程式碼

  1. #include <SPI.h>
  2.  
  3. byte symbol[8]={0x38, 0x7C, 0x7E, 0x3F, 0x3F, 0x7E, 0x7C, 0x38};//愛心
  4. //max7219腳位設定
  5. const byte NOOP=0x0;
  6. const byte DECODEMODE=0x9;
  7. const byte INTENSITY=0xA;
  8. const byte SCANLIMIT=0xB;
  9. const byte SHUTDOWN=0xC;
  10. const byte DISPLAYTEST=0xF;
  11.  
  12. //max7219設定運作流程
  13. void max7219(byte reg, byte data){
  14. digitalWrite(SS, LOW);
  15. SPI.transfer(reg);
  16. SPI.transfer(data);
  17. digitalWrite(SS, HIGH);
  18. }
  19. //初始化
  20. void setup() {
  21. pinMode(SS, OUTPUT);
  22. digitalWrite(SS, HIGH);
  23. SPI.begin();
  24. //max7219參數設定
  25. max7219(SCANLIMIT, 7);
  26. max7219(DECODEMODE, 0);
  27. max7219(INTENSITY, 5);
  28. max7219(DISPLAYTEST, 0);
  29. max7219(SHUTDOWN, 1);
  30. //先設定成關閉狀態
  31. for (byte i=0; i<8; i++){
  32. max7219(i+1, 0);
  33. }
  34. }
  35.  
  36. void loop() {
  37. //讓愛心閃爍
  38. for (byte i=0; i<8; i++){
  39. max7219(i+1, symbol[i]);
  40. }
  41. delay(500);
  42. for (byte i=0; i<8; i++){
  43. max7219(i+1, 0);
  44. }
  45. delay(500);
  46. }

實作成果







留言

這個網誌中的熱門文章

平衡小車(balance-Robot)-基本平衡-Arduino