#include "WiFi.h"
#include "ESP32Servo.h"
#include "ThingSpeak.h"
const int servopin=15;
unsigned long lasttime=0;
WiFiClient client ;
unsigned long Mychanel = 2289702 ; // код юзера
const char * mywritekey = "Y80CR79ULSQ3Z2WL" ;// ключ записи
const char * myreadkey = "GAZK4XMRWILHIFB9" ; //ключ чтения
int pos=0;
float t=0,h=0 ;
Servo servo ;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!servo");
servo.attach (servopin);
WiFi.begin("Wokwi-GUEST", "",6);
while (WiFi.status() != WL_CONNECTED){
delay (250);
Serial.print(".");
}
Serial.println("");
Serial.print("Wifi.connected");
Serial.print("IP :");
Serial.print(WiFi.localIP()) ;
WiFi.mode (WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
if ((millis ()- lasttime > 30000)){
t=ThingSpeak.readFloatField (Mychanel, 1, myreadkey );
h=ThingSpeak.readFloatField (Mychanel, 2, myreadkey );
Serial.println("хумидити "+ String(h, 2)+ "%" );
Serial.println("Temp "+ String(t, 2)+ "C" );
lasttime=millis();
if (t<=14){ //температура первого столбика
if(h>60){
pos= map(h,60,100,0,45) ; //первый столбик третья строка
}
else
pos=0;
}
if ((t>14)&&(t<18)){ //температура второго столбика
if ((h>40)&&(h<60)){
pos= map (h,40,60,0,45); //второй столбик вторая строка
}
if(h>60){
pos= map(h,60,100,45,90); //второй столбик третья строка
}
else {
pos=0;
}
}
if (t>18) { //третий столбик температура
if(h<=40){ //третий столбик первая строка
pos= map(h,0,40,45,120);
}
if((h>40)&&(h<60)){ //третий столбик вторая строчка
pos= map(h,40,60,45,180);
}
if(h>60){//третий столбик третья строчка
pos= map (h,60,100,90,180);
}
}
Serial.println("pos="+ String (pos));
servo.write (pos);
delay (1000);
}
}