#include <WiFi.h>
#include <ThingSpeak.h>
#include <HX711.h>
#define SECRET_SSID "Wokwi-GUEST"
#define SECRET_PASS ""
#define SECRET_CH_ID 2028875
#define SECRET_WRITE_APIKEY "KXOOQG0WJ0X8SAZC"
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
int keyIndex = 0;
WiFiClient client;
unsigned long myChannelNum = SECRET_CH_ID;
const char * myWriteAPIKey = SECRET_WRITE_APIKEY;
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
int buzzer = 2;
int led = 4;
void setup()
{
Serial.begin(9600);
analogReadResolution(10);
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
while(!Serial){
;
}
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop()
{
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect to SSID: ");
Serial.println(SECRET_SSID);
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid,pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected!!!");
}
int analogValue = analogRead(15);
float celcius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celcius);
Serial.println(" ℃");
if(celcius>=35){
Serial.println("\n High temperature");
digitalWrite(led,HIGH);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(led,LOW);
digitalWrite(buzzer,LOW);
}
else{
Serial.println("\n Low temperature");
delay(5000);}
int x = ThingSpeak.writeField(myChannelNum, 1, celcius, myWriteAPIKey);
if(x == 200)
{
Serial.println("Channel update successful");
}
else
{
Serial.println("Problem updating channel.HTTP error code" + String(x));
}
delay(5000);
}