#include <ArduinoJson.h>

#define ADC_VREF_mV    5000.0 // en milivoltios
#define ADC_RESOLUTION 1024.0
#define PIN_LM35       A0
#define valorDefinido 30
#define led 2

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {
  int adcVal = analogRead(PIN_LM35);
  
  float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION);
  
  float tempC = milliVolt / 10;

  // Verificar si la temperatura es menor o igual al valor definido
  if (tempC <= valorDefinido) {
    digitalWrite(led, HIGH); // Encender el LED si la temperatura es menor o igual al valor definido
  } else {
    digitalWrite(led, LOW); // Apagar el LED si la temperatura es mayor al valor definido
  }

  // Crear un objeto JSON
  StaticJsonDocument<200> doc;
  doc["sensor"] = "temperatura";
  doc["valor"] = tempC;

  // Serializar el objeto JSON y enviarlo al Monitor Serie
  serializeJson(doc, Serial);
  Serial.println(); // Agregar una nueva línea para separar los datos JSON

  delay(1000); // Esperar un segundo antes de realizar la próxima lectura
}
LM35Breakout