1.先安裝函示庫
工具 >> 管理程式庫>>輸入 ledcontrol
#include <LedControl.h>
// 初始化LedControl物件
// DIN接到5號腳位,CLK接到7號腳位,CS接到6號腳位
LedControl lc = LedControl(5, 7, 6, 1);
byte letters[26][8] = {
{0x1F, 0x05, 0x05, 0x05, 0x1F, 0x00, 0x00, 0x00}, // A
{0x3F, 0x25, 0x25, 0x25, 0x1A, 0x00, 0x00, 0x00}, // B
{0x1E, 0x21, 0x21, 0x21, 0x12, 0x00, 0x00, 0x00}, // C
{0x3F, 0x21, 0x21, 0x21, 0x1E, 0x00, 0x00, 0x00}, // D
{0x3F, 0x25, 0x25, 0x25, 0x21, 0x00, 0x00, 0x00}, // E
{0x3F, 0x05, 0x05, 0x05, 0x01, 0x00, 0x00, 0x00}, // F
{0x1E, 0x21, 0x25, 0x25, 0x1D, 0x00, 0x00, 0x00}, // G
{0x3F, 0x04, 0x04, 0x04, 0x3F, 0x00, 0x00, 0x00}, // H
{0x00, 0x21, 0x3F, 0x21, 0x00, 0x00, 0x00, 0x00}, // I
{0x10, 0x20, 0x21, 0x1F, 0x01, 0x00, 0x00, 0x00}, // J
{0x3F, 0x04, 0x0A, 0x11, 0x20, 0x00, 0x00, 0x00}, // K
{0x3F, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00}, // L
{0x3F, 0x02, 0x04, 0x02, 0x3F, 0x00, 0x00, 0x00}, // M
{0x3F, 0x02, 0x04, 0x08, 0x3F, 0x00, 0x00, 0x00}, // N
{0x1E, 0x21, 0x21, 0x21, 0x1E, 0x00, 0x00, 0x00}, // O
{0x3F, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00}, // P
{0x1E, 0x21, 0x29, 0x31, 0x1E, 0x00, 0x00, 0x00}, // Q
{0x3F, 0x05, 0x0D, 0x15, 0x22, 0x00, 0x00, 0x00}, // R
{0x12, 0x25, 0x25, 0x25, 0x18, 0x00, 0x00, 0x00}, // S
{0x01, 0x01, 0x3F, 0x01, 0x01, 0x00, 0x00, 0x00}, // T
{0x1F, 0x20, 0x20, 0x20, 0x1F, 0x00, 0x00, 0x00}, // U
{0x0F, 0x10, 0x20, 0x10, 0x0F, 0x00, 0x00, 0x00}, // V
{0x1F, 0x20, 0x18, 0x20, 0x1F, 0x00, 0x00, 0x00}, // W
{0x31, 0x0A, 0x04, 0x0A, 0x31, 0x00, 0x00, 0x00}, // X
{0x03, 0x04, 0x38, 0x04, 0x03, 0x00, 0x00, 0x00}, // Y
{0x21, 0x31, 0x29, 0x25, 0x23, 0x00, 0x00, 0x00} // Z
};
void setup() {
lc.shutdown(0, false); // 啟動顯示
lc.setIntensity(0, 8); // 設定亮度(0到15)
lc.clearDisplay(0); // 清除顯示
}
void loop() {
displayWord("HELLO");
delay(1000); // 延遲1秒
displayWord("WORLD");
delay(1000); // 延遲1秒
}
void displayWord(const char* word) {
for (int i = 0; word[i] != '\0'; i++) {
animateLetter(word[i] - 'A');
}
}
void animateLetter(int num) {
for (int shift = 0; shift < 8; shift++) {
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, letters[num][row] >> shift);
}
delay(100);
}
for (int shift = 7; shift >= 0; shift--) {
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, letters[num][row] >> shift);
}
delay(100);
}
}
留言
張貼留言