i am see true value(soil moisture ) in lcd but i cant see true value in blynk . i see only 0
ı use
nodemcu
lcd
water pumper
soil moisture
relay module
vs
this is my code:
#include <Wire.h> // I2C iletişimi için gerekli
#include <LiquidCrystal_I2C.h> // LCD ekran için kütüphane
#include <ArduinoWiFiServer.h> // WiFi sunucusu için gerekli kütüphane
#include <BearSSLHelpers.h> // SSL bağlantıları için yardımcı kütüphane
#include <CertStoreBearSSL.h> // SSL sertifikası saklama kütüphanesi
#include <ESP8266WiFi.h> // ESP8266 için WiFi işlemleri
#include <ESP8266WiFiAP.h> // Access Point işlemleri
#include <ESP8266WiFiGeneric.h> // genel WiFi işlemleri
#include <ESP8266WiFiGratuitous.h> // gratuitous ARP işlemleri
#include <ESP8266WiFiMulti.h> // birden fazla WiFi ağı yönetimi
#include <ESP8266WiFiSTA.h> // WiFi istasyon moduyla ilgili işlemler
#include <ESP8266WiFiScan.h> // WiFi ağlarını tarama işlemleri
#include <ESP8266WiFiType.h> // WiFi türleri için
#include <WiFiClient.h> // WiFi istemcisi kütüphanesi
#include <WiFiClientSecure.h> // güvenli WiFi istemcisi
#include <WiFiClientSecureBearSSL.h> // güvenli SSL istemcisi
#include <WiFiServer.h> // WiFi sunucusu kütüphanesi
#include <WiFiServerSecure.h> // güvenli WiFi sunucusu
#include <WiFiServerSecureBearSSL.h> // SSL güvenli WiFi sunucusu
#include <WiFiUdp.h> // UDP iletişimi için
#define BLYNK_TEMPLATE_ID "TMPL6IRDwZL-V" // blynk platformu için şablon kimliği
#define BLYNK_TEMPLATE_NAME "Akilli Saksi" // blynk platformu için şablon adı
#define BLYNK_PRINT Serial // blynk işlemleri için seri monitörü aktif et
#include <BlynkSimpleEsp8266.h> // blynk kütüphanesi
#include <ESP8266WiFi.h> // esp8266 için WiFi kütüphanesi
// lcd ekranı başlat
LiquidCrystal_I2C lcd(0x27, 16, 2); // lcd ekran adresi 0x27, 16x2 boyutunda
char auth[] = "blablabal"; // blynk uygulamasından alınan auth token
char ssid[] = "Mi10T"; // WiFi ağ adı
char pass[] = "samet123"; // WiFi şifresi
BlynkTimer timer; // blynk zamanlayıcı oluştur
bool Relay = 0; // pompa kontrolü için röle durumu
// bileşen pin tanımları
#define sensor A0 // toprak nem sensörü pini
#define waterPump D3 // su pompası pini
void setup() {
Serial.begin(9600); // seri iletişim hızını 9600 olarak ayarla
pinMode(waterPump, OUTPUT); // pompa pinini çıkış olarak ayarla
digitalWrite(waterPump, HIGH); // pompayı kapalı duruma getir
lcd.begin(); // lcd ekranı başlat
lcd.backlight(); // lcd ekranın arka ışığını aç
Blynk.begin(auth, ssid, pass, "blynk.cloud", 8080); // blynk ile bağlantı kur
lcd.setCursor(1, 0); // lcd'nin ilk satırına yaz
lcd.print("Sistem Yukleniyor");
for (int a = 0; a <= 10; a++) { // sistem yükleniyor animasyonu
lcd.setCursor(a, 1); // ikinci satıra yaz
lcd.print(".....");
delay(500); // her noktadan sonra bekle
}
lcd.clear(); // lcd ekranı temizle
timer.setInterval(100L, soilMoistureSensor); // her 100ms'de bir toprak nem sensörünü oku
}
// blynk uygulamasındaki düğme değerini al
BLYNK_WRITE(V1) {
Relay = param.asInt(); // düğme değeri oku
if (Relay == 1) { // eğer röle açık ise
digitalWrite(waterPump, LOW); // pompayı aktif et
lcd.setCursor(0, 1); // lcd ekranında yaz
lcd.print("Pompa Aktif ");
} else { // röle kapalı ise
digitalWrite(waterPump, HIGH); // pompayı kapat
lcd.setCursor(0, 1);
lcd.print("Pompa Kapali");
}
}
// toprak nem değerlerini oku
void soilMoistureSensor() {
int value = analogRead(sensor); // sensör değerini oku
value = map(value, 0, 1024, 0, 100); // değeri yüzdeye çevir
value = (value - 100) * -1; // ters çevirerek doğru nem değerini al
Blynk.virtualWrite(V2, value); // blynk uygulamasına değeri gönder
lcd.setCursor(0, 0); // lcd ekranına yaz
lcd.print("Nem Degeri :");
lcd.print(value);
lcd.print(" "); // ekranda kalan yazıyı temizlemek için boşluk ekle
Serial.print("Nem Değeri: "); // seri monitöre yaz
Serial.println(value);
}
void loop() {
Blynk.run(); // blynk kütüphanesini çalıştır
timer.run(); // blynk zamanlayıcısını çalıştır
}