SKU:U146
UNIT-Digi-Clock is a 2.1 inch 4-digit 7-segment display module. There are decimal points on each digit and an extra wire for colon-dots in the center, which can display Decimals and Clock. This module adopts TM1637 as the driver IC, and STM32F030 as I2C communication. I2C address can be modified per 4-bit dip switch. The red LED supports 8 brightness. And we have reserved 4 fixing holes there.
Spec | Parameters |
---|---|
MCU | STM32F030 |
Driver IC | TM1637 |
Communication | I2C, addr: 0x30 |
Power Supply | 5V DC |
Net Weight | 12.5g |
Gross Weight | 17.8g |
Product Dimension | 50 * 31 * 14mm |
Package Dimension | 136 * 92 * 15mm |
Environments | Current on 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);
}