#include <WiFi.h>
#include "ThingSpeak.h"
#define TRIG_PIN1 12
#define ECHO_PIN1 13
#define TRIG_PIN2 14
#define ECHO_PIN2 27
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2779774;
const char* myApiKey = "Z0JVYNR56GXEQ8YS";
WiFiClient client;
void setup() {
Serial.begin(115200);
// Konfigurasi pin sensor 1
pinMode(TRIG_PIN1, OUTPUT);
pinMode(ECHO_PIN1, INPUT);
// Konfigurasi pin sensor 2
pinMode(TRIG_PIN2, OUTPUT);
pinMode(ECHO_PIN2, INPUT);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED){
delay(1000);
Serial.println("Wifi not connected");
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
float distance1 = readDistance(TRIG_PIN1, ECHO_PIN1);
float distance2 = readDistance(TRIG_PIN2, ECHO_PIN2);
ThingSpeak.setField(1, distance1);
ThingSpeak.setField(2, distance2);
int x = ThingSpeak.writeFields(myChannelNumber,myApiKey);
Serial.print("Jarak Sensor 1: ");
Serial.print(distance1);
Serial.println(" cm");
Serial.print("Jarak Sensor 2: ");
Serial.print(distance2);
Serial.println(" cm");
Serial.println("----------------------------");
delay(1000);
}
float readDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2; // Konversi ke cm
return distance;
}