Membuat Data Logger Suhu dan Kelembapan menggunakan Arduino

Assalamualaikum warahmatullahi wabarakatuh. kembali lagi di cronyos.com teman-teman, kali ini kita akan mencoba membuat Data Logger untuk menyimpan data suhu dan kelembaban menggunakan sensor dht11 dan RTC DS 3231. Pada kesempatan kali ini kita menggunakan micro SD untuk menyimpan menyimpan hasil data yang kita peroleh, dan di sini kita juga menggunakan RTC untuk mendapatkan data waktu aktual untuk data Logger kita nanti. sebelum kita memulai pembahasan kita pada kali ini alangkah baiknya kalian membuka 2 artikel sebelumnya tentang dasar-dasar bagaimana menggunakan micro SD shield dan bagaimana membaca kelembaban dan temperatur menggunakan sensor dht11.

Jika kalian sudah membaca ketika artikel diatas saya harapkan kalian dapat lebih mudah memahami coding pada tutorial kali ini.

Sebelum kita membuat rangkaian Data Logger kita terlebih dahulu harus menyiapkan beberapa komponen antara lain

  1. Arduino
  2. kabel jumper
  3. breadboard
  4. Modul micro SD
  5. Sensor kelembaban dan temperatur dht11
  6. RTC DS 2321

Setelah semua komponen diatas telah disiapkan saatnya kita membuat rangkaian seperti gambar berikut:

Koneksi RTC

RTC Arduino
SDA A4
SCL A5
GND GND
VCC 5V

Koneksi Modul Micro SD

Modul M SD Arduino
CS 4
SCK 13
MOSI 11
MISO 12
VCC 5v
GND GND

Koneksi DHT 11

DHT 11 Arduino
GND GND
Data 2

Setelah Rangkaian / Pengekabelan selesai dibuat, mari kita siapkan bahan codingnya dulu, ada 2 library external yang harus kita tambahkan, yaitu:

  1. DHT Sensor Library by Adafruit ( tersedia di menu Manage Library Arduino IDE)
  2. RTClib by Adafuit ( tersedia di menu Manage Library Arduino IDE)

Kemudian upload sketch berikut ini:

#include "DHT.h" 
#include <SPI.h> 
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"

#define DHTPIN 2 // pin yang digunakan untuk input data dari sensor dht 11
#define DHTTYPE DHT11 // kalian bisa mengganti DHT11 dengan DHT 22 / DHT 21, tergantung sensor yang kalian gunakan
DHT dht(DHTPIN, DHTTYPE);
File myFile;
RTC_DS3231 rtc;
char daysOfTheWeek[7][12] = {"Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"};

void setup() 
{
 Serial.begin(9600);
 Serial.println("Data Logger Starting . . . !");
 dht.begin();
 delay(1000);
 Serial.println("Membuka Micro SD . . .");
 delay(1000);
 if (!SD.begin(4)) 
 {
 Serial.println("Gagal Membuka Micro SD!");
 return;
 }
 Serial.println("Berhasil Membuka Micro SD");
 delay(1000);
 Serial.println("Memerikasa Koneksi RTC . . .");
 delay(1000);
 if (! rtc.begin()) 
 {
 Serial.println("RTC tidak ditemukan");
 return;
 }
 Serial.println("Koneksi RTC Berhasil");

 if (rtc.lostPower()) 
 {
 Serial.println("Sett time RTC");
 rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));//sett waktu RTC sesuai waktu di PC saat uploud sketch
 }
 
 
}

void loop() 
{
 DateTime now = rtc.now();
 delay(2000);
 float h = dht.readHumidity();
 float t = dht.readTemperature(); // baca temperatur dalam celcius, jika ingin mengganti fahrenheit kalian bisa menggunakan float f = dht.readTemperature(true);
 

 // cek apakah koneksi dht 11 benar, jika salah print error
 if (isnan(h) || isnan(t))
 {
 Serial.println("Failed to read from DHT sensor!");
 return;
 }

 // Kirim data ke SD card 
 myFile = SD.open("logger.txt", FILE_WRITE); //Membuka File test.txt
 if (myFile) // jika file tersedia tulis data
 {
 Serial.print(now.year(), DEC);
 Serial.print('/');
 Serial.print(now.month(), DEC);
 Serial.print('/');
 Serial.print(now.day(), DEC);
 Serial.print(" (");
 Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
 Serial.print(") ");
 Serial.print(now.hour(), DEC);
 Serial.print(':');
 Serial.print(now.minute(), DEC);
 Serial.print(':');
 Serial.print(now.second(), DEC); 
 Serial.print(" Kelembapan: ");
 Serial.print(h);
 Serial.print(" %\t");
 Serial.print("Temperature: ");
 Serial.println(t); // menampilkan temperatur di serial monitor
 
 myFile.print(now.year(), DEC);
 myFile.print('/');
 myFile.print(now.month(), DEC);
 myFile.print('/');
 myFile.print(now.day(), DEC);
 myFile.print(" (");
 myFile.print(daysOfTheWeek[now.dayOfTheWeek()]);
 myFile.print(") ");
 myFile.print(now.hour(), DEC);
 myFile.print(':');
 myFile.print(now.minute(), DEC);
 myFile.print(':');
 myFile.print(now.second(), DEC); 
 myFile.print(" Kelembapan: ");
 myFile.print(h);
 myFile.print(" %\t");
 myFile.print("Temperature: ");
 myFile.println(t); // menulis data temperatur di MicroSD
 myFile.close();
 }
 else 
 {
 Serial.println("gagal membuka test.txt"); // jika gagal print error
 }
 delay(2000); //memberi jeda 5 detik, karena proses pengiriman data berlangsung selama 3 detik, jadi total 5 detik
}

Itulah tutorial tentang bagaimana cara membuat Data Logger atau Sebuah alat yang bekerja untuk memonitoring suatu data kemudian menyimpannya. Semoga bermanfaat. jika ada pertanyaan silahkan sampaikan di kolom komentar. Wassalamu’alaikum.

Giri Wahyu Pambudi

Giri Wahyu Pambudi - Seorang Pemuda Desa yang berkeinginan ikut membangun Indonesia dengan Sedikit Ilmu yang dimiliki SMK N 2 Wonogiri lulus 2015 UNIV Negeri Yogyakarta lulus 2019 2019 - Sekarang Bekerja di SMK Gajah Mungkur 1 Wuryantoro, Wonogiri

View Comments

  • Mas ini aku udah coba compile, tapi kok muncul error terus yah erornya gini:
    exit status 1
    redefinition of 'DHT dht'

    • Blm ada library DHT di Arduinonya mas, silahkan dibaca lg artikelnya, sdh saya update cara masukan library ke arduino IDE.

  • Gan, saya sedang membuat proyek untuk mengukur kecepatan jalan orang, nah apabila kecepatan orang tersebut kurang dari min kecepatan, maka kamera VC0706 akan mengambil gambar orang tersebut, pertanyaan saya, apakah bisa gambar2 tersebut disimpan di modul microSD?

  • apabila modul micro SD tadi digabung dengan modul RFID apakah bisa berjalan?

    soalnya SCK MOSI dan MISO nya sama pinnya.....

  • mas tolong di jawab ? saya pake nya arduino mega dan RTC nya pake yang MH-real-Time Clock Module 2

    Arduino: 1.8.7 (Windows Store 1.8.15.0) (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

     

    The sketch name had to be modified.

    Sketch names must start with a letter or number, followed by letters,

    numbers, dashes, dots and underscores. Maximum length is 63 characters.

     

     

     

     

     

     

     

     

     

     

    In file included from C:\Users\SAYANGKU\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:

     

    C:\Users\SAYANGKU\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

     

    compilation terminated.

     

    exit status 1

    Error compiling for board Arduino/Genuino Mega or Mega 2560.

     

    This report would have more information with

    "Show verbose output during compilation"

    option enabled in File -> Preferences.

     

    • The sketch name had to be modified.

      Sketch names must start with a letter or number, followed by letters,

      numbers, dashes, dots and underscores. Maximum length is 63 characters.

      coba ganti nama filenya mas.

Share
Published by
Giri Wahyu Pambudi

Recent Posts

Adab Buang Hajat

Kitab Rujukan : Shahih Adab Islamiyyah karya Dr. Wahid bin Abdissalam bali 1.Berdoa ketika masuk…

1 tahun ago

Adab Ketika Bangun Tidur

Berdzikir kepada Allah Ketika Bangun Tidur عَنْ حُذَيْفَةَ رَضِيَ اللَّهُ عَنْهُ قَالَ: كَانَ النَّبِيُّ صَلَّى…

1 tahun ago

Kisah Tiga Orang yang Terjebak di Dalam Gua dan Bertawasul Dengan Beramal Saleh

عن عَبْدَ اللَّهِ بْنَ عُمَرَ رَضِيَ اللَّهُ عَنْهُمَا - قَالَ سَمِعْتُ رَسُولَ اللَّهِ صلى الله…

1 tahun ago

2 Nikmat yang sering dilupakan Manusia : Sehat dan Waktu Luang

عَنِ ابْنِ عَبَّاسٍ رضى الله عنهما قَالَ-  قَالَ النَّبِيُّ صلى الله عليه وسلم ‏ "‏ نِعْمَتَانِ…

1 tahun ago

7 Golongan yang Mendapatkan Naungan Allah di Padang Mahsyar saat Hari Kiamat

Assalamu'alaikum, Catatan ini menjadi nasehat untuk diri kami pribadi dan umumnya untuk anak - anak…

1 tahun ago

Piston pin Offset – Alasan piston tidak boleh dipasang terbalik

Assalamu'alaikum warahmatullahi wabarakatuh sahabat otomotif :-) , kali ini kita akan bahas tentang piston pin…

4 tahun ago

Tampilan Versi Hemat Data