#include <WiFi.h>
#include <ThingSpeak.h>
#define ldrPin 2
const float gama = 0.7;
const float rl10 = 50;
const int LED=13;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const char* server = "api.thingspeak.com";
unsigned long channelNumber = 2118331;
const char* writeAPIKey = "CY257U9Q0542NHCK";
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(LED, OUTPUT);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
delay(1500);
}
void loop() {
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Attempting to connect to WiFi");
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected to WiFi.");
}
delay(10);
int value = analogRead(ldrPin);
value = map(value, 4095, 0, 1024, 0);
float voltage = value / 1024.*5;
float resistans = 2000 * voltage / (1-voltage/5);
float brightness = pow(rl10*1e3*pow(10,gama)/resistans,(1/gama));
//led
if(brightness <=200){
Serial.println("It's night...");
digitalWrite(LED, HIGH);
}
else{
Serial.println("It's day...");
digitalWrite(LED, LOW);
}
ThingSpeak.setField(1, brightness);
int response = ThingSpeak.writeFields(channelNumber, writeAPIKey);
if (response == 200) {
Serial.println("Channel update successful.");
} else {
Serial.println("Problem writing to ThingSpeak.");
}
delay(10000);
}