Arduino Cloud ve ESP32 kullanarak bir LED'i ve DHT11 sıcaklık ve nem sensörünü kontrol edeceğiz Bu projede, ESP32 mikrodenetleyiciyi Wi-Fi ağına bağlayacak ve Arduino Cloud üzerinden uzaktan kontrol sağlayacağız. Bu konu ile ilgili video yazının sonundadır. Devre şeması ve kodlar videoda anlatılmaktadır. İşte temel malzemeler ve adımlar.
Gerekli Malzemeler:
- ESP32 geliştirme kartı
- LED
- DHT11 sıcaklık ve nem sensörü
- Breadboard ve jumper kabloları
- Arduino Cloud hesabı
- LED'in anodu (uzun bacak) ESP32'nin bir GPIO pinine (örneğin, GPIO pin 2) bağlanmalıdır.
- LED'in katotu (kısa bacak) ESP32'nin GND pinine bağlanmalıdır.
- DHT11 sensörünün sinyal pimi ESP32'nin bir GPIO pinine (örneğin, GPIO pin 4) bağlanmalıdır.
- DHT11 sensörünün VCC pimi ESP32'nin 3.3V pinine, GND pimi ise ESP32'nin GND pinine bağlanmalıdır.
Adım 2: Arduino Cloud Projesi Oluşturma
- Arduino Cloud hesabınıza giriş yapın ve yeni bir proje oluşturun.
- Proje panelinde, "Devices" bölümünden yeni bir cihaz ekleyin ve cihazın türünü "ESP32" olarak seçin.
- Cihaz ekledikten sonra, cihazın bilgilerini not edin (Device ID, Device Username ve Device Password).
Adım 3: Arduino IDE Ayarları
- Arduino IDE'yi açın ve Arduino Cloud kütüphanesini yükleyin (Sketch -> Include Library -> Manage Libraries... -> ArduinoCloud).
- Arduino IDE'nin ayarlarında "Arduino IoT Cloud" seçeneğini etkinleştirin (File -> Preferences -> Additional Board Manager URLs: https://dl.espressif.com/dl/package_esp32_index.json).
- Arduino IDE'nin Board Manager'ından "ESP32" kartını yükleyin (Tools -> Board -> Boards Manager... -> ESP32 by Espressif Systems).
Adım 4: Arduino Kodu Yazma ve Yükleme
Aşağıdaki Arduino kodunu kullanarak ESP32'yi Wi-Fi ağına bağlayacak, DHT11 sensöründen veri okuyacak ve Arduino Cloud üzerinden LED'i kontrol edeceğiz.
/*
Sketch generated by the Arduino IoT Cloud Thing "Untitled"
https://create.arduino.cc/cloud/things/50ef617b-34a7-4cae-802c-f30f645aae5f
*/
#include "thingProperties.h"
#include <DHT.h>
#include <DHT_U.h>
#define LED_PIN 2
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
delay(1500);
dht.begin();
pinMode(LED_PIN,OUTPUT);
// Defined in thingProperties.h
initProperties();
// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
oku();
delay(1000);
}
void onLedChange() {
if(led==true)
{
digitalWrite(LED_PIN, HIGH);
}
else
{
digitalWrite(LED_PIN, LOW);
}
}
void oku()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
sicaklik = t;
nem = h;
Serial.print(F("Nem: "));
Serial.print(h);
Serial.print(F("Sıcaklık: "));
Serial.print(t);
Serial.println(F("C: "));
}
Adım 5: Arduino Cloud Bağlantısı
- Oluşturduğunuz Arduino Cloud projesinin içine gidin.
- "Properties" sekmesine gidin ve LED adında bir özellik ekleyin (type: boolean).
- "Sketch" sekmesine gidin, önceki adımlarda oluşturduğunuz Arduino kodunu yapıştırın ve "Save and Upload" düğmesine tıklayarak ESP32'ye yükleyin.
Adım 6: Arduino Cloud ile İnteraksiyon
- Arduino Cloud panelinde, cihazınızın etkin olduğunu ve bağlı olduğunu görebilirsiniz.
- "Properties" sekmesinde, LED'in durumunu değiştirebilir ve DHT11 sensöründen gelen sıcaklık ve nem verilerini görebilirsiniz.
Bu adımları takip ederek Arduino Cloud ve ESP32 kullanarak LED'i ve DHT11 sensörünü kontrol edebilirsiniz. Bu projeyi özelleştirmek için Arduino Cloud'da daha fazla özellik ekleyebilir ve kodu istediğiniz gibi değiştirebilirsiniz.
(LİNKEDİN)
0 Yorumlar