#include "ThingSpeak.h"
#include "WiFi.h"
#define ssid "Wokwi-GUEST"
#define password ""            
unsigned long channelID = 1826512;                //ID deL canal.
const char* WriteAPIKey = "47YJZR3RACAAQYPC";     //Write API Key
WiFiClient cliente;
//////////////////////////////////////////////////
#define TRIG_PIN 33 // ESP32 pin GIOP23 connected to Ultrasonic Sensor's TRIG pin
#define ECHO_PIN 32 // ESP32 pin GIOP22 connected to Ultrasonic Sensor's ECHO pin
float duration_us, distance_cm;
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid,password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("¡Wifi conectado!");
  ThingSpeak.begin(cliente);
//////////////////////////////////////////////
// configure the trigger pin to output mode
  pinMode(TRIG_PIN, OUTPUT);
  // configure the echo pin to input mode
  pinMode(ECHO_PIN, INPUT);
}
void loop() {
  delay(2000);
  ThingSpeak.writeFields(channelID,WriteAPIKey);
  Serial.println("!Datos enviados a ThingSpeak!");
  delay(5000);
//////////////////////////////////////////////////////////////////
// generate 10-microsecond pulse to TRIG pin
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  // measure duration of pulse from ECHO pin
  duration_us = pulseIn(ECHO_PIN, HIGH);
  // calculate the distance
  distance_cm = 0.017 * duration_us;
  // print the value to Serial Monitor
  Serial.print("distance: ");
  Serial.print(distance_cm);
  Serial.println(" cm");
  delay(500);
  ThingSpeak.setField (3,distance_cm);
}