Arduino I2C Temp Humidity

Fra Holstebro HTX Wiki
Skift til: navigering, søgning
I2C Humidity and Temperature module HTU21

HTU21 er et lille I2C modul der kan måle temperatur og luftfugtighed.

Modulet er anskaffet i Kina[1] til en pris omkring $3 og er dokumenteret i følgende datablad[2].

Modulet tilsluttes GND og +5V samt SCL og SDA som I2C protokollen specificerer.

Elektrisk tilslutning

Modulet kommer med et 4 polet stik, der kan tilsluttes Arduinoen som følger:

Funktion Arduino
VIN +5V
GND GND
SCL SCL - A5
SDA SDA - A4

Software

Biblioteket der anvendes ligger på GitHub[3]. Biblioteket downloades og installeres som beskrevet under Arduinos biblioteker.

Til test anvendes HTU21DFtest der kommer med som eksempel til biblioteket.

Her gennemgås kun de grundlæggende dele af modulet.

Anvendelsen af softwaren

Som alle andre biblioteker skal der sættes de grundlæggende ting op for at kontakte biblioteket. Der oprettes et objekt htu, der refererer til sensoren.

#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();

Inde i setup() skal der sættes gang i den serielle port til test ved hjælp af begin-metoden, og modulet initialiseres som vist her:

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

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

I loop() læses temperatur og luftfugtighed hvert halve sekund, det gøres med følgende kode:.

void loop() {
  Serial.print("Temp: "); Serial.print(htu.readTemperature());
  Serial.print("\t\tHum: "); Serial.println(htu.readHumidity());
  delay(500);
}

Yderligere muligheder i softwaren

Der ligger yderligere muligheder i biblioteket man kan anvende, hvis man ønsker andre måder at anvende sensoren på:

  Adafruit_HTU21DF();
  boolean begin(void);
  float readTemperature(void);
  float readHumidity(void);
  void reset(void);

En del af disse funktioner er vist i koden, mens andre kan anvendes hvis man har lyst.

Test

Test af softwaren viser at der kan læses temperatur og luftfugtighed.

Referencer