ساخت دیتالاگر دما و رطوبت با ESP32 + DHT11
این پروژه دما و رطوبت را با DHT11 میخواند، روی OLED SSD1306 نمایش میدهد و همزمان یک صفحه وب روی ESP32 ایجاد میکند.
وسایل لازم
ESP32-C3 SuperMini
DHT11
OLED SSD1306 I2C مدل 128×64
سیم جامپر
کابل USB
اتصالات
DHT11
VCC → 3V3
DATA → GPIO3
GND → GND
اگر DHT11 خام چهارپین دارید:
Pin 1 → 3V3
Pin 2 → GPIO3
Pin 3 → آزاد
Pin 4 → GND
یک مقاومت حدود 4.7kΩ هم بین DATA و 3V3 قرار دهید.
OLED
VCC → 3V3
GND → GND
SDA → GPIO4
SCL → GPIO5
آمادهکردن Arduino IDE
ابتدا پکیج ESP32 را از Boards Manager نصب کنید.
سپس از Library Manager این کتابخانهها را نصب کنید:
DHT sensor library by Adafruit
Adafruit Unified Sensor
Adafruit SSD1306
Adafruit GFX Library
بعد فایل:
ESP32_Climate_Logger.ino
را در Arduino IDE باز کنید.(فایل ارایه شده در همین پیام)
برد و Port مربوط به ESP32 خودتان را انتخاب کرده و برنامه را Upload کنید.
اگر برد شما ESP32-C3 SuperMini نیست
ممکن است GPIOهای برد شما متفاوت باشند.
این سه خط ابتدای کد را مطابق سیمکشی برد خودتان تغییر دهید:
#define DHT_PIN 3
#define OLED_SDA 4
#define OLED_SCL 5
اگر همین ESP32-C3 SuperMini و همین اتصالات را استفاده میکنید، نیازی به تغییر این قسمت نیست.
آدرس OLED در برنامه:
#define OLED_ADDRESS 0x3C
است. اگر OLED شما کار نکرد، آدرس I2C آن را بررسی کنید؛ بعضی مدلها ممکن است 0x3D باشند.
اتصال به دستگاه
بعد از آپلود، ESP32 خودش یک شبکه Wi-Fi ایجاد میکند.
Wi-Fi:
ESP32-Climate
Password:
12345678
با گوشی یا لپتاپ به همین Wi-Fi وصل شوید.
این شبکه اینترنت ندارد؛ این طبیعی است.
سپس مرورگر را باز کنید و وارد این آدرس شوید:
http://192.168.4.1
صفحه دما، رطوبت و نمودارها نمایش داده میشود.
تغییر نام یا رمز Wi-Fi
در ابتدای کد:
const char* AP_SSID = "ESP32-Climate";
const char* AP_PASSWORD = "12345678";
را تغییر دهید.
مثلاً:
const char* AP_SSID = "My-Logger";
const char* AP_PASSWORD = "87654321";
نکته درباره دما
در این کد دما 2 درجه اصلاح شده است:
const float TEMP_OFFSET = -2.0;
اگر سنسور شما نیازی به اصلاح ندارد، آن را روی:
const float TEMP_OFFSET = 0.0;
قرار دهید.
تمام شد
بعد از روشن شدن ESP32:
1. به ESP32-Climate وصل شوید
2. رمز 12345678 را وارد کنید
3. مرورگر را باز کنید
4. بروید به http://192.168.4.1
دما و رطوبت روی OLED و صفحه وب نمایش داده میشوند.
نکته: اطلاعات نمودار داخل RAM ذخیره میشود؛ بنابراین با خاموش یا ریست شدن ESP32، تاریخچه پاک میشود.
</div>
67 ·