آردوینو پروژه های آردوینو

ساخت دما سنج با قابلیت نمایش دما و رطوبت با ماژول سون‌سگمنت

نوشته شده توسط CiferTech

در این آموزش به کمک برد آردوینو نانو که یکی از پرکاربرد ترین برد های خانواده آردوینو به حساب می‌آید، قصد ساخت یک دماسنج با قابلیت نمایش همزمان دما و رطوبت با سنسور DHT22 و همچنین نمایشگر سون سگمنت را داریم. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

 


برد آردوینو Nano


مجموعه برد های آردوینو از جمله برد های توسعه پرطرفدار بین مهندسین امبدد هستند که در مدل های مختلفی از جمله Micro ,  proMini , Nano , Uno و همچنین Mega قابل تهیه هستند، هسته مرکزی این برد های محبوب از سری AtMega328 می باشد. آردوینو پلتفرم سخت‌افزاری و نرم‌افزاری متن‌باز است. همان طور که قبل تر اشاره کردیم، پلتفرم آردوینو شامل یک میکروکنترلر تک‌بردی متن‌باز است که قسمت سخت‌افزار آردوینو را تشکیل می‌دهد. علاوه بر این، پلتفرم آردوینو یک نرم‌افزار آردوینو IDE که به منظور برنامه‌نویسی برای بردهای آردوینو طراحی شده‌است و یک بوت لودر نرم‌افزاری که بر روی میکروکنترلر بارگذاری می‌شود را در بر می‌گیرد.

پروژه برد آردوینو Nano - دیجی اسپارک

 


سنسور دما رطوبت DHT22


سنسورها متنوعی برای سنجش دما و رطوبت طراحی و تولید شده‌اند. هر کدام محدوده و حساسیت مختلفی دارند. سنسور DHT22 یکی از بهترین سنسورهای اندازه گیری دما و رطوبت هستند. این سنسورها از دو بخش رطوبت خازنی و یک مقاومت گرمایی تشکیل شده‌اند. همچنین یک واحد مبدل آنالوگ به دیجیتال در DHT22 وجود دارد، که خروجی دیجیتال تولید می‌کند. به کمک این مبدل کاربر می‌تواند از آن در میکروکنترلرها از آن برای خواندن مقادیر استفاده کند.

سنسور دما رطوبت DHT22 - دیجی اسپارک

 


سون سگمنت


نمایشگرهای سون سگمنت از جمله قطعات پرطرفدار، برای نمایش متن یا عدد هستند. این قطعات در انواع کاتد و آنود مشترک یافت می‌شوند. در نوع آند مشترک تمام پین‌های مثبت قطعات به یکدیگر متصل هستند و کاربر با استفاده از پین های منفی قادر به راه اندازی این قطعات خواهد بود و در نوع کاتد مشترک نیز به همین ترتیب. به هر یک از هفت LED موجود در این بسته بندی، یک قطعه یا سگمنت گفته می شود زیرا هنگام روشن شدن، بخشی از یک رقم عددی را برای نمایش تشکیل می دهد. همچنین از یک ال ای اضافی نیز بعضی ۷SEGMENT ها استفاده می شود که نشانگر یک نقطه اعشاری است.

ماژول سگمنت 8 دیجیت پروژه با آردوینو - دیجی اسپارک

 


روش کار این پروژه


در این پروژه با استفاده از سنسور DHT22 مقادیر دما و رطوبت محیط را اندازه‌گیری و با استفاده از برد آردوینو نانو که یکی از برد های پرطرفدار در خانواده آردوینو بشمار می آید. در ادامه بعد از تحلیل مقادیر بدست آمده از سنسور دما، اقدام به راه‌اندازی ماژول سون‌سگمنت خواهیم کرد تا مقدار مربوط به نمایش درآیند.

 


وسایل موردنیاز


برد آروینو نانو Nano

سنسور DHT22

ماژول دات ماترکس ۸دیجیت

 


شماتیک و  اتصالات


با توجه به جدول و شماتیک زیر اتصالات را برقرار کنید به این صورت که پایه VCC به ۵v آردوینو و همچنین پایه GND آردوینو به GND ماژول متصل می گردد. دقت داشته باشید که محل اتصال پایه های DIN ,CS ,CLK در برد های آردوینو  NANO ,UNO با سری MEGA متفاوت است.

اتصالات ماژول دما رطوبت DHT22 به برد آردوینو نانو - دیجی اسپارک

اتصالات ماژول سون سگمنت به برد آردوینو نانو - دیجی اسپارک

 

  • شماتیک اتصالات پروژه ساخت دما سنج با قابلیت نمایش دما و رطوبت با ماژول سون‌سگمنت.

شماتیک پروژه دما رطوبت با برد آردوینو نانو - دیجی اسپارک

 


کد و راه‌اندازی


برای مشاهده کامل آموزش راه‌اندازی ماژول ۷segment و همچنین راهنمای نصب کتابخانه مورد نیاز به این آموزش مراجعه کنید.

#include <HCMAX7219.h>
#include "SPI.h"
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 2
#define DHTTYPE    DHT22 
DHT_Unified dht(DHTPIN, DHTTYPE);


#define LOAD 10
HCMAX7219 HCMAX7219(LOAD);


void setup() 
{
  Serial.begin(9600);
  dht.begin();

  sensor_t sensor;
  
  dht.temperature().getSensor(&sensor);
  dht.humidity().getSensor(&sensor);
}


void loop() 
{
  
  sensors_event_t event;
  
  dht.temperature().getEvent(&event); 
    float T = event.temperature; 
    
  dht.humidity().getEvent(&event);
    float H = event.relative_humidity;

    Serial.print(F("Temperature: "));
    Serial.print(event.temperature);
    Serial.println(F("°C"));

    Serial.print(F("Humidity: "));
    Serial.print(event.relative_humidity);
    Serial.println(F("%"));

  
  HCMAX7219.Clear();
  HCMAX7219.print7Seg("C",6);
  HCMAX7219.print7Seg(T,8);
  
  //HCMAX7219.print7Seg("H:",2);
  HCMAX7219.print7Seg(H,4);
  HCMAX7219.Refresh();  
  
 delay(1000);

}

 


 جمع بندی


در این آموزش با استفاده از از کتابخانه‌های HCMAX7219 و SPI قادر به کنترل این ماژول خواهیم بود، به این صورت که با Clear Buffer خروجی بافر را پاک کرده سپس با استفاده از دستور print7seg متن مورد نظر را وارد می کنیم در ادامه با یک refresh ساده، متن مورد نظر ما نمایش داده خواهد شد.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

CiferTech

تبادل نظر و رفع عیب با ثبت دیدگاه

۴ دیدگاه