//======================================================================================================================
// Trabajo Práctico Sistemas Operativos Avanzados - UNLaM
// Grupo L5 - Llamador de pacientes "SmartCare Alert"
// Repositorio de Github: https://github.com/Agustin-Zabalgoitia/TP-SOA
//======================================================================================================================
//Este es el código utilizado durante el desarrollo del proyecto en el simulador de wokwi
//Se modificó el código que fue subido a la placa esp32 para que funcionara acorde a los actuadores y sensores que tenemos.
//Por supuesto en el código del esp32 físico también se cambiaron los pines a ser usados por los actuadores y sensores, ya
//que nuestra placa es una ESP Wroom 32 y en simulador es una ESP32-DevKitC V4.
//Si desean ver el código que está subido en la placa física, vean la rama 'físico' del repositorio de github.
//El potenciómetro simula al sensor de presión, cuando se encuentra a la izquierda,
//simula que el paciente se "levantó". Cuando está más para la derecha simula que el paciente
//se encuentra en la cama.
//En esta simulación utilizamos leds simular el color de fondo que tiene el display en la vida real.
//======================================================================================================================
#include <estado.h>
#define BAUDRATE 9600
void setup() {
Serial.begin(BAUDRATE);
Wire.begin(PIN_LCD_SDA, PIN_LCD_SCL);
lcd.begin(LCD_COLUMNAS, LCD_FILAS);
lcd.backlight();
// Configuracion inicial del LCD
lcd.clear();
lcd.setCursor(LCD_COLUMNA_INICIAL, LCD_FILA_INICIAL);
lcd.print("Iniciando");
lcd.setCursor(0,1);
lcd.print("SmartCare Alert");
//Configuración de los pulsadores
pulsadorLlamar.pin = PIN_PULSADOR;
pulsadorAplazar.pin = PIN_PULSADOR_APLAZAR;
pulsadorConfirmar.pin = PIN_PULSADOR_CONFIRMAR;
//Configuramos los sensores
pinMode(PIN_PRESION, INPUT);
pinMode(PIN_PULSADOR, INPUT);
pinMode(PIN_PULSADOR_APLAZAR, INPUT);
pinMode(PIN_PULSADOR_CONFIRMAR, INPUT);
sensor_humedad.begin(); //El sensor de humedad empieza a funcionar
//Configuramos los actuadores
pinMode(PIN_LED_AMARILLO, OUTPUT);
pinMode(PIN_LED_AZUL, OUTPUT);
pinMode(PIN_LED_ROJO, OUTPUT);
pinMode(PIN_BUZZER, OUTPUT);
}
void loop() {
if(nuevo_evento != EV_CONTINUE) //Esto es para evitar spam
Serial.println("Estado: "+estados_string[estado_actual]+" Evento: "+eventos_string[nuevo_evento]);
fsm();
}