چهارشنبه , ۴ مهر ۱۳۹۷
سرخط خبرها
خانه » آردوینو » Humidity IoT رطوبت سنج IOT
حمایت مالی از یزد کیت

Humidity IoT رطوبت سنج IOT

همانطور که میدونید سنسور DHT11 سنسور دما و رطوبت هست ، در این پروژه از بخش رطوبت سنج این سنسور استفاده شده به صورتی که رطوبت اندازه گیری شده به سرور ارسال میشه و از طرف دیگه به کمک برنامه اندروید و از طریق اینترنت میتونید رطوبت رو مشاهده کنید . در این پروژه هم مثل پروژه Motion IoT سنسور حرکت IOT اطلاعات به سایت ic2cloud.com  ارسال میشه و سخت افزار استفاده شده در این پروژه هم Arduino  آردوینو هست.

سخت افزاری ها استفاده شده در این پروژه Arduino Uno و Arduino Ethernet Shield و Humidity/Temperature Sensor  DHT11  هست.در صورتی که با نحوه کارکرد سایت ic2cloud  آشنایی اولیه ندارید میتونید به این لینک برید.

جهت اتصال سنسور رطوبت به برد آردوینو میتونید به صورت زیر عمل کنید و سورس برنامه رو بر اساس آموزش درپروژه Motion IoT سنسور حرکت IOT  تغییر بدین و اجرا کنید.

Humidity/Temperature Sensor
Pin Description
GND Ground
Data Communication Channel
۵V ۵V

بعد از اتصال سنسور طوبت به برد الان نوبت پروگرم کردن برد Arduino  میرسه که با سورس زیر میتونید اونو پروگرم کنید.

)

 

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xDD };        // mac address for ethernet board
EthernetClient eth;                                         // the Ethernet client

char server[]  = "www.ic2pro.com";                          // Wiring Cloud host name
int port       = 80;
String devId   = "111-222-333";                             // Device ID. CREATE YOUR OWN GUID; Use this http://www.guidgenerator.com/
String auth    = "dXNlcjpwYXNzd29yZA==";                    // Authentication credentials Create a string from <email_address>:<API_Password> and encode it base64
                                                            // The sample here "dXNlcjpwYXNzd29yZA==" is the encoding for "user:password"

#define  DHTPin ۸                                           // pin to connect DHT11 chip's data pin
byte     DHTData[5];                                        // collect the data red from sensor


// Update HUMIDITY value on the server
void sendHumidity(String humidity)
{
  Serial.println("Send Humidity...");
  if (eth.connect(server, port)) {                               // initialize HTTP connection on port 80
    eth.println("GET http://" + String(server) + ":" + String(port) + "/Wire/connector/set?id=" + devId + "&HUMIDITY=" + humidity + " HTTP/1.1");   // submit HTTP request
    eth.println("Authorization: Basic " + auth);
    eth.println("Connection: close");
    eth.println();
    Serial.println("Connected");
  }
  else {
    Serial.println("Connection Error");
  }

  eth.stop();
}

// Initializa DHT Chip
void initDHT() {
  pinMode(DHTPin, OUTPUT);
  digitalWrite(DHTPin, HIGH);
}


// read Data from DHT11 chip
byte readDHTData() {
  byte dht_in;
  byte i;
  digitalWrite(DHTPin, LOW);
  delay(20);
  digitalWrite(DHTPin, HIGH);
  delayMicroseconds(40);
  pinMode(DHTPin, INPUT);

  //delayMicroseconds(40);
  dht_in = digitalRead(DHTPin);
  if (dht_in) {
    return 1;
  }

  delayMicroseconds(80);
  dht_in = digitalRead(DHTPin);

  if (!dht_in) {
    return 2;
  }

  delayMicroseconds(80);
  for (i = 0; i < 5; i++)
    DHTData[i] = readDHTByte();

  pinMode(DHTPin, OUTPUT);
  digitalWrite(DHTPin, HIGH);
  byte dht_check_sum =
    DHTData[0] + DHTData[1] + DHTData[2] + DHTData[3];

  if (DHTData[4] != dht_check_sum)
    return 3;
  return 0;
}


// read next byte from DHT sensor
byte readDHTByte() {
  byte i = 0;
  byte result = 0;

  for (i = 0; i < 8; i++) {
    while (digitalRead(DHTPin) == LOW);
    delayMicroseconds(30);
    if (digitalRead(DHTPin) == HIGH)
      result |= (۱ << (۷ - i));
    while (digitalRead(DHTPin) == HIGH);
  }

  return result;
}


void setup() {
  initDHT();
  Serial.begin(115200);
  Serial.println("Start...");
  Ethernet.begin(mac);
  delay(1000);

}


void loop() {
  String st;
  String sh;

  switch (readDHTData()) {
    case 0:
      sh = String(DHTData[0])  + "." + String(DHTData[1]);
      Serial.println("Humidity = " + sh);
      sendHumidity(sh);
      break;
    case 1:
      Serial.println("Error 1: DHT start condition 1 not met.");
      sendHumidity("ERR");
      break;
    case 2:
      Serial.println("Error 2: DHT start condition 2 not met.");
      sendHumidity("ERR");
      break;
    case 3:
      Serial.println("Error 3: DHT checksum error.");
      sendHumidity("ERR");
      break;
    default:
      Serial.println("Error: Unrecognized code encountered.");
      sendHumidity("ERR");
      break;
  }

  delay(1000);
}

برای کسب اطلاعات بیشتر میتونید به این لینک برید و در آخر هم تمام فایل های مورد نیاز رو جهت دانلود برای شما قرار داده ایم.

Download “humidity-iot-DHT11.zip” humidity-iot-DHT11.zip – 6 بار دانلود شده است – 648 KB

منبع : فروشگاه آترین – فروش قطعات ارجینال الکترونیک

حمایت مالی از یزد کیت

همچنین ببینید

ساخت وب سرور در esp8266

ماژول وای فای esp8266  ، یکی از پرکاربردترین ، قوی ترین و در عین حال …

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