我的ESP32實做書籍:我出書了 ESP32 物聯網專題
博客來網址:https://www.books.com.tw/products/0010901195
這是ESP32輔助版內建的燈號控制,輔助版內建八個控制燈,包括RGB LED三個燈以及訊號指示燈x5。
8個燈號理論上要使用八個腳位控制,不過我們加裝PCF8574 i2c晶片,所以只用了兩個腳位26,27。
也代表你如果要使用板子上的燈號,26, 27請不要使用其他感測器。
以下的範例是說明如何控制三個LED燈及五個訊號指示燈
請先下載函式庫zip檔案:https://twgo.io/mzchv
安裝程式庫:功能表/草稿碼/匯入程式庫/加入.ZIP程式庫
選擇上面下載的ZIP檔案
完成匯入程式庫
接下來直接開啟範例檔,或者複製以下程式
/*Younger Yang and 夜市小霸王
本範例說明如何使用本教學輔助板(ESP32 Matrix)的LED
教學板使用GPIO 26,27連接附加的I2C晶片
一、依照LED編號開啟或關閉:
MatrixInt(LED編號,開關);//燈號(0~7),開關(1/0)
燈編號列表:訊號指示燈:0~4,Red:5,Green:6,Blue: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);//亮燈
delay(1000);
MatrixInt(i, 0);//關燈
}
Serial.println("Turn on RSSI LED by RSSI value");
for (int i = -50; i > -120; i=i-5)
{
Serial.println("RSSI=" + String(i));
MatrixLEDrssi(i);
delay(500);
}
delay(1000);
}