#include <DHT.h>
#include <Stepper.h>
#include <Wire.h>
DHT dht(2, DHT22);
const float GAMMA = 0.7;
const float RL10 = 50;
const int steps = 100;
Stepper myStepper(steps, 8, 9, 10, 11);
int myRelay = 12;
volatile byte relayState = LOW;
void setup() {
myStepper.setSpeed(60);
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(1000);
int analogValue = analogRead(A0);
float voltage = analogValue / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
float h = dht.readHumidity();
float t = dht.readTemperature();
if(relayState == LOW){
Serial.print("lux: ");
Serial.println(lux,1);
myStepper.step(steps);
}
if(relayState == HIGH){
Serial.print("вологість: ");
Serial.print(h,1);
Serial.print("% температура: ");
Serial.print(t,1);
Serial.println("C");
myStepper.step(-steps);
}
if(t<0){
relayState = HIGH;
}
if(t>0){
relayState = LOW;
}
}