آردوینو Arduinoاینترنت اشیا - IOTدانستنی هامطالب علمی

راه اندازی شیلد سنسور دما و رطوبت DHT11 و شیلد OLED باماژول Wemos D1 Mini

با سری آموزش های دیگری از برد Wemos D1 mini در خدمت علاقمندان به دنیای الکترونیک و IOT هستیم. امروز شیلد رطوبت و دما را مورد بررسی قرار خواهیم داد و همچنین برای این منظور از شیلد نمایشگر  OLED نیز استفاده خواهیم کرد و در واقع در این پست شما با نحوه راه اندازی و کنترل دو شیلد پر استفاده D1 mini آشنا خواهید شد.با ما همراه باشد ….

پارامترهای محیطی از جمله دما، رطوبت، شدت نور در یک محیط از موارد مهم در اینترنت اشیاء IOT میباشد. این پارامترها به صورت آنالوگ هستند و برای تبدیل به مفهوم قابل درک برای سیستم نیاز به سنسور می‌باشد. سنسورها در اینترنت اشیاء IOT توانایی قابل درک بودن پارامترهای فیزیکی برای اشیاء را به دنبال خواهند داشت. معمولا برای هر پارامتر فیزیکی و آنالوگ یک سنسور طراحی شده است. بنابراین با انواع سنسورها میتوانیم مقادیر آنالوگ را به مقادیر دیجیتال و صفر و یک تبدیل کنیم. در این پست با استفاده از برد کنترل اینترنت اشیاء Wemos D1 Mini  بر پایه ESP8266 و سنسور DHT11 و یک نمایشگر OLED  دما و رطوبت محیط را میخوانیم و به نمایش در می‌آوریم. از این پروژه به راحتی در انواع پروژه های IOT مخصوصا پروژه هایی که مشکلات فضای کم و مصرف جریان محدود دارند میتوان استفاده کرد.

esp8266 wemos d1 mini pinout

شیلد مورد استفاده در این پروژه دارای سنسور رطوبت و دمای DHT 11 میباشد. و برای راه اندازی فقط به یک عدد برد Wemos D1 mini و دو شیلد سنسور رطوبت و دما وشیلد نمایشگر OLED نیاز هست تا پروژه راه اندازی شود.

برای شروع برنامه نویسی نیاز به شناسایی برد توسط نرم افزارArduino   داریم تا آن را به منوی انواع برد اضافه کنیم. آموزش اضافه کردن D1 mini به لیست برد های نرم افزار Arduino در آموزش های قبلی ارائه شده است.

لینک آموزش راه اندازی Wemos D1 mini NodeMCU

در اینجا  لینک کتابخانه های مورد استفاده در پروژه را می بینید و همچنین لینک آموزش اضافه  کردن کتابخانه ها به Arduino را هم مشاهده می کنید

این پروژه خوشبختانه به دلیل ماژولار بودن نیاز خاصی به شماتیک ندارد و کافیست که شما هر دو شیلد را روی برد نصب کنید و سپس با آپلود برنامه روی برد شاهد کارکرد آن باشید.

wemos dht and oled

 

و در نهایت سورس کد Arduino برای راه اندازی این پروژه :

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
 
#define OLED_RESET 0  
Adafruit_SSD1306 display(OLED_RESET);
 
#define DHTPIN D4
#define DHTTYPE DHT11  
DHT dht(DHTPIN, DHTTYPE);
 
void setup()   
{
  Serial.begin(9600);
  dht.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 
  display.display();
}
 
void loop() 
{
  delay(2000);
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) 
  {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  display.println("temp");
  display.print(t);
  display.println(" c");
  display.println("hum");
  display.print(h);
  display.println(" %");
  display.display();
}

در پروژه های بعدی با استفاده از شیلد رله و استفاده از برد D1 mini با کاربرد IOT  این برد بیشتر آشنا میشویم.

نوشته های مشابه

3 دیدگاه

  1. موقع وریفای این اررو میده

    Arduino: 1.8.10 (Windows 7), Board: “Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 4MB (FS:2MB OTA:~1019KB), 2, nonos-sdk 2.2.1+111 (191024), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal 0xc0000005 code=0x0 addr=0x0 pc=0x7855fb]

    goroutine 1 [running]:
    github.com/arduino/arduino-cli/legacy/builder.ResolveLibrary(0x130d85a0, 0x13131c83, 0x5, 0x13131c83)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/resolve_library.go:64 +0x14b
    github.com/arduino/arduino-cli/legacy/builder.findIncludesUntilDone(0x130d85a0, 0x131e8080, 0x88ed00, 0x1308ce70, 0x13042ae0, 0x131e0000, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:358 +0x3b6
    github.com/arduino/arduino-cli/legacy/builder.(*ContainerFindIncludes).Run(0xdebc68, 0x130d85a0, 0xdebc68, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:152 +0x3e5
    github.com/arduino/arduino-cli/legacy/builder.runCommands(0x130d85a0, 0x13035e1c, 0x20, 0x20, 0x409a01, 0xffffffff, 0x3fffffff)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:210 +0xbd
    github.com/arduino/arduino-cli/legacy/builder.(*Builder).Run(0x13071f40, 0x130d85a0, 0xdebbb4, 0x13042c90)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:117 +0xb9c
    github.com/arduino/arduino-cli/legacy/builder.RunBuilder(…)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:226
    main.main()
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:398 +0x6d2
    C:\Program Files (x86)\Arduino\arduino-builder returned 2
    Error compiling for board Generic ESP8266 Module.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  2. سلام.
    موقعی که میخواهم کتابخانه السیدی رو به اردوینو اضافه کنم ارور میگریزد
    ایا کتابخانه درست است؟
    اگه میشه لینک دانلود مجددش رو هم بزارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا