--> Project III - 8. Thermostat dan Modul Keypad 3x3 berbasis Arduino | Tutorial arduino lengkap

Thursday, August 3, 2017

Project III - 8. Thermostat dan Modul Keypad 3x3 berbasis Arduino

| Thursday, August 3, 2017
Thermostat dan Modul Keypad 3x3






Sistem Kerja Alat


Thermostat yaitu alat yang digunakan untuk mempertahankan suhu sesuai dengan set point yang telah ditentukan. Suhu dibaca oleh sensor LM35 dan hasilnya ditampilkan pada LCD. Sedangkan set point di seting dengan menggunakan keypad 3x4. Heater/pemanas di kontrol ON/OFF-nya menggunakan relay yang terhubung dengan kaki output Arduino.

Kebutuhan Hardware
  • Sensor LM35
  • Modul LCD 2x16
  • Modul Relay 5Vdc
  • Heater
  • Keypad 3x4
  • Modul Arduino UNO
  • Power supply +9Volt


                            Sensor Suhu LM35 (Source)           Modul Relay 1 Channel (Source)


                          
                             Modul Keypad 3x4 (Source)               Element Heater (Source)


Diagram Blok



Schematic

Koneksi Arduino UNO dengan LCD



Koneksi Keypad 3x4



Koneksi Sensor LM35


Koneksi Relay
Source Code/Sketch
#include <LiquidCrystal.h>
#include <Keypad.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
byte derajat[8] = {
0b01100,
0b10010,
0b10010,
0b01100,
0b00000,
0b00000,
0b00000,
0b00000
};
char key;
byte SPkeypad;
byte T,setPoint;
byte setSP, f_awal;
const byte ROWS=4;
const byte COLS=3;
char keys[ROWS][COLS]={
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS]={9,10,11,12};
byte colPins[COLS]={A1,A2,A3};
Keypad keypad = Keypad(makeKeymap(keys),rowPins, colPins, ROWS, COLS);
void setup(){
pinMode(8,OUTPUT);
lcd.createChar(1, derajat);
lcd.begin(16, 2);
lcd.print(" Thermostat ");
lcd.setCursor(0, 1);
lcd.print("ARDUINO dg LM35");
delay(2000);
lcd.clear();
setPoint=40;
}
void loop(){
lcd.setCursor(0,0);
lcd.print("SP=");
lcd.print(setPoint);
lcd.write(1);
lcd.print("C ");
T=(analogRead(0)*5)/10;
lcd.setCursor(8, 0);
lcd.print("T=");
lcd.print(T);
lcd.write(1);
lcd.print("C ");
if(T<(setPoint-1) || f_awal==0){
lcd.setCursor(0,1);
lcd.print("Set=* Heater ON ");
digitalWrite(8,HIGH);
f_awal=1;
}
else if(T>=setPoint){
lcd.setCursor(0,1);
lcd.print("Set=* Heater OFF");
digitalWrite(8,LOW);
}
delay(100);
bacaKeypad();
}
void bacaKeypad(){
key=keypad.getKey();
if(key != NO_KEY){
if (key=='*'){
lcd.clear();
lcd.print("Seting Set Point");
delay(1000);
lcd.clear();
lcd.print("SP= ");
lcd.write(1);
lcd.print("C ");
lcd.blink();
lcd.setCursor(3,0);
byte kursor=3;
byte selesai=1;
do{
key=keypad.getKey();
if(key != NO_KEY){
if (key!='*' && key!='#' && kursor<5){
lcd.print(key);
key=key-48;
SPkeypad=SPkeypad*10;
SPkeypad=SPkeypad+key;
kursor++;
lcd.setCursor(kursor,0);
}
else if (key=='#' && kursor==5){
selesai=0;
}
}
if(kursor==5){
lcd.noBlink();
lcd.setCursor(0,1);
lcd.print("Save tekan #");
}
}
while(selesai);
setPoint = SPkeypad;
SPkeypad = 0;
f_awal=0;
lcd.clear();
lcd.print("Set point OK!");
delay(1000);
lcd.clear();
}
}
}

Jalannya Alat

  1. Untuk mendapatkan suhu yang stabil Anda bisa buat tegangan supply tersendiri pada sensor LM35 dengan supply tegangan dari 5Vdc s/d 15Vdc. Semakin besar supply LM35 maka hasilnya semakin bagus asal tidak lebih dari 15Vdc. 
  2. Upload program diatas.
  3. Tampilan awal.

      4. Setelah 2 detik tampilan diatas dihapus, kemudian diganti dengan tampilan normal
    
      5. Heater akan ON apabila suhu dibawah set point
      6. Heater OFF pada saat suhu sama dengan set point.

    
     7. Heater akan menyala lagi setelah suhu berkurang 20C dibawah set point.
     8. Seting setpoint dengan menekan tombol Set

     9. Setelah 1 detik tampil Set point

     10. Tekan tombol angka pada keypad misal set point yang akan dimasukkan 38°C, maka tekan 
           tombol 3 kemudian delapan.

     11. Tekan tombol pagar ‘#’ jika setingan sudah selesai.

     12. Tampilan kembali pada tampilan normal.



Video Project III - 8. Thermostat dan Modul Keypad 3x3 berbasis Arduino







KAMI MELAYANI JASA PEMBUATAN HARDWARE ATAU SOFTWARE BERBASIS ARDUINO

KONTAK KAMI 085743320570 (adi sanjaya)

Related Posts

5 comments:

  1. mas mau tanya kalau setpointnya menginginkan 4 digit bagaimana ?

    ReplyDelete
  2. mas, key = key - 48;
    SPkeypad = SPkeypad*10;
    SPkeypad = SPkeypad + key;
    kursor++;
    dapetnya dari mana? dan kenapa pakai itu?

    ReplyDelete
  3. SPkeypad = SPkeypad*10;
    SPkeypad = SPkeypad + key;
    kursor++;

    Program diatas artinya apa Pak ?

    ReplyDelete
  4. Pak, saya mau tanya maksud program dibawah ini apa pak ?

    SPkeypad = SPkeypad*10;
    SPkeypad = SPkeypad + key;
    kursor++;

    ReplyDelete
  5. Mantap, terimakasih ilmunya gan,, semoga makin sukses

    ReplyDelete