#include <stdio.h>
#include "pico/stdlib.h"
#define seg_a 10
#define seg_b 11
#define seg_c 13
#define seg_d 14
#define seg_e 15
#define seg_f 9
#define seg_g 8
#define ch 17
uint8_t display[7] = { seg_a, seg_b, seg_c, seg_d, seg_e, seg_f, seg_g };
bool display_valor[4][7] = {
{1,1,1,0,1,1,1},
{1,1,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,0,1,1,0,1,1}
};
int main() {
stdio_init_all();
gpio_init(ch);
gpio_set_dir(ch, GPIO_IN);
gpio_pull_up(ch);
bool valor_ch;
for (int i = 0; i < 7; i++) {
gpio_init(display[i]);
gpio_set_dir(display[i], GPIO_OUT);
}
while (true) {
valor_ch = gpio_get(ch); //comeca no 0
if (valor_ch) { // CRESCENTE A-9-6-5
for (int contador = 0; contador < 4; contador++) { // numero = quantidade d matrizes
for (int i = 0; i < 7; i++) {
gpio_put(display[i], display_valor[contador][i]);
}
sleep_ms(1000);
}
}
if (!valor_ch) { // DECRESCENTE 5-6-9-A
for (int contador = 3; contador >= 0; contador--) { // numero = quantidade de matrizes - 1
for (int i = 0; i < 7; i++) {
gpio_put(display[i], display_valor[contador][i]);
}
sleep_ms(1000);
}
}
}
}