1.9インチ 91セグメント I2C電子ペーパモジュールwww.switch-science.com
ドットマトリックスのe-Paperデバイスと思って買ったら違うらしい。ちょっと失敗。
液晶表示の様にセグメントがある様だ。というかセグメントと書いてるよね。確認不足。
見た目はSwitchBot 温湿度計に近い感じがする。
値段的にはSwitchBot 温湿度計買った方が良さそうな感じ。
SwitchBot 温湿度計www.switchbot.jp
テストを兼ねて温湿度計に仕上げることを目標としよう。
とりあえず使い方を覚える。
製品情報はこちら
Arduinoのサンプルがある。
今回M5Stamp picoを使用する。
ピンは2列あるが点対象になっているだけで片側だけ使えば良さそう。
ピン割はこの様にしよう。
| M5Stamp pico | e-Paper |
|---|---|
| 3V3 | VCC |
| GND | GND |
| G21 | SDA |
| G22 | SCL |
| G18 | RST |
| G19 | BUSY |
サンプルはこちらからダウンロードできる。
https://www.waveshare.com/w/upload/f/f6/E-Paper-Segment-Code.zip
PlatformIOでプロジェクトを作り、サンプルにあるEPD_1in9.cppとEPD_1in9.hファイルをsrcディレクトリにコピーする。
EPD_1in9.hでピン番号定義しているので変更。
#define EPD_BUSY_PIN 19 #define EPD_RST_PIN 18
M5Stampの初期化をちょっと変更してあとはそのままで動作させてみる。
#include <Arduino.h>
#include "EPD_1in9.h"
#include <M5Unified.h>
#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 22
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);
GPIOInit();
EPD_1in9_init();
EPD_1in9_lut_5S();
EPD_1in9_Write_Screen(DSPNUM_1in9_off);
delay(500);
EPD_1in9_lut_GC();
EPD_1in9_Write_Screen1(DSPNUM_1in9_on);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_off);
delay(500);
EPD_1in9_lut_DU_WB();
EPD_1in9_Write_Screen(DSPNUM_1in9_W0);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W1);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W2);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W3);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W4);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W5);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W6);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W7);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W8);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_W9);
delay(500);
EPD_1in9_Write_Screen(DSPNUM_1in9_WB);
delay(500);
EPD_1in9_sleep();
Serial.end();
Wire.end();
}
void loop() {
// put your main code here, to run repeatedly:
}
初期化時は真っ黒になる様だ。
全デジットが1から9まで順に表示したら全部のセグメントを点灯して終わる様だ。
e-Paperなので電源を切っても表示はそのまま。素晴らしい。
M5Stamp picoで1.9inch Segment e-Paper Moduleのサンプルプログラムを試して見る · GitHub

