//Nome:Estrela José Marcolino
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include "pico/stdlib.h"
// Define os pinos para LEDs
#define LED_VERDE 15
#define LED_VERMELHO 14
// Função para inicializar os LEDs
void inicializar_leds() {
gpio_init(LED_VERDE);
gpio_set_dir(LED_VERDE, GPIO_OUT);
gpio_put(LED_VERDE, 1); // Apaga LED Verde
gpio_init(LED_VERMELHO);
gpio_set_dir(LED_VERMELHO, GPIO_OUT);
gpio_put(LED_VERMELHO, 0); // Apaga LED Vermelho
}
// Função para simular reconhecimento de voz
bool autenticar_por_voz() {
char nome_usuario[50];
printf("Digite o comando de voz (nome): ");
scanf("%49s", nome_usuario);
if (strcmp(nome_usuario, "Estrela") == 0) {
printf("Comando de voz autenticado!\n");
return true;
} else {
printf("Comando de voz negado!\n");
return false;
}
}
// Função para simular teclado matricial
bool confirmar_por_teclado() {
int entrada;
printf("Digite '1' no teclado para confirmar: ");
scanf("%d", &entrada);
if (entrada == 1) {
printf("Confirmação pelo teclado bem-sucedida!\n");
return true;
} else {
printf("Confirmação pelo teclado falhou!\n");
return false;
}
}
// Função principal
int main() {
stdio_init_all(); // Inicializa comunicação padrão
inicializar_leds();
printf("\n=== Sistema de Segurança Revolução ===\n\n");
if (autenticar_por_voz()) {
if (confirmar_por_teclado()) {
gpio_put(LED_VERDE, 1); // Acende LED Verde
printf("Acesso autorizado!\n");
} else {
gpio_put(LED_VERMELHO, 1); // Acende LED Vermelho
printf("Acesso negado!\n");
}
} else {
gpio_put(LED_VERMELHO, 1); // Acende LED Vermelho
printf("Acesso negado!\n");
}
// Aguarda antes de reiniciar o sistema
sleep_ms(5000);
// Desliga LEDs antes de reiniciar
gpio_put(LED_VERDE, 0);
gpio_put(LED_VERMELHO, 0);
return 0;
}