merhaba,
arduino ide de kodu derlediğimde herhangi bir hata vermemektedir fakat esp8266ya kodu attığımda seri port ekranında semboller çıkmakta ve çalışmamaktadır. farklı bir kod attığımda esp8266 çalışıyor sorun yok fakat aşağıdaki kodu attığımda bu şekilde seri port ekranında gözüküyor
arduino ide de kodu derlediğimde herhangi bir hata vermemektedir fakat esp8266ya kodu attığımda seri port ekranında semboller çıkmakta ve çalışmamaktadır. farklı bir kod attığımda esp8266 çalışıyor sorun yok fakat aşağıdaki kodu attığımda bu şekilde seri port ekranında gözüküyor
Kod:
#include<Wire.h>
#include <ESP8266WiFi.h>
#include<FirebaseESP8266.h>
#include <DHT.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
FirebaseData fbdo;
// Set these to run example.
#define FIREBASE_HOST "esp8266dht11-e314e-default-rtdb.asia-southeast1.firebasedatabase.app"
#define FIREBASE_AUTH "eAqiJmuJDp8Uz1lDaQjg88EVmDb8Qj1qAHdOJtBh"
#define WIFI_SSID "TurkTelekom1"
#define WIFI_PASSWORD "fenerbahce34"
#define DHTPIN 2 // Digital pin connected to DHT11
#define DHTTYPE DHT11 // Initialize dht type as DHT 11
DHT dht(DHTPIN, DHTTYPE);
const long utcOffsetInSeconds = 5 * 3600 + 30 * 60;
char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "asia.pool.ntp.org", utcOffsetInSeconds);
void setup() {
Serial.begin(115200);
lcd.begin(16,2);
lcd.backlight();
lcd.clear();
dht.begin();
timeClient.begin();
lcd.setCursor(1, 0);
lcd.print("Connecting..");
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Connected: ");
lcd.setCursor(1, 1);
lcd.print(WiFi.localIP());
delay(5000);
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
lcd.clear();
}
void loop() {
{
int h = dht.readHumidity(); // Read Humidity
int t = dht.readTemperature(); // Read temperature
if (isnan(h) || isnan(t)) // Checking sensor working
{
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
timeClient.update();
String day = daysOfTheWeek[timeClient.getDay()];
String formattedTime = timeClient.getFormattedTime();
String formattedDayTime = String(day) + String(",") + String(formattedTime);
String fireHumid = formattedDayTime + String(": ") + String(h) + String("%"); //Humidity integer to string conversion
String fireTemp = formattedDayTime + String(": ") + String(t) + String("°C"); //Temperature integer to string conversion
lcd.setCursor(1, 0);
lcd.print(day);
lcd.print(", ");
lcd.setCursor(5, 0);
lcd.print(formattedTime);
lcd.setCursor(1, 1);
lcd.print("H:");
lcd.print(h);
lcd.setCursor(5, 1);
lcd.print("%");
lcd.setCursor(8, 1);
lcd.print("T:");
lcd.print(t);
lcd.setCursor(12, 1);
lcd.print("*C");
Firebase.pushString(fbdo, "/DHT11/Humidity", fireHumid); //setup path to send Humidity readings
Firebase.pushString(fbdo, "/DHT11/Temperature", fireTemp); //setup path to send Temperature readings
delay(5000);
}
}