請參考家豪教學網
1. led 基本控制模式
2. 矩陣 LED 控制

外觀:


接腳圖


範例一:
請用三用電表,讓左上角第一列第一行 led 發亮。

方法:(使用美規電表(紅棒+))
1. 將 8x8 led 任意方向,找出 R1、C1。
2. 紅棒接 R1,黑棒接 C1。
3. 若不發亮,將 8x8led 轉 180 度,重新認定 R1、C1,並重複步驟 2。

範例二:
利用 esp32 控制 8x8 led,使得 列2行3、列5行7、列8行2 發亮。

電子電路圖


元件電路圖


演算法:(使用正邏輯)
1. 輸出高電位至 R2,低電位至 C3
2. 休息 0.01 秒。(1/24 約為 0.041秒)
3. 輸出低電位至 R2,高電位至 C3
4. 輸出高電位至 R5,低電位至 C7
5. 休息 0.01 秒。
6. 輸出低電位至 R5,高電位至 C7
7. 輸出高電位至 R8,低電位至 C2
8. 休息 0.01 秒。
9. 輸出低電位至 R8,高電位至 C2
10. 重複步驟 1


程式碼:
const char N = 8;
const int led[2][N]={{19,18,5,17,16,4,2,15},{13,12,14,27,26,25,33,32}};//led[0]為 R, led[1]為 C
void setup() {
  int i,j;
  for(i=0;i<2;i++)
    for(j=0;j<N;j++)
      pinMode(led[i][j], OUTPUT);
  for(i=0;i<N;i++) digitalWrite(led[0][i],LOW);
  for(i=0;i<N;i++) digitalWrite(led[1][i],HIGH);//全滅
}
void loop() {
  digitalWrite(led[0][1], HIGH);//列 2
  digitalWrite(led[1][2], LOW);//行 3 順偏亮
  delay(10);
  digitalWrite(led[0][1], LOW);//列 2
  digitalWrite(led[1][2], HIGH);//行 3 逆偏滅
  digitalWrite(led[0][4], HIGH);//列 5
  digitalWrite(led[1][6], LOW);//行 7
  delay(10);
  digitalWrite(led[0][4], LOW);//列 5
  digitalWrite(led[1][6], HIGH);//行 7
  digitalWrite(led[0][7], HIGH);//列 8
  digitalWrite(led[1][1], LOW);//行 2
  delay(10);
  digitalWrite(led[0][7], LOW);//列 8
  digitalWrite(led[1][1], HIGH);//行 2
}