pump works, ToDo moisture sensor

main
thunic 2 years ago
parent 36d813597d
commit b69759a585

@ -10,6 +10,9 @@
#define sensorPower D2 #define sensorPower D2
#define sensorPin A0 #define sensorPin A0
//pump
#define pump D8
// Value for storing water level // Value for storing water level
int val = 0; int val = 0;
int test = 0; int test = 0;
@ -31,8 +34,14 @@ void setup() {
Serial.begin(9600); Serial.begin(9600);
dht.begin(); dht.begin();
delay(1000); delay(1000);
//Waterlevel sensor
pinMode(sensorPower, OUTPUT); pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW); digitalWrite(sensorPower, LOW);
//pump
pinMode(pump, OUTPUT);
digitalWrite(pump, LOW);
delay(2000); delay(2000);
WiFi.setHostname(hostname.c_str()); //define hostname WiFi.setHostname(hostname.c_str()); //define hostname
WiFi.begin(ssid, password); WiFi.begin(ssid, password);
@ -57,22 +66,30 @@ void setup() {
void loop() { void loop() {
//temperature sensor
float humidity = dht.readHumidity();
float temperature = dht.readTemperature(); float temperature = dht.readTemperature();
Serial.print("Temperatur: "); Serial.print("Temperatur: ");
Serial.print(temperature); Serial.print(temperature);
Serial.println("°C"); Serial.println("°C");
delay(1000); delay(1000);
//humidity sensor
float humidity = dht.readHumidity();
Serial.print("Luftfeuchtigkeit: "); Serial.print("Luftfeuchtigkeit: ");
Serial.print(humidity); Serial.print(humidity);
Serial.println("%"); Serial.println("%");
//waterlevel sensor
int waterlevel = readSensor(); int waterlevel = readSensor();
Serial.print("Water level: "); Serial.print("Water level: ");
Serial.println(waterlevel); Serial.println(waterlevel);
//moisture sensor
//pump if moisture level is lower than a certain threshold
if(WiFi.status()== WL_CONNECTED){ if(WiFi.status()== WL_CONNECTED){
//---------------------------------------------------------------- //----------------------------------------------------------------
DynamicJsonDocument doc(2048); DynamicJsonDocument doc(2048);
@ -110,7 +127,7 @@ void loop() {
} }
//This is a function used to get the reading //reading water level
int readSensor() { int readSensor() {
digitalWrite(sensorPower, HIGH); // Turn the sensor ON digitalWrite(sensorPower, HIGH); // Turn the sensor ON
delay(10); // wait 10 milliseconds delay(10); // wait 10 milliseconds
@ -119,6 +136,7 @@ int readSensor() {
return val; // send current reading return val; // send current reading
} }
//initial post request
int initiate(String hostname){ int initiate(String hostname){
DynamicJsonDocument doc(2048); DynamicJsonDocument doc(2048);
@ -132,6 +150,7 @@ int initiate(String hostname){
return 1; return 1;
} }
//post request handler
int postRequest(String requestBody, String api) { int postRequest(String requestBody, String api) {
String urlName; String urlName;
urlName = serverName + api; urlName = serverName + api;
@ -156,6 +175,7 @@ int postRequest(String requestBody, String api) {
return 1; return 1;
} }
//deepsleep function for battery saving
void startDeepSleep(int timer){ void startDeepSleep(int timer){
Serial.println("Going to deep sleep..."); Serial.println("Going to deep sleep...");
ESP.deepSleep(timer * 1000000); ESP.deepSleep(timer * 1000000);
Loading…
Cancel
Save