خانه » دانشنامه‌ها » دانشنامه آردوینو » ثبت اطلاعات آب و هوا با آردوینو
  1. خانه
  2. »
  3. دانشنامه‌ها
  4. »
  5. دانشنامه آردوینو
  6. »
  7. ثبت اطلاعات آب و هوا با آردوینو

ثبت اطلاعات آب و هوا با آردوینو

بازدید: 397

راه اندازی dht11 با اردوینو

در مقالات قبلی دیدیم که دما و شدت نور  و همچنین تاریخ و ساعت را می‌توان بر روی یک SD کارت ذخیره کرد. علاوه بر این، میزان رطوبت نیز ثبت خواهد شد.

برای ثبت اطلاعات آب و هوا باید ۴ مرحله را طی کنیم :

(۱) بارگزاری کتابخانه‌ها بر روی SD کارت، تنظیم ساعت، تعریف سنسور DHT11 برای آردوینو و برقراری اتصالات و تعریف متغیرها.

(۲) وجود SD کارت باید چک شود، یک فایل جدید با پسوند csv. ساخته شود و یک هدر برای فایل نوشته شود.

(۳) شدت نور، دماو میزان رطوبت از سنسورها دریافت شود، زمان دقیق از ماژول ساعت دریافت شود، یک رشته داده از تاریخ و زمان ساخته شود و اندازه‌گیری های سنسور بر روی فایل ذخیره شود.

(۴) اطلاعات روی sd ذخیره شود.

کتابخانه‌های زیادی برای سنسور DHT11 وجود دارد. اما کتابخانه نوشته شده توسط Rob Tilllaart توصیه می گردد. کتابخانه ی dht در داخل یک فایل زیپ قرار داده شده و در سایت https://github.com/RObTillaart/Arduino در دسترس می باشد. از متد ۱ یا ۲ که در مقالات قبلی دانشنامه آردوینو ذکر شد، برای نصب کتابخانه‌ی dht استفاده کنید.

نحوه اتصال ماژول DHT11 به آردوینو

SD کارت RTC به همراه سنسورها
1. SD کارت RTC به همراه سنسورها

جدول اتصال SD کارت به RTC و سنسورها

جدول اتصال SD کارت به RTC و سنسورها

کد ثبت اطلاعات آب و هوا با ماژول DS3231 در آردوینو

				
					#include <SD.h>                  // include SD library
File file;                       // #associate file with SD library
String filename = "data.csv";    // filename
#include <DS3231.h>              // include DS3231 library
DS3231 rtc(SDA, SCL);      // #associate rtc with DS3231 library
#include <dht.h>           // include dht library
dht DHT;                   // #associate DHT with dht library
int CSpin = 10;            // chip select pin for SD card
int lightPin = A3;         // light dependent resistor pin
int PCBpin = 6;            // PCB mounted DHT11 pin
int i = 0;                 // data record counter
int check, light, temp, humid;
String data, date, time;
void setup()
{
  Serial.begin(9600);      // define Serial output baud rate
  rtc.begin();             // start rtc
  Serial.println("checking SD card"); // check for presence of SD card
  if(SD.begin(CSpin) == 0)
  {
    Serial.println("Card fail");  // #return to void setup() if SD card not found
    return;
  }
  Serial.println("Card OK");
  if(SD.exists(filename)>0) SD.remove(filename);   // delete old file
  file = SD.open(filename, FILE_WRITE);        // create new file
  if(file == 1)
  {                        // column headers
    String header = "record, time, light, temp, humid, on ";
    header = header + String(rtc.getDateStr());     // date
    file.println(header);  // #write column headers to file
    file.close();          // #close file after writing to SD card
  }
  else Serial.println("Couldn't access file");  // #file not opened
}
void loop()
{
  i++;                         // #increase data record counter
  Serial.print("record ");Serial.println(i); // #print record number
  light= analogRead(lightPin); // #light intensity reading
  check = DHT.read11(PCBpin);
  temp = DHT.temperature;      // #temperature reading
  humid = DHT.humidity;        // #humidity reading
  time = rtc.getTimeStr();     // time stamp
                               // combine measurements into a string
  data = String(i) + "," + String(time) + "," + String(light);
  data = data + "," + String(temp)+ "," + String(humid);
  file = SD.open(filename, FILE_WRITE);  // #open data file before writing
  file.println(data);          // #write data string to file
  file.close();                // #close file after writing to SD card
  delay(1000);                 // #delay 1s before next reading
}

				
			

نظرتان را درباره این مقاله بگویید 2 نظر

ثبت اطلاعات آب و هوا با آردوینو

با ثبت نظر و نوشتن کامنت، تیم ما را در راستای بهبود و افزایش کیفیت محتوا یاری خواهید کرد :)

فهرست مطالب

مقالات مرتبط

بروزترین مقالات

این مقاله را با دوستانتان به اشتراک بگذارید!

راه اندازی dht11 با اردوینو

ثبت اطلاعات آب و هوا با آردوینو

فهرست مطالب

در مقالات قبلی دیدیم که دما و شدت نور  و همچنین تاریخ و ساعت را می‌توان بر روی یک SD کارت ذخیره کرد. علاوه بر این، میزان رطوبت نیز ثبت خواهد شد.

برای ثبت اطلاعات آب و هوا باید ۴ مرحله را طی کنیم :

(۱) بارگزاری کتابخانه‌ها بر روی SD کارت، تنظیم ساعت، تعریف سنسور DHT11 برای آردوینو و برقراری اتصالات و تعریف متغیرها.

(۲) وجود SD کارت باید چک شود، یک فایل جدید با پسوند csv. ساخته شود و یک هدر برای فایل نوشته شود.

(۳) شدت نور، دماو میزان رطوبت از سنسورها دریافت شود، زمان دقیق از ماژول ساعت دریافت شود، یک رشته داده از تاریخ و زمان ساخته شود و اندازه‌گیری های سنسور بر روی فایل ذخیره شود.

(۴) اطلاعات روی sd ذخیره شود.

کتابخانه‌های زیادی برای سنسور DHT11 وجود دارد. اما کتابخانه نوشته شده توسط Rob Tilllaart توصیه می گردد. کتابخانه ی dht در داخل یک فایل زیپ قرار داده شده و در سایت https://github.com/RObTillaart/Arduino در دسترس می باشد. از متد ۱ یا ۲ که در مقالات قبلی دانشنامه آردوینو ذکر شد، برای نصب کتابخانه‌ی dht استفاده کنید.

نحوه اتصال ماژول DHT11 به آردوینو

SD کارت RTC به همراه سنسورها
1. SD کارت RTC به همراه سنسورها

جدول اتصال SD کارت به RTC و سنسورها

جدول اتصال SD کارت به RTC و سنسورها

کد ثبت اطلاعات آب و هوا با ماژول DS3231 در آردوینو

				
					#include <SD.h>                  // include SD library
File file;                       // #associate file with SD library
String filename = "data.csv";    // filename
#include <DS3231.h>              // include DS3231 library
DS3231 rtc(SDA, SCL);      // #associate rtc with DS3231 library
#include <dht.h>           // include dht library
dht DHT;                   // #associate DHT with dht library
int CSpin = 10;            // chip select pin for SD card
int lightPin = A3;         // light dependent resistor pin
int PCBpin = 6;            // PCB mounted DHT11 pin
int i = 0;                 // data record counter
int check, light, temp, humid;
String data, date, time;
void setup()
{
  Serial.begin(9600);      // define Serial output baud rate
  rtc.begin();             // start rtc
  Serial.println("checking SD card"); // check for presence of SD card
  if(SD.begin(CSpin) == 0)
  {
    Serial.println("Card fail");  // #return to void setup() if SD card not found
    return;
  }
  Serial.println("Card OK");
  if(SD.exists(filename)>0) SD.remove(filename);   // delete old file
  file = SD.open(filename, FILE_WRITE);        // create new file
  if(file == 1)
  {                        // column headers
    String header = "record, time, light, temp, humid, on ";
    header = header + String(rtc.getDateStr());     // date
    file.println(header);  // #write column headers to file
    file.close();          // #close file after writing to SD card
  }
  else Serial.println("Couldn't access file");  // #file not opened
}
void loop()
{
  i++;                         // #increase data record counter
  Serial.print("record ");Serial.println(i); // #print record number
  light= analogRead(lightPin); // #light intensity reading
  check = DHT.read11(PCBpin);
  temp = DHT.temperature;      // #temperature reading
  humid = DHT.humidity;        // #humidity reading
  time = rtc.getTimeStr();     // time stamp
                               // combine measurements into a string
  data = String(i) + "," + String(time) + "," + String(light);
  data = data + "," + String(temp)+ "," + String(humid);
  file = SD.open(filename, FILE_WRITE);  // #open data file before writing
  file.println(data);          // #write data string to file
  file.close();                // #close file after writing to SD card
  delay(1000);                 // #delay 1s before next reading
}

				
			

نظرتان را درباره این مقاله بگویید 2 نظر

ثبت اطلاعات آب و هوا با آردوینو

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

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

فروشگاه