Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. irenla
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    irenla

    @irenla

    0
    Reputation
    1
    Posts
    285
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    irenla Follow

    Best posts made by irenla

    This user hasn't posted anything yet.

    Latest posts made by irenla

    • Celsius to Fahrenheit Conversion with HTU21DF

      I am building a humidity controller using the humidity and temperature sensor. So far everything is working correctly but I was wondering how I could get the temperature to read back in Fahrenheit rather than Celsius. I know the formula is 9/5*C+32=F but I don't know exactly how to get this to work with my code.

      Here is the code I have written:
      Code: [Select]

      #include <Wire.h>
      #include "Adafruit_HTU21DF.h"
      
      Adafruit_HTU21DF htu = Adafruit_HTU21DF ();
      
      int ledPin = 13;
      int relayPin = 9;
      
      void setup() {
       
         pinMode (ledPin, OUTPUT);
         pinMode (relayPin, OUTPUT);
         Serial.begin(9600);
         Serial.println("HTU21DF Humidity Controller");
         
         if (!htu.begin()) {
           Serial.println("Couldn't find sensor!");
         }
      }
      
      void loop() {
      
        if (htu.readHumidity()>=75) {
          Serial.print("Humidifier Off");
          digitalWrite(ledPin, LOW);
          digitalWrite(relayPin, LOW);
          Serial.print("\t\tTemp: "); Serial.print(htu.readTemperature());
          Serial.print("\t\tHum: "); Serial.println(htu.readHumidity());
        }
         
        else {
          Serial.print("Humidifier On");
          digitalWrite(ledPin, HIGH);
          digitalWrite(relayPin, HIGH);
          Serial.print("\t\tTemp: "); Serial.print(htu.readTemperature());
          Serial.print("\t\tHum: "); Serial.println(htu.readHumidity());
        }
       
        delay(1000);
         
      }
      This is the section of the file "Adafruit_HTU21DF.cpp" that deals with temperature:
      
      Code: [Select]
      
      float Adafruit_HTU21DF::readTemperature(void) {
       
        // OK lets ready!
        Wire.beginTransmission(HTU21DF_I2CADDR);
        Wire.write(HTU21DF_READTEMP);
        Wire.endTransmission();
       
        delay(50); // add delay between request and actual read!
       
        Wire.requestFrom(HTU21DF_I2CADDR, 3);
        while (!Wire.available()) {}
      
        uint16_t t = Wire.read();
        t <<= 8;
        t |= Wire.read();
      
        uint8_t crc = Wire.read();
      
        float temp = t;
        temp *= 175.72;
        temp /= 65536;
        temp -= 46.85;
      
        return temp;
      }
      
      posted in Hardware
      irenla
      irenla