1. data sheet ic atmega328p...lcd.setcursor(0,1); lcd.print("cucak rowo corp "); } } b.2....
TRANSCRIPT
79
LAMPIRAN-LAMPIRAN
A.1. Data Sheet
1. Data Sheet IC Atmega328P
80
81
82
83
84
85
2. Data Sheet I2C
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
3. Bluetooth HC-05
103
104
105
106
107
B.1. Listing Program Keseluruhan
#include <LCD.h> //library lcd
#include <LiquidCrystal.h> //library lcd
#include <LiquidCrystal_I2C.h> //library liquid crystal I2C
#include <Wire.h> //library virtual
#include <Servo.h> //library motor servo
#include <SoftwareSerial.h> //sebagai penentu pin RX dan TX
108
int pinBluetoothTx = 0; //sebagai pin 0 pada arduino
int pinBluetoothRx = 1; //sebagai pin 1 pada arduino
Servo servoku; //variable untuk servo
int pos; //variable untuk menyimpan posisi servo
char data; //tipe data untuk menyatakan suatu karakter
SoftwareSerial bluetooth(pinBluetoothTx, pinBluetoothRx);
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
void setup(){ //untuk menginialisasi variable, mode pin,
memulai menggunakan library.
Serial.begin(9600); //serial begin
bluetooth.begin(9600); //bluetooth begin
lcd.begin (16,2); //lcd 16x2
lcd.backlight(); //pencahayaan pada lcd
pinMode(8, OUTPUT); //menetapkan pin 8 sebagai output
pinMode(10, OUTPUT); // menetapkan pin 10 sebagai output
pinMode(11, OUTPUT); // menetapkan pin 11 sebagai output
pinMode(12, OUTPUT); // menetapkan pin 12 sebagai output
servoku.attach(7); //pin untuk motor servo
servoku.write(180); //servo berada dalam posisi 180 derajad
lcd.setCursor(0,0); //menetapkan kursor pada lcd
lcd.print("TUGAS AKHIR"); //untuk menampilkan teks pada lcd
109
Void loop(){ //semua kode yang ada disini akan dibaca berulang kali oleh arduino
if (bluetooth.available()>0) { //sebagai pemangil serial variable bluetooth
{
data = bluetooth.read(); //untuk membaca data pada serial bluetooth
Serial.println(data); //untuk memangil serial monitor pada Arduino
IDE
}
if (data == 'A') //untuk membandingkan variable dengan
beberapa konstanta dan variable A deklarasi untuk
lampu nyala.
{
digitalWrite(10, 1 ); // pin10 arduino bernilai 1 maka tegangan akan
bernilai (HIGH)
lcd.backlight(); //pencahayaan pada lcd
lcd.setCursor(0,0); //menetapkan kursor pada lcd
lcd.print("LAMPU NYALA"); //untuk menampilkan teks pada lcd
}
if (data == 'B') // untuk membandingkan variable dengan
beberapa konstanta dan variable B deklarasi untuk
kipas nyala.
{
110
digitalWrite(8, 1 ); //pin10 arduino bernilai 1 maka tegangan akan
bernilai (HIGH)
lcd.backlight(); // pencahayaan pada lcd
lcd.setCursor(0,0); //menetapkan kursor pada lcd
lcd.print("KIPAS NYALA"); //untuk menampilkan teks pada lcd
}
if (data == 'C') //untuk membandingkan variable dengan
beberapa konstanta dan variable C deklarasi untuk
tv nyala.
{
digitalWrite(11, 1 ); //pin 11 bernilai 1 maka tegangan akan (HIGH)
lcd.backlight(); //untuk pencahayaan pada lcd
lcd.setCursor(0,0); //untuk menentukan kursor pada lcd
lcd.print("TV NYALA "); //untuk menampilkan teks pada lcd
}
if (data == 'D') // untuk membandingkan variable dengan
beberapa konstanta dan variable D deklarasi untuk
lampu taman nyala.
111
{
digitalWrite(12, 1 ); //pin 12 bernilai 1 maka tegangan akan (HIGH)
lcd.backlight(); //untuk pencahayaan pada lcd
lcd.setCursor(0,0); //untuk menentukan kursor pada lcd
lcd.print("LAMPU TAMAN NYALA"); //untuk menampilkan teks pada lcd
}
if (data == '1') // untuk membandingkan variable dengan
beberapa konstanta dan variable 1 deklarasi untuk
gerbang terbuka
{
digitalWrite(9, 0); //pin 9 bernilai 0 maka tegangan akan (LOW)
lcd.backlight(); //untuk pencahayaan pada lcd
lcd.setCursor(0,0); //untuk menentukan kursor pada lcd
lcd.print("GERBANG TERBUKA"); //untuk menampilkan teks pada lcd
servoku.write(130); //servo akan membaca 130 derajad
delay(500); //delay untuk servo
}
if (data == 'E')
{
digitalWrite(10, 0 );
112
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("LAMPU MATI ");
}
if (data == 'F')
{
digitalWrite(8, 0 );
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("KIPAS MATI ");
}
if (data == 'G')
{
digitalWrite(11, 0 );
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("TV MATI ");
}
if (data == 'H') // untuk membandingkan variable dengan
113
beberapa konstanta dan variable H deklarasi untuk
lampu taman mati.
{
digitalWrite(12, 0 );
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("LAMPU TAMAN MATI");
}
if (data == '2') //untuk membandingkan variable dengan
beberapa konstanta dan variable 2 deklarasi untuk
gerbang tertutup
{
digitalWrite(9, 1); //pin 9 pada Arduino akan bernilai 1 maka
tegangan akan (HIGH)
lcd.backlight(); //untuk pencahayaan pada lcd
lcd.setCursor(0,0); //untuk mengatur kursor pada lcd
lcd.print("GERBANG TERTUTUP"); //untuk menampilkan teks pada lcd
servoku.write(180); //servo akan membaca 180 derajad
}
if (data == '3') //untuk membandingkan variable dengan
114
beberapa konstanta dan variable 3 deklarasi untuk
menonaktifkan semua perangkat
{
digitalWrite(8, 0);
digitalWrite(10, 0);
digitalWrite(11, 0);
digitalWrite(12, 0);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("TUGAS AKHIR ");
lcd.setCursor(0,1);
lcd.print("CUCAK ROWO CORP ");
}
}
B.2. Listing Program MIT APP Inventor 2 ( Aplikasi Android)
115
116
117
C.1. Skema Rangkaian Keseluruhan
118
D.1. Daftar Komponen dan Daftar Harga
No Nama Komponen Harga (Rp.)
1. (1pcs) Arduino Uno Rp. 95.000,-
2. (1pcs) Bluetooth HC-05 Rp. 55.000,-
3. (5pcs) Lampu LED Rp. 2.500,-
4. (1pcs) Motor Servo Rp. 28.000,-
5. (1pcs) LCD 16x2 Rp. 30.000,-
6. (1pcs) Modul I2C Rp. 25.000,-
7. (30pcs) Kabel Male – Female Rp. 30.000,-
8. (4pcs) Resistor 330 Rp. 2.000,-
9. (1pcs) PCB 10x20cm Rp. 7.000,-
10. (7pcs) Kabel Jumper Rp. 14.000,-
Total Harga Rp. 288,500,-
E.1. PCB Layout
119
F.1. Foto Alat
Smart Home ( Rumah Pintar )
120
121
G.1. Foto Aplikasi
Aplikasi Smart Home