因為最近選用NodeMCU 當開發平台
但ESP8266也就那一組半的HW Serial
Lumex如果能讓EZDISPLAY系列除了支源UART也可以同時選用I2C的話就更好了
所以我就先測了SW serial看看 但很不幸的SW serial 不穩 跑LUMEX家的sample在OLED那邊跑一半都會crash重開
因緣際會OLED現在在朋友那邊當sample繼續測
我就回來玩一下LED Matrix
LDM-768-1LT-X1 是一隻96x8的模組
基本上範例是一定要RX得到不是"E" 才繼續TX
這對ESP8266真的很苦..
但我還是決定用那個只有TX功能的第二組HW Serial (因為SW serial我要給PM2.5用..同時定義兩組SW serial 也是會掛so.. )
那 反正就是wait ,假設只靠TX 應該就command後面測出來要等多久就好
我先用了HEX範例..但怪怪的老是power on 那次都會失敗
反而AT command那組明明後面有轉去HEX玩卻沒問題
也就這麼改就收工了
delay(100);//while (Serial1.read() != 'E') {}
改好的ezDisplay_AT_Command_LED_API.ino
模組的RX(白色腳) 請接NodeMCU V2的D4腳
96x8 其實那些繪圖功能的實用性低了點
單純AT81 跑跑5x7 的英文數字倒是實際多了...
約略下面那樣就可以簡單用了..
demo 如影片
char ledmsg[32];
String LedStr = "";
void Write_AT_Command(char *string)
{
Serial1.print(string);
delay(100);//while (Serial1.read() != 'E') {}
delay(2);
}
void setup() {
Serial1.begin(115200);
}
void loop() {
Write_AT_Command("ATd0=()");
LedStr = "AT81=(0,0,"+String(temp,1)+"C H:"+String(humd,0)+"% "+String(lux)+")";
LedStr.toCharArray(ledmsg,sizeof(ledmsg));
Write_AT_Command(ledmsg);
}
剩下找時間弄個殼
配個MAX44009用照度自動調亮度