#include <stdio.h>
#include "pico/stdlib.h"
#define segmento_a 10 // Segmento A do display de 7 segmentos
#define segmento_b 11 // Segmento B do display de 7 segmentos
#define segmento_c 13 // Segmento C do display de 7 segmentos
#define segmento_d 14 // Segmento D do display de 7 segmentos
#define segmento_e 15 // Segmento E do display de 7 segmentos
#define segmento_f 9 // Segmento F do display de 7 segmentos
#define segmento_g 8 // Segmento G do display de 7 segmentos
#define atraso 500 // Tempo de atraso de 500ms
uint8_t display[7] = { segmento_a, segmento_b, segmento_c, segmento_d, segmento_e, segmento_f, segmento_g };
bool display_valor[10][7] = { {1,1,1,1,1,1,0}, // nro 0
{0,1,1,0,0,0,0}, // nro 1
{1,1,0,1,1,0,1}, // nro 2
{1,1,1,1,0,0,1}, // nro 3
{0,1,1,0,0,1,1}, // nro 4
{1,0,1,1,0,1,1}, // nro 5
{1,0,1,1,1,1,1}, // nro 6
{1,1,1,0,0,0,0}, // nro 7
{1,1,1,1,1,1,1}, // nro 8
{1,1,1,1,0,1,1} // nro 9
};
int main () {
// Configuracao
stdio_init_all();
// configura o segmento como saída digital
for ( int index = 0 ; index <7 ; index++){
gpio_init( display[index] );
gpio_set_dir( display[index] , GPIO_OUT);
}
while (true){
for ( uint8_t contador = 0 ; contador <10 ; contador++){
for ( int index = 0 ; index <7 ; index++){
gpio_put( display[index] , display_valor[contador][index]);
}
sleep_ms ( atraso ); // 8 – Espera de 500ms antes de executar o próximo comando
}
}
}