09120786892
atrinelectronic@gmail.com تهران پاساژ امجد طبقه1 واحد 16
Humidity IoT رطوبت سنج IOT

Humidity IoT رطوبت سنج IOT

2018-09-09 02:12:27

همانطور که میدونید سنسور 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 – 0 بار دانلود شده است – 648 KB

به سبد خرید اضافه شد.
سبد خرید
Item removed. بازگرداندن