Hey guys i need your help
So, i want to make a monitoring system using blynk app.
It can monitor soil moisture, air humidity and temperature.
But something wrong in my blynk app. It cant show the soil moisture sensor. I dont know if the code or the blynk app is wrong, please help guys.
Im using :
• Nodemcu ESP8266, DHT 22 Sensor, Soil Moisture sensor (im using the A0,VCC, and GND)
• Smartphone Android
• Blynk server or local server
• Blynk Library version
heres the code
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <DHT.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "9wiBL8RDQjWOnIHOaCIn4Szb0Ekw_n2Z"; //Enter the Auth code which was send by Blink
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "GARPU_SIOMAY"; //Enter your WIFI Name
char pass[] = "katasandi"; //Enter your WIFI Password
#define DHTPIN 2 // Digital pin 4
const int sensorpin=A0;
int sensorvalue=0;
int outputvalue=0;
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;
const int sensorPin = A0;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, h); //V5 is for Humidity
Blynk.virtualWrite(V6, t); //V6 is for Temperature
}
void sendSensor2()
{
int sensorvalue=analogRead(sensorpin);
outputvalue=map(sensorvalue,0,1023,0,100);
if(outputvalue>74)
{
Serial.println("water your plant");
Serial.print(outputvalue);
Blynk.notify("water your plant");
delay(1000);
}
else if(outputvalue<45)
{
Serial.println("soil is wet enough to water");
Serial.print(outputvalue);
Blynk.notify("soil is wet enough to water");
delay(1000);
}
Blynk.virtualWrite(V1, outputvalue);
}
void setup()
{
Serial.begin(9600); // See the connection status in Serial Monitor
Blynk.begin(auth, ssid, pass);
dht.begin();
// Setup a function to be called every second
timer.setInterval(1000L, sendSensor);
}
void loop()
{
Blynk.run(); // Initiates Blynk
timer.run(); // Initiates SimpleTimer
}