#include <stdio.h>
#include "pico/stdlib.h"
// Definição dos pinos dos segmentos
#define A 10
#define B 11
#define C 13
#define D 14
#define E 15
#define F 9
#define G 8
// Matriz de pinos na ordem dos segmentos
uint8_t segmentos[7] = {A, B, C, D, E, F, G};
// Matriz com os valores dos dígitos
bool display_valor[10][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
{1,1,1,1,0,0,1}, // 3
{0,1,1,0,0,1,1}, // 4
{1,0,1,1,0,1,1}, // 5
{1,0,1,1,1,1,1}, // 6
{1,1,1,0,0,0,0}, // 7
{1,1,1,1,1,1,1}, // 8
{1,1,1,1,0,1,1} // 9
};
int main() {
stdio_init_all();
// Configura os segmentos como saída
for (int i = 0; i < 7; i++) {
gpio_init(segmentos[i]);
gpio_set_dir(segmentos[i], GPIO_OUT);
}
while (true) {
// Conta de 0 a 9
for (int numero = 0; numero < 10; numero++) {
for (int s = 0; s < 7; s++) {
gpio_put(segmentos[s], display_valor[numero][s]);
}
sleep_ms(500);
}
}
}