Pengontrolan Alat Listrik Secara Otomatis Menggunakan Sensor Cahaya dan Sensor Suhu Berbasis Mikrokontroler
Lampiran A - 1
LISTING PROGRAM
/*******************************************************************
SENSOR LM35
*******************************************************************/
#define LM35_sensor1_pin A2
unsigned char getLM35_sensor1()
{
float getData = analogRead(LM35_sensor1_pin);
float mv = ( getData/1024.0)*5000;
float temp = mv/10;
return temp;
}
/********************************************************************
SENSOR LDR
*******************************************************************/
//LDR 1
#define ldr1_pin
8
#define ldr1_Init
pinMode(ldr1_pin, INPUT_PULLUP);
#define ldr1_getWhite
digitalRead(ldr1_pin) == 0
#define ldr1_getBlack digitalRead(ldr1_pin) == 1
/*******************************************************************
LAMPU
*******************************************************************/
//LAMPU 1
#define lampu1_pin
2
#define lampu1_Init
pinMode(lampu1_pin,
OUTPUT);
digitalWrite(lampu1_pin, HIGH);
#define lampu1_on
digitalWrite(lampu1_pin, LOW);
#define lampu1_off
digitalWrite(lampu1_pin, HIGH);
/********************************************************************
KIPAS
*******************************************************************/
//KIPAS 1
#define kipas1_pin
4
#define kipas1_Init
pinMode(kipas1_pin,
OUTPUT);
digitalWrite(kipas1_pin, HIGH);
#define kipas1_on
digitalWrite(kipas1_pin, LOW);
#define kipas1_off
digitalWrite(kipas1_pin, HIGH);
Universitas Sumatera Utara
Lampiran A - 2
/*******************************************************************/
LCD dengan i2c
/*******************************************************************/
//LIBRARY
#include
#include
LiquidCrystal_I2C lcd(0x3F,16,2); //alamat LCD
#define i2c_LCD_init lcd.init(); lcd.backlight(); //init LCD
//Display
#define display_suhuRuang1 lcd.setCursor(0,0); lcd.print(F("Ruang
lcd.setCursor(14,0); lcd.print(getLM35_sensor1()); delay(100);
#define display_suhuRuang2 lcd.setCursor(0,1); lcd.print(F("Ruang
lcd.setCursor(14,1); lcd.print(getLM35_sensor2()); delay(100);
1
(c)
="));
2
(c)
="));
void setup()
{
//init lampu
lampu1_Init
//init kipas
kipas1_Init
//init sensor
ldr1_Init
//init lcd
i2c_LCD_init
}
void loop()
{
//cek kondisi sensor LDR dan esekusi
if (ldr1_getBlack)
{
lampu1_on
delay(1000);
}
if(ldr1_getWhite)
{
lampu1_off
delay(1000);
}
//cek sensor suhu dan esekusi
if (getLM35_sensor1() > 31)
{
Universitas Sumatera Utara
Lampiran A - 3
kipas1_on
delay(100);
}
if (getLM35_sensor1() < 29)
{
kipas1_off
delay(100);
}
Universitas Sumatera Utara
Lampiran A - 4
CURRICULUM VITAE
DATA PRIBADI
Nama
Agama
Alamat
Tempat/TTL
HP
Email
:
:
:
:
:
:
Yulni Witriza
Islam
JL. Setiabudi Gg.Mahoni No.11
Pekanbaru/ 11 Juli 1992
0852 7802 7327
Ywtriza@yahoo.com
RIWAYAT PENDIDIKAN
Pendidikan
D3
Sekolah
Politeknik Caltex Riau
Tahun
2010-2013
SMA
SMAN 5 Pekanbaru
2007-2010
SMP
SMPN 8 Pekanbaru
2004-2007
SD
SDN 004 Pekanbaru
1998-2004
SEMINAR / WORKSHOP / TRAINING
Seminar
SENARAI
Tempat
Tahun
Universitas Sumatera Utara
2014
Universitas Sumatera Utara
LISTING PROGRAM
/*******************************************************************
SENSOR LM35
*******************************************************************/
#define LM35_sensor1_pin A2
unsigned char getLM35_sensor1()
{
float getData = analogRead(LM35_sensor1_pin);
float mv = ( getData/1024.0)*5000;
float temp = mv/10;
return temp;
}
/********************************************************************
SENSOR LDR
*******************************************************************/
//LDR 1
#define ldr1_pin
8
#define ldr1_Init
pinMode(ldr1_pin, INPUT_PULLUP);
#define ldr1_getWhite
digitalRead(ldr1_pin) == 0
#define ldr1_getBlack digitalRead(ldr1_pin) == 1
/*******************************************************************
LAMPU
*******************************************************************/
//LAMPU 1
#define lampu1_pin
2
#define lampu1_Init
pinMode(lampu1_pin,
OUTPUT);
digitalWrite(lampu1_pin, HIGH);
#define lampu1_on
digitalWrite(lampu1_pin, LOW);
#define lampu1_off
digitalWrite(lampu1_pin, HIGH);
/********************************************************************
KIPAS
*******************************************************************/
//KIPAS 1
#define kipas1_pin
4
#define kipas1_Init
pinMode(kipas1_pin,
OUTPUT);
digitalWrite(kipas1_pin, HIGH);
#define kipas1_on
digitalWrite(kipas1_pin, LOW);
#define kipas1_off
digitalWrite(kipas1_pin, HIGH);
Universitas Sumatera Utara
Lampiran A - 2
/*******************************************************************/
LCD dengan i2c
/*******************************************************************/
//LIBRARY
#include
#include
LiquidCrystal_I2C lcd(0x3F,16,2); //alamat LCD
#define i2c_LCD_init lcd.init(); lcd.backlight(); //init LCD
//Display
#define display_suhuRuang1 lcd.setCursor(0,0); lcd.print(F("Ruang
lcd.setCursor(14,0); lcd.print(getLM35_sensor1()); delay(100);
#define display_suhuRuang2 lcd.setCursor(0,1); lcd.print(F("Ruang
lcd.setCursor(14,1); lcd.print(getLM35_sensor2()); delay(100);
1
(c)
="));
2
(c)
="));
void setup()
{
//init lampu
lampu1_Init
//init kipas
kipas1_Init
//init sensor
ldr1_Init
//init lcd
i2c_LCD_init
}
void loop()
{
//cek kondisi sensor LDR dan esekusi
if (ldr1_getBlack)
{
lampu1_on
delay(1000);
}
if(ldr1_getWhite)
{
lampu1_off
delay(1000);
}
//cek sensor suhu dan esekusi
if (getLM35_sensor1() > 31)
{
Universitas Sumatera Utara
Lampiran A - 3
kipas1_on
delay(100);
}
if (getLM35_sensor1() < 29)
{
kipas1_off
delay(100);
}
Universitas Sumatera Utara
Lampiran A - 4
CURRICULUM VITAE
DATA PRIBADI
Nama
Agama
Alamat
Tempat/TTL
HP
:
:
:
:
:
:
Yulni Witriza
Islam
JL. Setiabudi Gg.Mahoni No.11
Pekanbaru/ 11 Juli 1992
0852 7802 7327
Ywtriza@yahoo.com
RIWAYAT PENDIDIKAN
Pendidikan
D3
Sekolah
Politeknik Caltex Riau
Tahun
2010-2013
SMA
SMAN 5 Pekanbaru
2007-2010
SMP
SMPN 8 Pekanbaru
2004-2007
SD
SDN 004 Pekanbaru
1998-2004
SEMINAR / WORKSHOP / TRAINING
Seminar
SENARAI
Tempat
Tahun
Universitas Sumatera Utara
2014
Universitas Sumatera Utara