Thermostat 3 Tombol Tampilan Seven Segment PDF
Thermostat 3 Tombol Tampilan Seven Segment PDF
com]
Kebutuhan Hardware :
1 Modul Sensor LM35
Modul Seven segment 4 Digit
Modul Relay 5Vdc
Heater
3 Tombol Push ON
Modul Arduino UNO
Power supply +9Volt
INKUBATEK INKUBATEK
Sensor LM35
Modul 1 Relay
Element Heater
INKUBATEK
Diagram Blok:
2 Inkubatek [supported by : www.tokotronik.com]
LM 35 Seven Segment
4digit
Arduino UNO
Tb 1 (Set)
Tb 2 (Up)
Rly 1 Heater
Tb 3 (Down)
Schematics
INKUBATEK
2 A 10 Digit 1
3 B 11 Digit 2
4 C 12 Digit 3
5 D 13 Digit 4
6 E
7 F
8 G
3 Inkubatek [supported by : www.tokotronik.com]
1 (VCC) VCC
2 (OUTPUT) PIN A0
3 (GND) GND
Koneksi Relay:
1 Pin A4
Koneksi Tombol:
SET Pin A1
UP Pin A2
DOWN Pin A3
Source Code/Sketch :
/*************************************
* Program : Project 118. Thermostat 3 tombol tampilan seven segment
* 125 Proyek Arduino Inkubatek
* www.inkubator-teknologi.com
* www.tokotronik.com
* ***********************************/
int adc,T,setPoint;
byte setSP, f_awal, kedip;
long lastButton = 0;
long delayAntiBouncing = 50;
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 }, // = 9
{ 0,0,1,1,1,0,0 }, // = derajat
{ 0,1,1,0,0,0,1 } // = C
};
void setup(){
for(char i=2; i<13; i++){
pinMode(i,OUTPUT);
}
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
digitalWrite(A1,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A3,HIGH);
pinMode(A4,OUTPUT);
setPoint=40;
}
void loop(){
adc = analogRead(0);
T = (adc*5)/10;
tampilSuhu();
tampilC();
if(T<(setPoint-1) || f_awal==0){
digitalWrite(A4,HIGH);
f_awal=1;
}
else if(T>=setPoint){
digitalWrite(A4,LOW);
}
tombol();
}
void tampilSuhu(){
digitalWrite(10,LOW); digitalWrite(11,HIGH);
digitalWrite(12,HIGH); digitalWrite(13,HIGH);
5 Inkubatek [supported by : www.tokotronik.com]
if (setSP==1){
sevenSegWrite(setPoint/10);
}
else{
sevenSegWrite(T/10);
}
delay(5);
digitalWrite(10,HIGH); digitalWrite(11,LOW);
digitalWrite(12,HIGH); digitalWrite(13,HIGH);
if (setSP==1){
sevenSegWrite(setPoint%10);
}
else{
sevenSegWrite(T%10);
}
delay(5);
}
void tampilC(){
digitalWrite(10,HIGH); digitalWrite(11,HIGH);
digitalWrite(12,LOW); digitalWrite(13,HIGH);
sevenSegWrite(10);
delay(5);
digitalWrite(10,HIGH); digitalWrite(11,HIGH);
digitalWrite(12,HIGH); digitalWrite(13,LOW);
sevenSegWrite(11);
delay(5);
}
void tombol(){
if(digitalRead(A1)==0){
if ((millis() - lastButton) > delayAntiBouncing){
setSP=1;
}
lastButton = millis();
}
6 Inkubatek [supported by : www.tokotronik.com]
while (setSP){
//-----------------tombol seting
if(digitalRead(A1)==0){
if ((millis() - lastButton) > delayAntiBouncing){
setSP=0;
}
lastButton = millis();
}
//---------------tombol up
else if(digitalRead(A2)==0){
if ((millis() - lastButton) > delayAntiBouncing){
setPoint++;
}
lastButton = millis();
}
//---------------tombol down
else if(digitalRead(A3)==0){
if ((millis() - lastButton) > delayAntiBouncing){
if (setPoint>0){
setPoint--;
}
}
lastButton = millis();
}
if (kedip<30){
tampilC();
}
else{
tampilSuhu();
tampilC();
if(kedip>60)kedip=0;
}
++kedip;
}
setSP=0;
}
Jalannya Alat :
1. Koneksikan antara sistem Arduino dengan peripheral lain seperti pada rangkaian
(skematik).
2. Pasang power supply (adaptor 9 V) dan hidupkan (colokkan ke sumber PLN 220V)
sehingga lampu LED indikator nyala, LCD juga nyala.
7 Inkubatek [supported by : www.tokotronik.com]
31 0 C
5. Heater akan ON apabila suhu dibawah set point, setpoint awal 400C.
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, sehingga seven segment menampilkan
suhu setpoint dan tampilanya berkedip:
40 0 C
9. Tekan tombol UP untuk menambah suhu set point atau tekan tombol DOWN untuk
menguranginya.
10. Tekan tombol SET jika setingan sudah selesai.
11. Tampilan kembali pada tampilan normal.
Ke Heater