UNIT-Digi-Clock は、2.1 インチ 4 桁の 7 セグメント表示モジュールです。各桁に小数点があり、中央にはコロンドット用の線が追加されており、小数点と時計を表示することができます。ドライバICとしてTM1637、I2C通信としてSTM32F030を採用しています。I2Cアドレスは4bitのディップスイッチで変更可能です。赤色LEDは8段階の輝度に対応しています。また、固定用の穴を4つ用意しています。
| 仕様 | パラメータ | | MCU | STM32F030 | | ドライバIC | TM1637 | | 通信 | I2C, addr: 0x30 | | 電源電圧 | DC5V | | 製品重量 | 12.5g | | 梱包重量 | 17.8g | | 製品サイズ | 50×31×14mm | | 梱包サイズ | 136×92×15mm |
環境 | DC5V時の電流値 |
---|---|
Standby Mode(All off) | 2.5mA |
SG1 | 6.6mA |
SG2 | 10.3mA |
SG3 | 17.5mA |
SG4 | 38.7mA |
SG5 | 42.0mA |
SG6 | 45.7mA |
SG7 | 49.2mA |
SG8(All on) | 52.5mA |
#include "Wire.h"
#include "M5UNIT_DIGI_CLOCK.h"
/* For M5Stack Basic */
#define SDA 21
#define SCL 22
#define ADD 0x30
/* For M5Atom Lite/Matrix */
// #define SDA 26
// #define SCL 32
// #define ADD 0x30
M5UNIT_DIGI_CLOCK Digiclock;
void setup()
{
delay(2000);
Serial.begin(115200);
Wire.begin(SDA, SCL);
/* Digital clock init */
if (Digiclock.begin(&Wire, SDA, SCL, ADD))
{
Serial.println("Digital clock init successful");
}
else
{
Serial.println("Digital clock init error");
while (1);
}
char buff[] = " ";
Digiclock.setString(buff);
delay(2000);
}
void loop()
{
char buff[] = "8.8.:8.8.";
Digiclock.setString(buff);
for (int i = 0; i < 5; i++)
{
Digiclock.setBrightness(9);
delay(150);
Digiclock.setBrightness(0);
delay(150);
}
delay(100);
for (int i = 0; i < 4; i++)
{
for (uint8_t i = 0; i < 9; i++)
{
Digiclock.setBrightness(i);
delay(20);
}
for (uint8_t i = 8; i > 0; i--)
{
Digiclock.setBrightness(i);
delay(20);
}
}
delay(100);
Digiclock.setBrightness(9);
for (int j = 0; j < 3; j++)
{
for (int i = 0; i < 10; i++)
{
sprintf(buff, "%d.%d.:%d.%d.", i, i, i, i);
Digiclock.setString(buff);
Serial.println(buff);
delay(200);
}
}
delay(100);
Digiclock.setBrightness(9);
for (;;)
{
char buff2[] = "12:00";
Digiclock.setString(buff2);
Serial.printf(buff2);
delay(1000);
char buff3[] = "1200";
Digiclock.setString(buff3);
Serial.printf(buff3);
delay(1000);
}
delay(100);
}