Tutorial Project Arduino Mengukur Suhu dan Kelembaban


Dalam tutorial singkat belajar project sederhana Arduino Indonesia kali ini akan mengulas tentang bagaimana cara melakukan pengukuran suhu dan kelembaban ruangan dengan menggunakan board Arduino Uno dan sensor DHT22. DHT22 merupakan sensor suhu dan kelembaban yang memiliki rentang jangkauan pengukuran mulai dari 0 % hingga 100 % untuk tingkat kelembaban, dan -40°C hingga 125°C untuk suhu. Selain itu DHT22 juga dilengkapi dengan satu buah output digital (single bus) yang mana mampu memberikan hasil dengan tingkat ketepatan pengukuran yang tinggi.

Wiring Diagram
Konfigurasi pin dari DHT22 ialah sebagai berikut.
  • Pin 1 untuk VCC 5 volt
  • Pin 2 untuk data pengukuran suhu dan kelembaban
  • Pin 3 NC
  • Pin 4 Ground
Untuk wiring diagram dapat dilihat pada gambar ilustrasi berikut.

<img src="arduino_dht22.png" alt="arduino_dht22">


Tampak pada gambar ilustrasi wiring diagram Arduino dengan DHT22, bahwa pin 1 DHT22 terhubung dengan sumber tegangan 5 volt board Arduino, sedangkan pin 2 DHT22 terhubung dengan pin digital 2 board Arduino, dan terakhir pin 4 DHT22 terhubung dengan ground. Sebagai tambahan informasi, untuk pin 2 DHT22 juga terhubung dengan resistor pull up yang memiliki nilai hambatan 10k ohm.

Sketch
Adapun source code (sketch) Arduino untuk pengukuran suhu dan kelembaban ini membutuhkan library DHT. Berikut adalah source code (sketch) tersebut.

/*
Pengukuran suhu dan kelembaban ruangan
Loki Lang
*/

#include <dht.h>
dht DHT;
#define DHT22_PIN 2

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  Serial.print("DHT22, \t");
  int chk = DHT.read22(DHT22_PIN);
  switch (chk)
  {
    case DHTLIB_OK:
      Serial.print("OK,\t");
      break;
    case DHTLIB_ERROR_CHECKSUM:
      Serial.print("Checksum error,\t");
      break;
    case DHTLIB_ERROR_TIMEOUT:
      Serial.print("Time out error,\t");
      break;
    default:
      Serial.print("Unknown error,\t");
      break;
  }
  Serial.print(DHT.humidity, 1);
  Serial.print(",\t");
  Serial.println(DHT.temperature, 1);

  delay(1000);
}


Lihat juga mengenai penggunaan convert float to String dalam tutorial pembacaan suhu dari Arduino dan dikirimkan ke Processing.

Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment atau melalui page Facebook berikut.