//Aluno: ANTONIO JOSÉ PORTELA DE JESUS SANTOS
//UNIT04 - Cap. 05 a 08 - ATIVIDADE: TAREFA DE ENVIO - Clock e temporizador
/* Tarefa 1 - Questão 1 - Reutilize o circuito no Wokwi criado na sala de aula e
escreva o código. Abaixo está o lembrete das GPIOs do kit bitDogLab.
O circuito utilizado foi o da aula do dia 14/01/2025, segue link do youtube
no tempo da aula onde está o enunciado da tarefa proposta.
https://www.youtube.com/live/VOUIyb6dTPg?t=4177s
*/
//Declaração das bibliotecas
#include "pico/stdlib.h"
//Definição das variáveis globais, GPIO e constantes
#define LED_R_PIN 13
#define LED_G_PIN 11
#define LED_B_PIN 12
#define BTN_A_PIN 5
#define BTN_B_PIN 6
//Definição dos protótipos de funções
void set_leds(bool red, bool green, bool blue);//Função que aciona o Led RGB
void setup();//Função de configuração dos pinos GPIO utilizados
//Função main
void main(){
setup();
while (1){
if (!gpio_get(BTN_A_PIN) && !gpio_get(BTN_B_PIN)){
//Não faz nada
}
else if (!gpio_get(BTN_A_PIN)){
set_leds(0,0,1);
}
else if (!gpio_get(BTN_B_PIN)){
set_leds(1,0,0);
}
else{
set_leds(0,1,0);
}
sleep_ms(100); //Tempo para evitar bounce
}
}
//Funções implementadas
void setup(){
gpio_init(LED_R_PIN);
gpio_set_dir(LED_R_PIN, GPIO_OUT);
gpio_init(LED_G_PIN);
gpio_set_dir(LED_G_PIN, GPIO_OUT);
gpio_init(LED_B_PIN);
gpio_set_dir(LED_B_PIN, GPIO_OUT);
gpio_init(BTN_A_PIN);
gpio_set_dir(BTN_A_PIN, GPIO_IN);
gpio_pull_up(BTN_A_PIN); //Resistor de pull-up interno ativado
gpio_init(BTN_B_PIN);
gpio_set_dir(BTN_B_PIN, GPIO_IN);
gpio_pull_up(BTN_B_PIN); //Resistor de pull-up interno ativado
}
void set_leds(bool red, bool green, bool blue){
gpio_put(LED_R_PIN, red);
gpio_put(LED_G_PIN, green);
gpio_put(LED_B_PIN, blue);
}