#include <TM1637Display.h>
// Пины для подключения TM1637
#define CLK 0
#define DIO 1
TM1637Display display(CLK, DIO);
// Список символов для отображения
const uint8_t SYMBOLS[][4] = {
// 0000
{SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F},
// HELL
{SEG_B | SEG_C | SEG_E | SEG_F | SEG_G, // H
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G, // E
SEG_D | SEG_E | SEG_F, // L
SEG_D | SEG_E | SEG_F}, // L
// 2025
{SEG_A | SEG_B | SEG_D | SEG_E | SEG_G, // 2
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // 0
SEG_A | SEG_B | SEG_D | SEG_E | SEG_G, // 2
SEG_A | SEG_C | SEG_D | SEG_F | SEG_G}, // 5
// ---- (черточки)
{SEG_G, SEG_G, SEG_G, SEG_G},
// ERR
{SEG_A | SEG_D | SEG_E | SEG_F | SEG_G, // E
SEG_E | SEG_G, // R
SEG_E | SEG_G, // R
0x00}, // пробел
// 0101
{SEG_B | SEG_C, // 1
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // 0
SEG_B | SEG_C, // 1
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F}, // 0
// NO
{SEG_C | SEG_E | SEG_G, // N
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
0x00, // пробел
0x00}, // пробел
// 7777
{SEG_A | SEG_B | SEG_C, // 7
SEG_A | SEG_B | SEG_C, // 7
SEG_A | SEG_B | SEG_C, // 7
SEG_A | SEG_B | SEG_C}, // 7
// OEO
{SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G, // E
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
0x00}, // пробел
// --0-
{SEG_G, // -
SEG_G, // -
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // 0
SEG_G} // -
};
const int SYMBOLS_COUNT = sizeof(SYMBOLS) / sizeof(SYMBOLS[0]);
void setup() {
display.setBrightness(7); // Яркость (0-7)
randomSeed(analogRead(0)); // Инициализация генератора случайных чисел
}
void loop() {
// Вариант 1: Случайный порядок
int randomIndex = random(SYMBOLS_COUNT);
display.setSegments(SYMBOLS[randomIndex]);
// Вариант 2: Поочерёдный порядок (раскомментируйте для использования)
/*
static int currentIndex = 0;
display.setSegments(SYMBOLS[currentIndex]);
currentIndex = (currentIndex + 1) % SYMBOLS_COUNT;
*/
delay(2000); // Задержка 2 секунды между сменой символов
}