#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "sdkconfig.h"
#define ledA 0
#define ledB 4
#define ledC 16
#define ledD 17
#define ledE 5
#define ledF 18
#define ledG 19
int i;
#define botao 12
void ativaHexa(){
gpio_set_level(ledA, 1); //aceso 0
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 0); //aceso 1
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 2
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 0);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 3
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 0); //aceso 4
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 5
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 6
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 7
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 8
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso 9
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso A
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 0); //aceso B
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso C
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 0);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 0); //aceso D
gpio_set_level(ledB, 1);
gpio_set_level(ledC, 1);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso E
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 0);
gpio_set_level(ledD, 1);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(ledA, 1); //aceso F
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 0);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 1);
gpio_set_level(ledF, 1);
gpio_set_level(ledG, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
void app_main() {
gpio_set_direction (ledA, GPIO_MODE_OUTPUT);
gpio_set_direction (ledB, GPIO_MODE_OUTPUT);
gpio_set_direction (ledC, GPIO_MODE_OUTPUT);
gpio_set_direction (ledD, GPIO_MODE_OUTPUT);
gpio_set_direction (ledE, GPIO_MODE_OUTPUT);
gpio_set_direction (ledF, GPIO_MODE_OUTPUT);
gpio_set_direction (ledG, GPIO_MODE_OUTPUT);
gpio_set_direction (botao, GPIO_MODE_INPUT);
gpio_set_direction(botao, GPIO_MODE_INPUT);
gpio_set_pull_mode(botao, GPIO_PULLUP_ONLY); // Habilita pull-up interno
while(true){
int estadoBotao = gpio_get_level(botao);
printf("Estado do botão: %d\n", estadoBotao); // Imprime o estado do botão
if(estadoBotao == 1){
ativaHexa();
}
else{
gpio_set_level(ledA, 0); //aceso 1
gpio_set_level(ledB, 0);
gpio_set_level(ledC, 0);
gpio_set_level(ledD, 0);
gpio_set_level(ledE, 0);
gpio_set_level(ledF, 0);
gpio_set_level(ledG, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
//ativaHexa();
}