#include <ThingSpeak.h>
#include <DHTesp.h>
#include <WiFi.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "SJGK5S9FZY7SQUFR";
DHTesp homeauto;
TempAndHumidity data;
WiFiClient client;
long myChannelNumber = 2620709;
const char * myWriteAPIKey = "SJGK5S9FZY7SQUFR";
int statusCode;
int temp;
int hum;
int trigger=14;
int echo=33;
int distance;
void setup() {
statusCode = ThingSpeak.writeFields(myChannelNumber,myWriteAPIKey);
WiFi.mode(WIFI_STA);
Serial.begin(115200);
homeauto.setup(18,DHTesp::DHT22);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(17, OUTPUT);//green
pinMode(16, OUTPUT);//orange
pinMode(4, OUTPUT);//red
pinMode(23, OUTPUT);//Buzzer
}
int ultra_sonic(){
digitalWrite(trigger, HIGH);
delay(100);
digitalWrite(trigger, LOW);
digitalWrite(echo, HIGH);
float received=pulseIn(echo,HIGH);
float converted=(received*0.034/2)+1;
return(converted);
}
void loop() {
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
// statusCode = ThingSpeak.writeFields(myChannelNumber,myWriteAPIKey);
// data=homeauto.getTempAndHumidity();
// distance=ultra_sonic();
// temp=data.temperature;
// hum=data.humidity;
// Serial.println(distance);
// Serial.println(temp);
// Serial.println(hum);
// if((temp<=30) && (hum>=70) && (distance>=300))
// {
// noTone(23);
// digitalWrite(17, HIGH);
// digitalWrite(16, LOW);
// digitalWrite(4, LOW);
// }
// else if((temp>30 &&temp<70) && (hum>30&&hum<70) && (distance>200 && distance<300)) {
// digitalWrite(16, HIGH);
// digitalWrite(17, LOW);
// digitalWrite(4, LOW);
// noTone(23);
// }
// else if((temp>=70) && (hum<=30) && (distance<=200))
// {
// tone(23,10000);
// digitalWrite(4, HIGH);
// digitalWrite(17, LOW);
// digitalWrite(16, LOW);
// }
// else{
// noTone(23);
// digitalWrite(4, LOW);
// digitalWrite(17, LOW);
// digitalWrite(16, LOW);
// }
// delay(1000);
// ThingSpeak.setField(1, data.temperature);
// ThingSpeak.setField(2, data.humidity);
// ThingSpeak.setField(5, distance);
// if(statusCode == 200) { //successful writing code
// Serial.println("Channel update successful.");
// }
// else {
// Serial.println("Problem Writing data. HTTP error code :" +
// String(statusCode));
// }
// delay(10); // this speeds up the simulation
}