#include <Arduino.h>
#include <WiFi.h>
#include <ThingSpeak.h>
const char* ssid = "Wokwi-GUEST";
const char* pass = "";
const unsigned long myChannelNumber = 3043754;
const char* myWriteAPIKey = "YI5QD5ZPKZV2823C";
int led=18,trigPin=5,echoPin=19,ldr=17;
float pingTime,targetDistance;
WiFiClient client;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(ldr, INPUT);
pinMode(echoPin, INPUT);
}
void loop() {
if (WiFi.status() != WL_CONNECTED) {
Serial.println("Attempting to connect to WiFi...");
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
int ldrPin=digitalRead(ldr);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
delayMicroseconds(15);
pingTime = pulseIn(echoPin, HIGH);
targetDistance = (pingTime*0.0343)/2;
Serial.print("Distance: ");
Serial.print(targetDistance);
Serial.println(" cm");
Serial.print("LDR Value: ");
Serial.println(ldrPin);
if((targetDistance <=100)&&(ldrPin == 0 )) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
ThingSpeak.begin(client);
ThingSpeak.setField(1, ldrPin);
int statusCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (statusCode == 200) {
Serial.println("Channel update successful.");
}
else {
Serial.print("Problem writing data. HTTP error code:");
Serial.println(statusCode);
}
delay(15000);
}