#include <TM1637Display.h>

#define SCL 9
#define SDA 8

// Declara o objeto TM1637Display
TM1637Display display(SCL, SDA, DEFAULT_BIT_DELAY);

// Define o padrão para exibir o retângulo
const uint8_t ret[] =
{
  SEG_A|SEG_F|SEG_E|SEG_D,
  SEG_A|SEG_D,
  SEG_A|SEG_D,
  SEG_A|SEG_B|SEG_C|SEG_D
};

const uint8_t one_seg[] = { SEG_G };
const uint8_t turn_off_one_seg[] = { 0x00 };

// Função que realiza uma animação no display
void animation()
{
  int i;
  
  // Animação de ida
  for (i = 0; i < 4; i++)
  {
    display.setSegments(one_seg, 1, i); // Mostra o segmento no índice i
    delay(500);
    display.setSegments(turn_off_one_seg, 1, i); // Desliga o segmento no índice i
  }
  
  // Animação de volta
  for (i = 3; i >= 0; i--)
  {
    display.setSegments(one_seg, 1, i);
    delay(500);
    display.setSegments(turn_off_one_seg, 1, i);
  }
}

void setup() 
{
  // Inicializa a comunicação serial na velocidade de 115200 bps
  Serial.begin(115200);
 
  // Define a intensidade luminosa do display (0-7)
  display.setBrightness(5);
  
  // Limpa o display
  display.clear(); 

  // Formato para mostrar hora e minuto (14:15)
  int time_in_display = (14 * 100) + 15;
  display.showNumberDecEx(time_in_display, 0b11100000, true);
  delay(1500);
  display.clear();
  
  // Cria um retângulo no display
  display.setSegments(ret, 4, 0);
  delay(1500);
  display.clear();

  // Mostra o número -10 no display
  display.showNumberDec(-10);  
  delay(1500);
  display.clear();
  
  // Mostra o número 15 no display (com o sinal de menos)
  display.showNumberDec(15, true); 
  delay(1500);
  display.clear();
  
  // Mostra o número 20 no display (sem o sinal de menos) com dois dígitos (20)
  display.showNumberDec(20, false, 2, 1);
  delay(2000);
  display.clear();
}

void loop() 
{
  // Executa a animação
  animation();
}
franzininho:0
franzininho:1
franzininho:2
franzininho:3
franzininho:4
franzininho:5
franzininho:6
franzininho:7
franzininho:8
franzininho:9
franzininho:10
franzininho:11
franzininho:12
franzininho:13
franzininho:14
franzininho:15
franzininho:16
franzininho:17
franzininho:18
franzininho:21
franzininho:26
franzininho:33
franzininho:34
franzininho:35
franzininho:36
franzininho:37
franzininho:38
franzininho:39
franzininho:40
franzininho:41
franzininho:42
franzininho:43
franzininho:44
franzininho:45
franzininho:46
franzininho:3V3.1
franzininho:GND.1
franzininho:3V3.2
franzininho:GND.7
franzininho:SDA
franzininho:SCL
franzininho:5V.1
franzininho:GND.3
franzininho:GND.2
franzininho:5V.2
franzininho:GND.4
franzininho:GND.5
franzininho:GND.6
franzininho:5V.3
franzininho:21.2
4-Digit Display
sevseg1:CLK
sevseg1:DIO
sevseg1:VCC
sevseg1:GND