STM32筆記(4):使用MAX7219模組控制8x8 LED顯示

這一篇要實作使用MAX7219模組控制8x8 LED,想將先前在Arduino做的,改成使用STM32利用MAX7219 這個IC來控制8x8LED,可參考 Arduino筆記(14):使用MAX7219 控制 8x8 LED Matrix。本文將繼續使用 LcdControl 程式庫用在 STM32上,讓8x8的LED隨機閃爍。



[安裝程式庫Library]

本實作需要安裝以下程式庫:
直接到 Arduino IDE 功能表選單,選擇 [草稿碼 Sketch] → [匯入程式庫 Include Library] → [ 管理程式庫 Manage Libraries...],在出現的視窗搜尋處輸入 LedControl,如以下畫面,按下安裝即可。


程式庫(Library)安裝方法請參考另一篇文章:  Arduino筆記:安裝 Arduino IDE 程式庫(Library)

[材料]

  • STM32F103C8T6 開發板
  • USB轉TTL序列傳輸線 CP2102 
  • 8x8 LED 顯示器
  • MAX7219 模組 
  • 排線 n 條

[接線圖]

CP2102STM32F103C8T6MAX7219模組
GNDGNDGND
3V33.3V-
RXPA9-
TXPA10-
-5VVCC
-PA7DIN
-PA8CS
-PA5CLK



[程式]

#include <LedControl.h>
// PA7:Data in, PA5: Clock,  PA8: CS(Load)
LedControl lc=LedControl(PA7,PA5,PA8,1); 

void setup()
{
  lc.shutdown(0,false);  // 關閉省電模式
  lc.setIntensity(0,8);  // 設定亮度為 8 (介於0~15之間)
  lc.clearDisplay(0);    // 清除螢幕
}
void loop()
{
  int randNumber_col = random(8);
  int randNumber_row = random(8);
  lc.setLed(0,randNumber_col,randNumber_row,1); // 將Led的欄,列設定為亮
  delay(5);
  lc.setLed(0,randNumber_col,randNumber_row,0); // 將Led的欄,列設定為暗
}

[實作結果]

Post a Comment

較新的 較舊