Baik kali ini kita akan membuat Alat Pengatur Suhu Otomatis. Tapi ada baiknya jika kamu membaca postingan sebelumnya mengenai, "Sensor Kelembaban dan Suhu DHT11."
Jadi Alat Pengatur Suhu Otomatis ini bisa difungsikan berbagai macam hal. Kamu bisa gunakan untuk membuat penetas telur ayam otomatis, penghangat ruangan otomatis, pengatur suhu dan kelembaban otomatis untuk green house, dan semua kebutuhan yang berhubungan dengan suhu dan kelembaban bisa kamu buat otomatis.
Inti dari alat ini adalah membaca suhu dan kelembaban dalam ruangan, lalu menampilkan datanya ke LCD. Lalu kamu bisa set kondisi tertentu untuk menyalakan relay, misal ketika suhu lebih dari 30 derajat, kamu nyalakan relay. Relay ini bisa digunakan sebagai saklar otomatis untuk menyalakan lampu pijar, atau AC dan sebagainya. So alat-alat yang dinyalakan relay, akan menyala sampai suhunya kembali normal seperti yang sudah di atur. Ok! Sekarang kita langsung aja. Sebelumnya, pastikan kamu sudah menyiapkan: 1x Arduino 1x LCD ukuran 16x2 1x Sensor Suhu DHT11 atau DHT22, DHT21 (AM2301) 1x Breadboard 1x Potensiometer 1x Relay 1 Channel
1x Resistor 220 ohm Beberapa kabel jumper Jika sudah silahkan pasang seperti gambar dibawah ini:
Jika sudah dirangkai, dibawah ini programnya. Silahkan, di salin ulang!
Kalau kamu penasaran hasil jadinya, silahkan lihat video dibawah ini:
Selamat Mencoba!
Inti dari alat ini adalah membaca suhu dan kelembaban dalam ruangan, lalu menampilkan datanya ke LCD. Lalu kamu bisa set kondisi tertentu untuk menyalakan relay, misal ketika suhu lebih dari 30 derajat, kamu nyalakan relay. Relay ini bisa digunakan sebagai saklar otomatis untuk menyalakan lampu pijar, atau AC dan sebagainya. So alat-alat yang dinyalakan relay, akan menyala sampai suhunya kembali normal seperti yang sudah di atur. Ok! Sekarang kita langsung aja. Sebelumnya, pastikan kamu sudah menyiapkan: 1x Arduino 1x LCD ukuran 16x2 1x Sensor Suhu DHT11 atau DHT22, DHT21 (AM2301) 1x Breadboard 1x Potensiometer 1x Relay 1 Channel
1x Resistor 220 ohm Beberapa kabel jumper Jika sudah silahkan pasang seperti gambar dibawah ini:
Jika sudah dirangkai, dibawah ini programnya. Silahkan, di salin ulang!
Ok! Jika sudah mencoba, kamu bisa membuatkan Kotak agar lebih rapi, seperti pada gambar dibawah ini:#include <DHT.h>//menyertakan library DHT kedalam program #define DHTPIN 8 //kita pasang sensor pada pin 8 #define DHTTYPE DHT11 //kita menggunakan jenis sensor DHT11, ubah jika kamu gunakan sensor lain seperti DHT22 (AM2302) atau DHT21 (AM2301) DHT dht(DHTPIN, DHTTYPE); //deklarasi pin sensor dengan jenis sensor yang dipilih #include <LicuidCrystal.h>//menyertakan library LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang dipadakai LCD int relay= 9; //kita menggunakan pin 9 untuk relay void setup() { lcd.begin(16, 2); //mengatur ukuran lcd yang dipakai dht.begin(); //program komunikasi atau setup untuk sensor DHT pinMode(relay, OUTPUT); //mengatur relay sebagai OUTPUT Serial.begin(9600); } void loop() { float kelembaban = dht.readHumidity(); //menyimpan nilai kelembaban pada variabel kelembaban float suhu = dht.readTemperature(); //menyimpan nilai suhu pada variabel suhu delay(200); //mengatur jeda waktu pembacaan sensor selama 200 milidetik Serial.print(kelembaban); //menampilkan nilai kelembaban pada Serial Monitor Serial.print(" "); //menambahkan spasi Serial.println(suhu); //menampilkan nilai suhu pada Serial Monitor //menampilkan nilai kelembaban pada LCD lcd.setCursor(0, 0); // lcd.print("Kelembaban.: "); lcd.print((int) kelembaban); lcd.print("%"); //menampilkan nilai suhu pada LCD lcd.setCursor(0, 1); lcd.print("Suhu.: "); lcd.print((int) suhu); lcd.println("*C "); //kondisi if dibawah ini, sailahkan di atur sesuai dengan kebutuhan kamu if ( kelembaban > 80.10){ //jika kelembaban lebih besar dari 80.10 digitalWrite(relay, LOW); //relay menyala } else if( suhu > 30.10){ //jika suhu lebih besar dari 30.10 digitalWrite(relay, LOW); //relay menyala } else{ //jika tidak digitalWrite(relay, HIGH); //relay mati } }
Kalau kamu penasaran hasil jadinya, silahkan lihat video dibawah ini:
Selamat Mencoba!
siip boss
BalasHapustrimaksaih ilmu nya mas, sangat sangat bermanfaat
BalasHapusini kalau memonitoringnya lwt android apa bisa?
BalasHapuskaki2 lcd nya boleh diperjelas ga?
BalasHapus#include //menyertakan library DHT kedalam program
BalasHapus#define DHTPIN 1 //kita pasang sensor pada pin 1
#define DHTTYPE DHT11 //kita menggunakan jenis sensor DHT11,
DHT dht(DHTPIN, DHTTYPE); //deklarasi pin sensor dengan jenis
#include //menyertakan library LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang dipadakai LCD
int relaykipas = 7; //kita menggunakan pin 7 untuk relay
int relaypemanas = 8;
//blink withot delay untuk menyalakan motor pemutar rak
const int relaymotor = 9; // pin 9 untuk relay motor penggerak rak
int relaymotorState = LOW;
long previousMillis = 2700000;
long interval = 1000;
void setup() {
lcd.begin(16, 2); //mengatur ukuran lcd yang dipakai
dht.begin(); //program komunikasi atau setup untuk sensor DHT
pinMode(relaykipas, OUTPUT); //mengatur relay sebagai OUTPUT
pinMode(relaypemanas, OUTPUT);
pinMode(relaymotor, OUTPUT);
Serial.begin(9600); }
void loop() {
float kelembaban = dht.readHumidity(); //menyimpan nilai kelemb
float suhu = dht.readTemperature(); //menyimpan nilai suhu pada
delay(200); //mengatur jeda waktu pembacaan sensor selama 20
Serial.print(kelembaban); //menampilkan nilai kelembaban pada
Serial.print(" "); //menambahkan spasi
Serial.println(suhu); //menampilkan nilai suhu pada Serial Monitor
//menampilkan nilai kelembaban pada LCD
lcd.setCursor(0, 0); //
lcd.print("Kelembaban.: ");
lcd.print((int) kelembaban);
lcd.print("%");
//menampilkan nilai suhu pada LCD
lcd.setCursor(0, 1);
lcd.print("Suhu.: ");
lcd.print((int) suhu);
lcd.println("*C ");
//kondisi if dibawah ini, silahkan di atur sesuai dengan kebutuh
if (kelembaban > 55.00) {
digitalWrite(relaykipas, HIGH);
}
else {
digitalWrite(relaykipas,LOW);
}
if (suhu > 38.00) {
digitalWrite(relaypemanas, LOW);
}
else {
digitalWrite(relaypemanas,HIGH);
}
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
if (relaymotorState == LOW)
relaymotorState = HIGH;
else
relaymotorState = LOW;
digitalWrite(relaymotor, relaymotorState);
}
}
mohon koreksinya
kak punyaku kok error ya
BalasHapusArduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"
The sketch name had to be modified. Sketch names can only consist
of ASCII characters and numbers (but cannot start with a number).
They should also be less than 64 characters long.
C:\Users\User\Documents\Arduino\pengatur_suhu\pengatur_suhu.ino:1:60: fatal error: DHT.h: No such file or directory
#include //menyertakan library DHT kedalam program
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Arduino: 1.8.4 (Windows 7), Board: "Arduino Mega ADK"
BalasHapusC:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Wisnu\Documents\Arduino\libraries -fqbn=arduino:avr:megaADK -ide-version=10804 -build-path C:\Users\Wisnu\AppData\Local\Temp\arduino_build_929766 -warnings=none -build-cache C:\Users\Wisnu\AppData\Local\Temp\arduino_cache_539713 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Wisnu\Documents\Arduino\lalu_lintas_timer\green_house_project\green_house_project.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Wisnu\Documents\Arduino\libraries -fqbn=arduino:avr:megaADK -ide-version=10804 -build-path C:\Users\Wisnu\AppData\Local\Temp\arduino_build_929766 -warnings=none -build-cache C:\Users\Wisnu\AppData\Local\Temp\arduino_cache_539713 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Wisnu\Documents\Arduino\lalu_lintas_timer\green_house_project\green_house_project.ino
Using board 'megaADK' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_ADK -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\Wisnu\AppData\Local\Temp\arduino_build_929766\sketch\green_house_project.ino.cpp" -o "nul"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_ADK -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\Wisnu\AppData\Local\Temp\arduino_build_929766\sketch\green_house_project.ino.cpp" -o "C:\Users\Wisnu\AppData\Local\Temp\arduino_build_929766\preproc\ctags_target_for_gcc_minus_e.cpp"
C:\Users\Wisnu\Documents\Arduino\lalu_lintas_timer\green_house_project\green_house_project.ino:1:57: fatal error: DHT: No such file or directory
#include //menyertakan library DHT kedalam program
^
compilation terminated.
exit status 1
Error compiling for board Arduino Mega ADK.
DHTnya kok selalu error ya?