#include <WiFi.h>
#include <ThingSpeak.h>
const int LM35Pin = 34;
const int ldrPin = 35;
const int trig = 5;
const int echo = 18;
const int led = 2;
const char* ssid = "Wokwi-GUEST";
const char* pass = "";
unsigned long myChannelNumber = 1234567;
const char* myAPIKey = "YOUR_API_KEY";
WiFiClient client;
float pingTime, targetDistance;
void setup() {
Serial.begin(9600);
pinMode(ldrPin, INPUT);
pinMode(led, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
WiFi.begin(ssid, pass);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected to WiFi!");
ThingSpeak.begin(client);
}
void loop() {
int ldrValue = digitalRead(ldrPin);
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
pingTime = pulseIn(echo, HIGH);
targetDistance = (pingTime * 0.0343) / 2;
Serial.print("LDR Value: ");
Serial.println(ldrValue);
Serial.print("Target Distance: ");
Serial.println(targetDistance);
if (targetDistance >= 100 && ldrValue == LOW) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
ThingSpeak.setField(1, targetDistance);
ThingSpeak.setField(2, ldrValue);
int status = ThingSpeak.writeFields(myChannelNumber, myAPIKey);
if (status == 200) {
Serial.println("Channel update successful!");
} else {
Serial.println("Error updating channel. HTTP error code: " + String(status));
}
delay(15000);
}