كود البحث

كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع Arduino (شفرة مخصصة)

كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع Arduino (شفرة مخصصة)

هذا الرمز مخصص لقياس درجة الحرارة والرطوبة باستخدام مستشعر HTU21DF. يتم عرض الأجهزة الكاملة ونوعين من الشفرات وعرض توضيحي. يعرض هذا الرمز درجة الحرارة بوحدات السلسيوس أو الفهرنهايت أو الكلفن، والرطوبة على الشاشة التسلسلية المعروضة في الفيديو. للرموز ذات الصلة الأخرى، يرجى التمرير لأسفل على هذه الشاشة.

[إعلان]قياس درجة الحرارة والرطوبة

الصور

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
211-Arduino code using HTU21D-F Humidity & Temperature Sensor (Advanced)
اللغة: C++
/*
 * Written/Updated by Ahmad Shamshiri on July 13, 2019
 * in Ajax, Ontario, Canada
 * Watch video instructions for this sketch: https://youtu.be/Q5y18rgTAhA
 
**************************************************
*
  This is an example for the HTU21D-F Humidity & Temperature Sensor

  Designed specifically to work with the HTU21D-F sensor from Adafruit
  ----> https://www.adafruit.com/products/1899

  These displays use I2C to communicate; 2 pins are required to
  interface
 ***************************************************
*/

#include <Wire.h>
#include "Adafruit_HTU21DF.h"

// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com");
  Serial.println("HTU21D-F test");

  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

void loop() {
	// Robojax HTU21DF Code
    Serial.print(getHTU('C'));
    printDegree();
    Serial.println("C");
    
    Serial.print(getHTU('F'));
    printDegree();
    Serial.println("F");

    Serial.print(getHTU('K'));
    Serial.println("K");    
    Serial.println(" ");  

    Serial.print("Humidity:");
    Serial.print(getHTU('H'));
    Serial.println("%");

    if(getHTU('C') <81)
    {
      //digitalWrite(5, LOW);
          
    }
    delay(1000);
}


/*
 * @brief returns temperature or relative humidity
 * @param "type" is a character
 *     C = Celsius
 *     K = Kelvin
 *     F = Fahrenheit
 *     H = Humidity
 * @return returns one of the values above
 * Usage: to get Fahrenheit type: getHTU('F')
 * to print it on the serial monitor: Serial.println(getHTU('F'));
 * Written by Ahmad Shamshiri on July 13, 2019
 * in Ajax, Ontario, Canada
 * www.Robojax.com 
 */
float getHTU(char type)
{
  float value;
    float temp = htu.readTemperature();
    float rel_hum = htu.readHumidity();
   if(type =='F')
   {
    value = temp *9/5 + 32;//convert to Fahrenheit 
   }else if(type =='K')
   {
    value = temp + 273.15;//convert to Kelvin
   }else if(type =='H')
   {
    value = rel_hum;//return relative humidity
   }else{
    value = temp;// return Celsius
   }
   return value;
}//


/*
 * @brief prints degree symbol on serial monitor
 * @param none
 * @return returns nothing
 * Written by Ahmad Shamshiri on July 13, 2019
 * for Robojax Tutorial Robojax.com
 */
 void printDegree()
{
    Serial.print("\\xC2"); 
    Serial.print("\\xB0");  
}

الأشياء التي قد تحتاجها

الموارد والمراجع

ملفات📁

ورقة البيانات (pdf)