Anak Kendali
3 min readAug 10, 2022

--

Arduino On-Off Controller System

Aplikasi On Off Kontroler dengan Arduino Pada Sistem Air Heater
Aplikasi On Off Kontroler dengan Arduino Pada Sistem Air Heater

On-Off Controller Arduino on Air Heater System

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.begin();
pinMode (3, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (8, OUTPUT); // kipas
pinMode (9, OUTPUT); // heater
}

int sp = 26;

boolean state;

void loop() {
// put your main code here, to run repeatedly:
int s = analogRead (A1);
float v = (s*5.0) / 1023;

float suhu = v * 100.0;

if (digitalRead (3) == 0){
while (digitalRead (3) == 0){}
sp++;
}

if (digitalRead (4) == 0){
while (digitalRead (4) == 0){}
sp--;
}

if (suhu >= sp && state == 0){ // jika suhu lebih dari set point
digitalWrite (8, 1); // kipas nyala
digitalWrite (9, 0); // heater mati
state = 1;
}

else if(suhu < sp-2 && state == 1){ // jika suhu lebih dari set point
digitalWrite (8, 0); // kipas mati
digitalWrite (9, 1); // heater nyala
}

else if (suhu <= sp && state == 0){ // jika suhu lebih dari set point
digitalWrite (8, 0); // kipas nyala
digitalWrite (9, 1); // heater mati
state = 1;
}

else if(suhu > sp+2 && state == 1){ // jika suhu lebih dari set point
digitalWrite (8, 1); // kipas mati
digitalWrite (9, 0); // heater nyala
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Point : ");
lcd.print(sp);
lcd.setCursor(0,1);
lcd.print("Act Suhu : ");
lcd.print(suhu);
delay(1000);
}

--

--