#include #include #include int IMAN = 23; int LED = 4; //MOSFET const char* ssid = "XXXXX"; const char* password = "XXXXXX"; int AQI; void setup() { pinMode(IMAN, OUTPUT); //Relé para electroimanes pinMode (LED, OUTPUT); //LED ambiental digitalWrite(LED, HIGH); Serial.begin(115200); delay(4000); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } Serial.println("Connected to the WiFi network"); if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status HTTPClient http; http.begin("https://api.waqi.info/feed/puebla/?token=76ff974cc1e907f427cee4843cc8bfd14d9aa571"); //Specify the URL int httpCode = http.GET(); //Make the request if (httpCode > 0) { //Check for the returning code String payload = http.getString(); String jsonString = payload; String digits = jsonString.substring(29, 32); AQI = digits.toInt(); Serial.println(AQI); AQI = map(AQI, 0, 500, 1, 5); //Mapeo } else { Serial.println("Error on HTTP request"); } http.end(); //Free the resources } } void loop() { switch (AQI) { case 1: //Calidad buena 60 bpm digitalWrite(IMAN, HIGH); delay(1000); digitalWrite(IMAN, LOW); delay(1000); break; case 2: //Calidad regular 105 bpm digitalWrite(IMAN, HIGH); delay(571); digitalWrite(IMAN, LOW); delay(571); break; case 3: //Calidad mala 155 bpm digitalWrite(IMAN, HIGH); delay(387); digitalWrite(IMAN, LOW); delay(387); break; case 4: //Calidad terrible 205 bpm digitalWrite(IMAN, HIGH); delay(292); digitalWrite(IMAN, LOW); delay(292); break; case 5: //Calidad peligrosa 250 bpm digitalWrite(IMAN, HIGH); delay(240); digitalWrite(IMAN, LOW); delay(240); break; } // delay(100); }