Akıllı Ev Isıtma Uygulaması NodeMCU 1.0 (ESP-12E)

Görseldeki devre, bulunduğu ortamın nem ve sıcaklık bilgisini firebase veritabanına yazar. Görseldeki akıllı telefon uygulamasından bu değerler okunur. NodeMCU kartına bağlı ısıtıcı internet üzerinden kontrol edilir.

#include <ESP8266WiFi.h> // NodeMCU kurulumuyla gelir.
#include <FirebaseESP8266.h> // FirebaseESP8266 Client v3.8.3 ve Firabasejson v2.6.3
#include "DHT.h" // Adafruit DHT Sensor Library v1.2.3 

#define DHTpin 4     // Sensörün bağlandığı pin. NodeMCU 1.0 (ESP-12E) D2 pini.
#define DHTtipi DHT11   // Sensör tipi: DHT11, DHT21, DHT22.

DHT dht(DHTpin, DHTtipi); //dht isimli nesne oluşturuldu.

#define WIFI_SSID "ZyXEL" // Kablosuz ağ adı.
#define WIFI_PASSWORD "CK4YTTFPACTL" // Kablosuz ağ şifresi.

#define DATABASE_URL "internet-d61ca-default-rtdb.firebaseio.com" // Firebase'de oluşturulan nesnenin adresi.

FirebaseData veritabani; // veritabani isimli nesne oluşturuldu.

FirebaseAuth auth;
FirebaseConfig config;

void setup() {
  pinMode(2, OUTPUT);     //  GPIO2 pini D4 pini çıkış.
  pinMode(4, INPUT);     //  GPIO4 pini D2 pini giriş.
  dht.begin();

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

  config.database_url = DATABASE_URL;
  config.signer.tokens.legacy_token = "3t1jLsNUxFT9uRvVPipok27rF7b25RtBQIcbn9Pn"; // Gizli anahtar (token).

  Firebase.begin(&config, &auth);
}

void loop() {
  int nem = dht.readHumidity(); // Nem bilgisini oku.
  int sicaklik = dht.readTemperature(); // Sıcaklık bilgisini oku.

  Firebase.setInt(veritabani, "/nem", nem); // Nem bilgisini firebase veritabınına yaz.
  Firebase.setInt(veritabani, "/sicaklik", sicaklik); // Sıcaklık bilgisini firebase veritabınına yaz.

  if (Firebase.getString(veritabani, "/isitici")) { // Isıtıcın durum bilgisini firebase veritabınından al.
    String metin = veritabani.to<String>();
    Serial.println(metin);
    if (metin == "1")
      digitalWrite(2, LOW);
    else
      digitalWrite(2, HIGH);
  }
}

Benzer Temrinler & Yazılar

  • Uzaktan Kontrollü Araba Uygulaması

    Görseldeki joystick modülünün 10 bitlik ADC’de aldığı değerler verilmiştir. Görselde joystick modülünün pin yapısı görülmektedir. Görsel 3.84’teki verici ve Görsel 3.85’teki alıcı devrelerinde birer adet nRF24L01+ modül kullanılarak kablosuz iletişim uygulaması yapılmıştır. nRF24L01+ modülü Arduino ile haberleşirken SPI protokolünü kullanır. Joystickle x ve y ekseninde 0-1023 arasında okunan değerler map() foksiyonuyla -255 ile 255 arası…

  • Bluetooth Uygulaması

    Bluetooth modülle haberleşmek için telefondan bluetooth bağlantısı açılarak hc-05 cihazı bulunur ve “Bluetooth aygıtını seç” düğmesiyle hc-05 seçilir. Varsayılan şifre “1234” veya “0000” dır.Bluetooth ile “A” harfi gönderilerek LED yakılır, “B” harfi gönderilerek LED söndürülür (Görseldeki). Bluetooth uygulama devresi Görselde görülmektedir. void setup() {  pinMode(13, OUTPUT);  Serial.begin(9600); // Bluetooth ile seri iletişimi başlat. } void…

  • LED’le Dijital Çıkış Uygulaması

    Arduino’nun 13. pininde bir LED ve LED’e seri bağlı direnç vardır. Arduino koduLED’i 1 saniye aralıklarla yakıp söndürmektedir. void setup() {  pinMode(13, OUTPUT); } void loop() {  digitalWrite(13, 0);  delay(1000);  digitalWrite(13, 1);  delay(1000); } const byte LED = 13;        // Arduino'nun 13 nolu ucu sabit değişken olarak BYTE tipinde LED isminde tanımlandı. void setup() {…

  • Elle Uzaktan Kontrollü Araba Uygulaması

    Görseldeki eldiven üzerine yerleştirilmiş verici devresi görülmektedir. Görseldeki vericide kullanılan MPU6050 sensörü küçük deney borduna SDA pini A4, SCL pini A5’e gelecek şekilde takılmıştır. Görseldeki alıcı devresinde nRF24L01+ modül kullanılarak kablosuz iletişim uygulaması yapılmıştır. nRF24L01+ modülü Arduino ile haberleşirken SPI protokolünü, MPU6050 ivme sensörü I2C protokolünü kullanmaktadır. İvme sensörünün x ve y ekseninde -16384 ile…

  • DC Motor Uygulaması

    Elektrik enerjisini hareket enerjine çevirmeye yarayan mekanik aygıtlara motor denir. Elektrikmotorları AC ve DC olarak iki gerilim türünde çalışacak şekilde üretilir. Diğer birçok motor modelibu iki motor türünden geliştirilmiştir. AC motorlar genel olarak asenkron motor olarak iki türdeüretilir. Bunlar bir fazlı ve üç fazlı motorlar olmak üzere iki türdedir. Bu motorların dönüş yönünüdeğiştirmek için farklı…

  • LDR’yle Analog Giriş Uygulaması

    LDR, ışıkla direnci ters orantılı olarak değişen elemandır. Arduino’nun 5 V gerilimi üzerine uygulanan LDR’nin direnç-gerilim değişiminin anlaşılabilmesi için 10 kΩ’luk bir direnç seri bağlanarakgerilim bölücü oluşturulur. Bağlantı noktasının gerilim değişimi Arduino’nun analog girişineverilir const byte LED = 13; //LED değişkeninin içeriği 13 ile sabitlendi. int LDR; void setup() {  pinMode(LED, OUTPUT);  Serial.begin(9600); } void…

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacaktır. Gerekli alanlar * ile işaretlenmiştir.