#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Wire.begin(23, 22);
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop()
{
int16_t i = analogRead(34);
String msg = i < 2165 ? "WET" : i > 3135 ? "DRY" : "OK";
lcd.clear();
lcd.print("Soil: ");
lcd.print(msg);
delay(500);
}
#define BLYNK_TEMPLATE_ID "YourTemplateID"
#define BLYNK_DEVICE_NAME "YourDeviceName"
#define BLYNK_AUTH_TOKEN "YourAuthToken"
#include <WiFiNINA.h>
#include <BlynkSimpleWiFiNINA.h>
// Your WiFi credentials.
char ssid[] = "YourSSID";
char pass[] = "YourPassword";
// Define the pins for sensors
#define SOIL_MOISTURE_PIN A0 // Analog pin for soil moisture sensor
#define N_SENSOR_PIN A1 // Analog pin for Nitrogen sensor (simulated)
#define P_SENSOR_PIN A2 // Analog pin for Phosphorus sensor (simulated)
#define K_SENSOR_PIN A3 // Analog pin for Potassium sensor (simulated)
#define PH_SENSOR_PIN A4 // Analog pin for pH sensor (simulated)
#define TEMP_SENSOR_PIN A5 // Analog pin for Temperature sensor (simulated)
BlynkTimer timer;
void sendSensorData() {
// Reading soil moisture
int soilMoistureValue = analogRead(SOIL_MOISTURE_PIN);
float soilMoisturePercent = map(soilMoistureValue, 0, 1023, 0, 100);
// Reading NPK sensor values (simulated)
int nValue = analogRead(N_SENSOR_PIN);
float nPercentage = map(nValue, 0, 1023, 0, 100);
int pValue = analogRead(P_SENSOR_PIN);
float pPercentage = map(pValue, 0, 1023, 0, 100);
int kValue = analogRead(K_SENSOR_PIN);
float kPercentage = map(kValue, 0, 1023, 0, 100);
// Reading pH sensor value (simulated)
int phValue = analogRead(PH_SENSOR_PIN);
float ph = map(phValue, 0, 1023, 0, 14); // Assuming pH scale from 0 to 14
// Reading Temperature sensor value (simulated)
int tempValue = analogRead(TEMP_SENSOR_PIN);
float temperature = map(tempValue, 0, 1023, -40, 125); // Assuming temperature range from -40 to 125°C
// Send data to Blynk
Blynk.virtualWrite(V0, soilMoisturePercent);
Blynk.virtualWrite(V1, nPercentage);
Blynk.virtualWrite(V2, pPercentage);
Blynk.virtualWrite(V3, kPercentage);
Blynk.virtualWrite(V4, ph);
Blynk.virtualWrite(V5, temperature);
Serial.print("Soil Moisture: ");
Serial.print(soilMoisturePercent);
Serial.print("%, N: ");
Serial.print(nPercentage);
Serial.print("%, P: ");
Serial.print(pPercentage);
Serial.print("%, K: ");
Serial.print(kPercentage);
Serial.print("%, pH: ");
Serial.print(ph);
Serial.print(", Temp: ");
Serial.print(temperature);
Serial.println("°C");
}
void setup() {
// Debug console
Serial.begin(9600);
// Connect to WiFi
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// Setup a function to be called every second
timer.setInterval(1000L, sendSensorData);
}
void loop() {
Blynk.run();
timer.run();
}
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup() {
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
}