資料來源:
1.IoT 物聯網應用:使用ESP32開發版與 Arduino C 程式語言
2.ESP32 x NBIoT 模組 i2c燈號測試程式
這是正式學習ESP32及Arduino C 語言的第一步,買了尤濬哲老師的書「IoT 物聯網應用:使用ESP32開發版與 Arduino C 程式語言」,以及ESP32、ESP32Cam、ESP32輔助板,入門IOT領域。

以下是尤老師的程式說明:
本範例說明如何使用本教學輔助板(ESP32 Matrix)的LED
教學板使用GPIO 26,27連接附加的I2C晶片
一、依照LED編號開啟或關閉:
MatrixInt(LED編號,開關),燈號(0~7),開關(1/0)
燈編號列表:
1.訊號指示燈:0~4
2.紅色LED:5
3.綠色LED:6
4.藍色LED:7
Example:
MatrixInt(1,1);//開1號燈
MatrixInt(5,0);//關5號燈
二、按信號強度開啟訊號指示燈:
MatrixLEDrssi(rssi);
MatrixLEDrssi(-60);//大於-65:5 顆Leds
MatrixLEDrssi(-70);//大於-75:4 顆Leds
MatrixLEDrssi(-80);//大於-85:3 顆Leds
MatrixLEDrssi(-90);//大於-95:2 顆Leds
MatrixLEDrssi(-100);//大於-105:1 顆Leds
//其餘均為0 Led
三、程式碼:(小弟有做一些小修改)
#include <Wire.h>
#include "MatrixInt.h"
void setup() {
Serial.begin(115200);
Wire.begin(26, 27);
}
void loop() {
Serial.println("Turn on ALL LEDs by ID");
for (int i = 0; i < 8; ++i)
{
MatrixInt(i, 1);//亮燈
Serial.println("LED " + String(i) + " 亮燈");//在序列監視埠輸出顯示「LED 號碼 亮燈」
delay(1000);
MatrixInt(i, 0);//關燈
}
Serial.println("Turn on RSSI LED by RSSI value");
for (int i = -50; i > -120; i=i-1)
{
Serial.println("RSSI = " + String(i));
MatrixLEDrssi(i);
delay(300);
}
delay(1000);
}
