// Breno Correia Lociks
// Exercício 5
#include <WiFi.h>
#include <LiquidCrystal_I2C.h>
#include <DHTesp.h>
#include "ThingSpeak.h"
#include "secrets.h"
#define dataPin 12
DHTesp dht;
LiquidCrystal_I2C lcd(0x27,16,2);
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int keyIndex = 0;
WiFiClient client;
unsigned long myChannelNumber = CHANNEL_ID;
const char * myWriteAPIKey = WRITE_API_KEY;
void setup() {
Serial.begin(115200);
dht.setup(dataPin, DHTesp::DHT22);
lcd.init();
lcd.setBacklight(HIGH);
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("Wokwi-CLIENT");
while(WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
float t = dht.getTemperature();
float u = dht.getHumidity();
lcd.setCursor(0,0);
lcd.print(t);
lcd.print(" C ");
lcd.setCursor(0,1);
lcd.print(u);
lcd.print(" % ");
ThingSpeak.setField(1, t);
ThingSpeak.setField(2, u);
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if(x == 200) {
Serial.println("Channel update successful.");
}
else {
Serial.println("Problem updating channel. HTTP error code " + String(x));
}
delay(20000);
}