#include <stdio.h>
#include "pico/stdlib.h"
// Embarcatech 2024 - Projeto 6 - contador duplo
// autor: Luis Ferlim
// luisferlim.com
const uint8_t display1 = 8;
const uint8_t display2 = 7;
uint8_t unit;
uint8_t decimal;
const uint8_t displayPins [7] = {0, 1, 2, 3, 4 ,5 ,6};
const uint8_t digits [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
{0,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
};
void init();
int main() {
stdio_init_all();
init();
while (true) {
//display 1
for (int count = 0; count < 100; count ++){
//contagem de 0 a 99
unit = count %10;
decimal = count /10;
for(int time = 0; time < 15; time++){
//desligando os displays
gpio_put(display1, 1);
gpio_put(display2, 1);
for (int j = 0; j < 7; j++){
gpio_put(displayPins[j], digits[unit][j]);
}
//ligando so o display 1
gpio_put(display1, 0);
sleep_ms(5);
//desligando os displays
gpio_put(display1, 1);
gpio_put(display2, 1);
for (int j = 0; j < 7; j++){
gpio_put(displayPins[j], digits[decimal][j]);
}
//ligando so o display 2
gpio_put(display2, 0);
sleep_ms(5);
}
sleep_ms(100);
}
}
}
void init() {
//iniciando os pinos seletores
gpio_init(display1);
gpio_init(display2);
gpio_set_dir(display1, GPIO_OUT);
gpio_set_dir(display2, GPIO_OUT);
for (int i = 0; i < 7; i++){
gpio_init(displayPins[i]);
gpio_set_dir(displayPins[i], GPIO_OUT);
}
}