Anda di halaman 1dari 33

HALAMAN PENGESAHAN

JUDUL INOVASI : SEKTOR (Sensor Pendeteksi Kemiringan Tower)

TEMPAT OJT : Unit Induk Pembangunan Interkoneksi Sumatera


Jawa

Tim Penyusun : 1. AZIZZAH RACHMAWATI (1603/SUB/1/D3/34097)

2. RIPO SURYA BAKTI (1603/PDG/1/D3/35222)

3. YODIN JUHARI (1603/SUB/1/D3/33946)

Laporan inovasi ini disusun guna memenuhi tugas Science Technology Olympiad
(STO) pada On Job Training PT. PLN (Persero) Angkatan 53 di
Unit Induk Pembangunan Interkoneksi Sumatera Jawa

Jakarta, Oktober 2016

Mengetahui,

Mentor Co-Mentor
Deputy Manager Assisten Engineering
Unit Induk Pembangunan ISJ Unit Induk Pembangunan ISJ

Ivan Prasetyo Darmawan R. Kurniawan Indra L


NIP. 7906486Z NIP. 8611263ZY

i
KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa yang telah melimpahkan
rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan laporan Science
Technology Olympiad (STO) dengan judul Sensor Pendeteksi Kemiringan Tower
(SEKTOR) sebagai evaluasi akhir dalam program On the Job Training (OJT)
berbasis project dan risiko untuk Diklat Prajabatan S1/D3 PT. PLN (Persero)
Angkatan 53 di UIP Interoneksi Sumatera Jawa. Ucapan terimakasih penulis
sampaikan kepada :

1. Bapak Ivan Prasetyo Darmawan sebagai mentor 1 dan Deputy Manager


Perencanaan Umum dan Lingkungan Hidup yang telah memberikan bimbingan
dalam mengerjakan PA.
2. Bapak R. Kurniawan Indra L sebagai mentor 2 yang telah memberikan
bimbingan dalam mengerjakan PA.
3. Bapak Tito Nurwahyu M N yang telah membantu, membimbing dan
memberikan arahan dalam pembuatan STO.
4. Seluruh staff yang berada di UIP ISJ yang telah banyak memberikan ilmu dan
pengalaman yang sangat berguna dalam menunjang pengerjaan STO.
5. Teman-teman Prajabatan angkatan 53.
6. Semua pihak yang sudah membantu yang tidak dapat penulis sebutkan satu
per satu.

Penulis menyadari bahwa STO ini masih banyak kekurangan, sehingga


penulis mengharapkan adanya kritik maupun saran dari para pembaca. Semoga
STO ini dapat bermanfaat dalam proses pembelajaran bagi kita semua.

Jakarta, 14 Oktober 2016

Penulis

ii
ABSTRAK

Tower roboh merupakan salah satu kendala yang terdapat dalam tower
Saluran Udara Tegangan Tinggi (SUTT) maupun Saluran Udara Tegangan Ekstra
Tinggi (SUTET). Tower roboh dapat menyebabkan kerugian berupa gangguan
sistem transmisi, korban jiwa maupun finansial. Kerugian akibat tower roboh
dapat dikurangi dengan mengetahui kondisi tower yang berpotensi akan roboh.
Untuk mengetahui kondisi tower tersebut, Science Technology Olympiad (STO)
ini akan membuat alat untuk mendeteksi tingkat kemiringan tower yang mampu
memberikan informasi mengenai status keadaan tower yang kemudian
dinamakan dengan SEKTOR. Pembuatan alat ini bertujuan untuk mengetahui
tingkat kemiringan tower secara realtime, dan membuat alat dengan sistem
smart sensor wireless. Hasil pembutan SEKTOR ini adalah alat yang ampu
bekerja untuk mengetahui tingkat kemiringan tower.

Kata Kunci : Tower Roboh, Pengukur, SEKTOR, STO

iii
DAFTAR ISI

HALAMAN PENGESAHAN ................................................................................. i


KATA PENGANTAR ......................................................................................... ii
ABSTRAK ..................................................................................................... iii
DAFTAR ISI .................................................................................................. iv
DAFTAR GAMBAR ......................................................................................... vi
DAFTAR TABEL ............................................................................................ vii
BAB I PENDAHULUAN ....................................................................................1
1.1 Latar Belakang ......................................................................................1
1.2 Maksud & Tujuan ..................................................................................1
1.3 Ruang Lingkup ......................................................................................2
1.4 Metodologi............................................................................................2
BAB II LANDASAN TEORI ...............................................................................3
2.1 Perangkat yang digunakan .................................................................... 3
2.1.1 Mikrokontroler (Arduino Uno) ........................................................ 3
2.1.2 MPU-6050 ................................................................................... 3
2.1.3 Transmiter Data (Simcom SIM900) ................................................ 4
2.1.4 Panel Surya ................................................................................. 4
2.2 Perangkat yang digunakan .................................................................... 3
2.2.1 Inclinometer ................................................................................ 6
2.2.2 Metode Survey ............................................................................ 6
BAB III PEMBAHASAN ....................................................................................7
3.1 Alat dan Bahan Pembuatan SEKTOR .....................................................7
3.2 Penjelasan SEKTOR .............................................................................7
3.3 Metode dan Prosedur Pembuatan SEKTOR ............................................8
3.3.1 Integrasi Modul ........................................................................... 8
3.3.2 Pemrograman .............................................................................. 9
3.3.3 Konstruksi Casing ........................................................................ 9
3.3.4 Pengujian Alat ............................................................................. 9
3.4 Cara Kerja SEKTOR ........................................................................... 10
BAB IV MANFAAT INOVASI DAN ANALISA RISIKO .......................................... 12
4.1 Manfaat Inovasi ................................................................................ 12
4.2 Analisa Risiko .................................................................................... 13

iv
BAB V PENUTUP .......................................................................................... 15
5.1Kesimpulan........................................................................................... 15
5.2 Saran ............................................................................................... 15
DAFTAR PUSTAKA ....................................................................................... 16
LAMPIRAN .................................................................................................. 17

v
DAFTAR GAMBAR

Gambar 1.1 Flowchart Metodologi Penelitian ................................................... 2


Gambar 2.1 Arduino Uno ............................................................................... 3
Gambar 2.2 MPU-6050 .................................................................................. 3
Gambar 2.3 Transmiter Data (Simcom SIM900)............................................... 4
Gambar 2.4 Panel Surya ................................................................................ 4
Gambar 2.5 Solar Charge Controller ............................................................... 4
Gambar 2.6 Perangkat Arduino IDE ................................................................ 5
Gambar 3.1 SEKTOR ..................................................................................... 8
Gambar 3.2 Flowchart cara kerja SEKTOR...................................................... 10

vi
DAFTAR TABEL

Tabel 4.1 Perangkat yang digunakan dan biayanya .......................................... 7


Tabel 4.1 Perangkat yang digunakan dan biayanya ......................................... 12
Tabel 4.2 Alat pembanding SEKTOR .............................................................. 13

vii
BAB I
PENDAHULUAN

1.1 Latar Belakang


Tower adalah konstruksi bangunan yang kokoh untuk menyanggah/
merentang kawat penghantar dengan ketinggian dan jarak yang aman bagi
manusia dan lingkungan sekitarnya dengan sekat insulator. Tower merupakan
komponen utama dari fungsi structure pada sistem transmisi sehingga robohnya
tower sangat mempengaruhi sistem transmisi yang ada. Pada masa konstruksi,
robohnya tower akan menghambat penyelesaian proyek dan meningkatkan
esistansi masyarakat terhadap keberadaaan jalur transmisi. Selanjutnya pada
masa operasi, robohnya tower dapat menghentikan penyaluran listrik,
menyebabkan kerugian financial bahkan dapat menimbulkan korban jiwa. Resiko
tersebut dapat dikurangi jika pergerakan tower diketahui lebih dini sehingga
dapat dilakukan tahapan mitigasi untuk tower yang memiliki potensi roboh.
Mitigasi tersebut dapat berupa pemantauan/pemeiksaan langsung teradap
kondisi tower sebagai bahan evaluasi untuk menentukan tindakan lebih lanjut.

Menyadari pentingnya data pergerakan tower tersebut, Science Technology


Olympiad (STO) ini akan membuat alat untuk mendeteksi tingkat kemiringan
tower yang mampu memberikan informasi mengenai status keadaan tower yang
kemudian dinamakan dengan SEKTOR (Sensor Pendeteksi Kemiringan Tower).
SEKTOR merupakan alat berbasis mikrokontroler dengan sistem wireless report
yang dapat memberikan informasi pergerakan tower secara realtime sehingga
memudahkan pemantauan tower dan mempercepat proses penanganan tower
yang beresiko roboh.

1.2 Maksud & Tujuan


Maksud penulis melakukan penelitian ini yaitu membuat alat yang dapat
memberikan early warning system kemiringan tower kepada PLN agar kondisi
tower terdeteksi secara dini, dan pada akhirnya mencegah korban jiwa dan
kerugian finansial.

1
Tujuan dari penelitian ini adalah :
1. Membuat alat yang dapat memberikan early warning system kondisi
tower.
2. Mengetahui pergerakan dan tingkat kemiringan tower secara periodik.
3. Membuat alat dengan sistem wireless report.

1.3 Ruang Lingkup


Ruang lingkup dari penelitian ini adalah sebagai berikut :
1. Parameter deteksi kemiringan tower yang digunakan adalah
perpindahan pergerakan tower.
2. Alat ini mencatat parameter perpindahan sudut dan jarak pergerakan
tower.
3. Alat ini digunakan untuk area yang kondisi tanahnya labil.

1.4 Metodologi
Untuk mencapai tujuan dari penelitan ini, penulis menerapkan metode
sebagai berikut :
Mulai

Konsep Desain Alat

Integrasi Modul

Pemrograman

Konstruksi

Casing

Pengujian
Alat

Selesai

Gambar 1.1 Flowchart Metodologi Penelitian

2
BAB II

LANDASAN TEORI

2.1 Perangkat yang Digunakan


Komponen utama dari SEKTOR adalah Arduino Uno, MPU-6050, Simcom
SIM900 dan ultrasonic US-100. Komponen yang lain, seperti baterai, simcard,
kabel, memori merupakan komponen pendukung.

2.1.1 Mikrokontroler (Arduino Uno)


Mikrokontroler merupakan komputer kecil pada suatu integrated
circuit yang memuat inti prosesor, memori, dan juga input/output
peripherals dan juga berfungsi untuk mengaktifkan dan menghubungkan
seluruh komponen yang terpasang padanya. Arduino Uno merupakan
mikrokontroler yang bersifat open-source, yang dapat digunakan untuk
beragam aplikasi. Arduino Uno berfungsi sebagai sumber seluruh
pemograman software pada sensor.

Gambar 2.1 Arduino Uno

2.1.2 MPU-6050
MPU-6050 adalah chip IC invense yang di dalamnya terdapat sensor
accelerometer dan gyroscop yang sudah terintegrasi. Alat ini dapat
mengukur kecepatan, perpindahan sudut dan tempat.

Gambar 2.2 MPU-6050

3
2.1.3 Transmiter Data (Simcom SIM900)
Simcom SIM900 merupakan pengolah sinyal atrau transmitter yang
dapat digunakan sebagai pengirim data yang diolah oleh mikrokontroler
kepada nomor SIM yang penerima. Dngan adanya Simcom SIM900, sensor
dapat berfungsi sebagai Automatic Data Acquisition System yang mengirim
data secara berkelanjutan dan wireless.

Gambar 2.3 Transmiter Data (Simcom SIM900)

2.1.4 Panel Surya


Panel Surya adalah perangkat rakitan sel-sel fotovoltaik yang
mengkonversi sinar matahari menjadi listrik. Parameter paling penting
dalam kinerja sebuah panel surya adalah intensitas radiasi matahari atau
biasa disebut dengan inradiansi cahaya matahari, yaitu jumlah daya
matahari yang datang kepada permukaan per luas area.

Gambar 2.5 Panel Surya

4
2.1.5 Solar Charge Controller
Solar Charge Controller adalah peralatan elektronik yang digunakan
untuk mengatur arus searah yang diisi ke baterai dan diambil dari baterai
ke beban. Solar Charge Controller mengatur overcharging dan kelebihan
voltase dari panel surya. Jadi tanpa komponen ini, baterai akan rusak oleh
overcharging dan ketidakstabilan tegangan.

Gambar 2.6 Solar Charge Controller

2.1.6 Perangkat Lunak (Arduino IDE)


IDE Arduino memudahkan untuk menulis kode dan meng-upload ke
board arduino. IDE dapat berjalan pada windows, Mac OS X, dan Linux,
IDE dibuat menggunakan java, tetapi pemakaian IDE menggunakan
bahasa pemrograman C, SEKTOR menggunakan bahasa C untuk
pemograman arduino.

Gambar 2.7 Perangkat Arduino IDE

5
2.2 Pembanding SEKTOR
2.2.1 Inclinometer
Inclinometer berupa tabung panjang berisi sensor acceloremeter dan
gyroscope yang ditanam kepada lereng untuk mengukur pergerakan lateral
dan menentukan lokasi slip surface. Instalasi inclinometer pada lereng
menggunakan beberapa metode seperti borehole, grouting, backfilling.
Inclinometer menggunakan sistem akuisisi data otomatis dimana
pengukuran dilapangan akan menyusun grafik pergerakan lereng terhadap
ketinggian. Namun dengan intrikasi sensor dan metode instalasi yang
digunakan pada inclinometer, biayanya menjadi sangat tinggi.

2.2.2 Metode Survey


Metode surveying digunakan untuk memantau nilai pergerakan
vertikal dan horizontal dari permukaan tanah lereng. Pada umumnya,
ketika instrumentasi geoteknik dilakukan untuk memantau deformasi,
metode survey yang dilakukan dibandingkan dengan metode lain. Terdapat
banyak jenis instrumen yang dapat digunakan untuk metode surveying
seperti Level, Theodolit dan Electronic Distance Measurement (EDM). Alat-
alat ini sudah banyak digunakan dalam dekade terakhir, sehingga memiliki
tingkat akurasi yang sangat tinggi dalam pengukuran. Namun karena alat
ini perlu dioperasikan oleh surveyor, tingkat akurasi tersebut terpengaruh
oleh keterampilan surveyor yang menggunakan alat. Terlebih lagi, metode
survey tidak memiliki akuisis data otomatis yang secara berkelanjutan,
tidak seperti Inclinomeeter dan Piezometer.

6
BAB III

PEMBAHASAN

3.1 Alat dan Bahan Pembuatan


Mikrokontroler Arduino Uno
IMU (gyroscope & accelerometer)
Simcom SIM900
Simcard
RTC
Solar Cell
Solar Charge Controller
Baterai kering
Kabel Penghubung
Solder
Casing Acrilyc.

3.2 Penjelasan SEKTOR


Sektor adalah alat yang dapat mendeteksi pergerakan kemiringan
tower. Pergerakan kemiringan tower yang dapat dideteksi dengan alat ini
yaitu perpindahan sudut. Tingkat keakuratan pergerakan sudut yang dapat
dideteksi oleh alat hingga 1 mm. Sektor akan dipasang pada tower
transmisi yang dikhawatirkan roboh. SEKTOR mengkategorikan pergerakan
kemiringan berdasarkan 3 kategori yaitu aman, siaga, dan bahaya. Hal ini
dapat di lihat pada tabel berikut ini :

Tabel 3.1 Kategori Kemiringan Tower

Kategori Kemiringan Tower


Status Perpindahan
Aman -
Siaga Apabila pergerakan tower
melebihi sudut normal 30 derajat
Bahaya Apabila pergerakan tower
melebihi sudut maksimum yang
berpotensi tower roboh

7
SEKTOR akan memberitahu pergerakan kemiringan tower kepada user
dengan SMS melalui modul GSM yang terpasang pada alat. Kategori pergerakan
kemiringan tower bisa saja berbeda setiap tower tergantung pada perhitungan
engineer. Info pergerakan kemiringan tower akan diberitahukan secara berkala
sebulan sekali selagi masih dalam batas aman. Namun apabila pergerakan
kemiringan tower telah mencapai batas siaga maka sensor akan memberikan
early warning kepada user melalui sms. Apabila kondisi kemiringan tower telah
mencapai batas bahaya maka SEKTOR akan memberikan early warning kepada
user melalui sms sehingga dapat segera dilakukan pengecekan dan tindakan
preventif jika memungkinkan.

Gambar 3.1 Sperkto

3.3 Metode dan Prosedur Pembuatan SEKTOR


3.3.1 Integrasi Modul
Tahap pertama yang dilakukan adalah melakukan pengecekan
keberjalanan tiap modul setelahnya dilaukan penyambungan antar model
kepada Arduino. Penyambungan dilakukan menggunakan kabel dan pin.
Penyambungan dilakukan sesuai standar wiring Arduino Uno, dan dilakukan
untuk fungsi Power dan Data. Tahap terakhir adalah untuk
menyambungkan baterai kepada Arduino Uno menggunakan kabel power.

8
3.3.2 Pemrograman
Setelah sensor dapat beroperasi, dilakukan pemrograman pada
software Arduino Uno agar masing-masing komponen dapat berfungsi
sesuai dengan desai sensor yang sudah ditetapkan.

3.3.3 Konstruksi Casing


Konstruksi casing harus dapat melindungi sensor dari gangguan eksternal,
sekaligus dapat mendukung fungsi sensor untuk mengukur pergerakan
kemiringan tower. Oleh karena itu, struktur casing utama merupakan akrilik
yang dipasang pada tower. Sebagai tahap persiapan, seluruh komponen
sensor yang sudah terintegrasi ditempatkan secara permanen
menggunakan baut dan mur.

3.3.4 Pengujian Alat


Dari hasil pengujian alat yang telah dilakukan, didapatkan bahwa alat
mampu untuk mendeteksi sudut kemiringan sesuai dengan kondisi
gangguan. Alat mampu melaporkan kondisi pergerakan tanah secara
periodik dalam waktu satu bulan. Selain itu, alat juga dapat mendeteksi
kondisi Siaga dan Bahaya kemudian memberikan informasi ke user dengan
mengirimkan SMS.

9
3.4 Cara Kerja SEKTOR

Gambar 3.2 Flowchart cara kerja SEKTOR

10
Cara kerja SEKTOR akan dijelaskan sebagai berikut:

1. Tahap awal merupakan tahapan persiapan alat untuk dioperasikan,


kemudian alat dinyalakan.
2. Perhitungan waktu mulai dihitung pada saat alat pertama kali
dinyalakan. Perhitungan waktu telah dilakukan hingga alat berhenti
dioperasikan.
3. Agar MUI atau sensor pembaca sudut dapat stabil dan digunakan
dengan baik, dibutuhkan waktu 30 detik.
4. Kemudian IMU akan membaca nilai sudut kemiringan dari alat secara
terus menerus.
5. Alat akan merekam nilai tertinggi yang dihasilkan oleh IMU.
6. SEKTOR akan melakukan pembacaan terhadap perubahan sudut
kemiringan tower. Apabila telah masuk ke waktu periodik atau telah
sebulan, alat akan mengirimkan SMS ke user yang berisi data sudut
terbesar yang tercatat. Apabila belum masuk ke waktu periodik, alat
akan membaca apakah masuk ke kondisi Siaga atau tidak.
7. Dari pembacaan terhadap perubahan sudut kemiringan tower, apabila
kemiringan tower masuk ke kondisi siaga, yaitu melebihi sudut
maksimum (data engineer), maka SEKTOR akan mengirim sms siaga ke
user.
8. Pembacaan terhadap perubahan sudut keiringan tower kembali
dilakukan oleh alat. Apablia kemiringan tower sudah mencapai keadaan
bahaya, maka alat SEKTOR akan mengirim sms bahaya ke user.

11
BAB IV

MANFAAT INOVASI DAN ANALISA RISIKO

4.1 Manfaat Inovasi


1. Dapat mengidentifikasi adanya pergerakan kemiringan tower yang
berpotensi menyebabkan tower roboh.
2. Dapat memberikan peringatan dini kepada PLN melalui sms apabila
terjadi pergerakan kemiringan tower, yang selanjutnya dilakukan action
plan sesuai dengan seberapa besar pergerakan kemiringan tower.
3. Mengetahui data pergerakan kemiringan tower secara realtime.
4. Dapat meminimalisir terjadinya pemadaman pada sistem Saluran udara
tegangan tinggi dan ekstra tinggi.
5. Harga penjualan persensor yang sangat murah bila dibandingkan
dengan alat pendeteksi longsor yang sudah ada sehingga alat
pendeteksi longsor ini sangat ekonomis. Murah merupakan aspek yang
sangat penting mengingat banyak daerah yang tidak mampu untuk
membeli alat-alat pendeteksi longsor seperti inclinometer dan
piezometer. Berikut ini merupakan biaya produksi SEKTOR :

Tabel 4.1 Perangkat yang digunakan dan biayanya

BIAYA PEMBUATAN SEKTOR


No Komponen Harga
1 Panel Surya 3 Watt Rp 68.000,00
2 Solar Charge Controller Rp 200.000,00
3 Battery BSB Rp 150.000,00
4 Arduino Uno Rp 125.000,00
5 Modul GSM Rp 635.000,00
6 MPU 6050 Rp 70.000,00
7 Akrilik Rp 130.000,00
8 Kabel & Accesoris Rp 10.000,00
Total Rp 1.388.000,00

12
6. SEKTOR merupakan alat pendeteksi pergerakan kemiringan tower yang
jauh lebih mudah di pasang dibandingkan dengan alat-alat lainnya. Hal
ini disebabkan SEKTOR cukup dengan hanya mengukur pergerakan
kemiringan tower.
7. Sifat SEKTOR sebagai wireless report dimana pengolahan data dilakukan
secara otomatis, dan pengiriman data dilakukan secara praktis tanpa
kabel.

Berikut merupakan perbandingan SEKTOR dengan alat yang sudah ada


bisa dilihat pada tabel :

Tabel 4.2 Alat pembanding SEKTOR

No Alat Deteksi Spesifikasi Harga


1 Total Station SOKKIA CX-103 Rp 113.300.000,00
2 Theodolit TOPCON DT-205L Rp 45.000.000,00
3 Extensometer - Rp 10.000.000,00
4 Inclinometer - Rp 3.490.000,00
5 SEKTOR - Rp 1.388.000,00

4.2 Analisa Risiko


Dari SEKTOR yang telah dibuat, terdapat beberapa risiko yang akan
terus ditindaklanjuti. Risiko-risiko tersebut adalah seperti berikut:

1. Alat SEKTOR tidak dapat bekerja, penyebabnya antara lain :


Panel surya yang merupakan sumber daya tidak berfungsi/ rusak.
Komponen elektronik rusak.
2. Informasi dari peralatan tidak ditindaklanjuti.
3. Alat SEKTOR dicuri oleh masyarakat karena lokasi pemasangan Sektor
yang mudah dijangkau oleh masyarakat sekitar.

13
Berikut merupakan tindakan yang dapat dilakukan untuk
menanggulangi risiko tersebut :

1. Dilakukan pengecekan secara berkala menggunakan sistem


pengontrolan jarak jauh.
2. Pemberian perlindungan pada komponen elektronik dari air hujan dan
petir.
3. Penunjukan PIC sebagai penanggung jawab informasi dari SEKTOR.
4. Alat SEKTOR dipasang di tempat yang sulit dijangkau oleh masyarakat.

14
BAB V

PENUTUP

5.1 Kesimpulan
Dari SEKTOR yang telah dibuat, dapat disimpulkan bahwa:

1. SEKTOR dapat memdeteksi pergerakan kemiringan tower berdasarkan


pergerakan dan tingkat kemiringan tower
2. SEKTOR dapat memberikan informasi secara insidental jika pergerakan
kemiringan tower memasuki kategori siaga, bahaya dan periodik.
3. SEKTOR dapat mengirimkan sistem wireless report kepada user /
engineer berupa SMS.
4. Dengan pengaplikasian alat SEKTOR, risiko dan dampak yang muncul
akibat robohnya tower dapat dikurangi.

5.2 Saran
Dari SEKTOR, diperlukan pengembangan kembali berupa :

1. Diperlukan sms server untuk menyimpan laporan pergerakan kemiringan


tower dari SEKTOR
2. Untuk menambah parameter analis data dapat ditambahkan fitur lain
seperti kelembaban dan sensor kecepatan angin.

15
DAFTAR PUSTAKA

[1] P.P.(.P.), Buku Pedoman Pemeliharaan SUTT/SUTET, Jakarta, 2010.

[2] Macam macam Arduino, 27 September 2014. [Online]. Available:


http://tentang arduino.blogspot.co.id/2014/09/macam-macam-arduino-
iniakan-saya.html. [Diakses 19 Oktober 2106].

[3] M. A. Prasetyo, Mengontrol Arah Putaran Motor DC dengan


Accelerometer, 15 Maret 2016. [Online]. Available :
http://www.boarduinoweb.id/2016/03/mengontrol-arah-putaran-motor-dc-
dengan.html[Diakses 19 Oktober 2016].

[4] Pengertian Panel Surya, [Online]. Available :


http://www.indoenergi.com/2012/04/pengertian-panel-surya.html.
[Diakses 19 Oktober 2016]

[5] Solar Charge Controller Solar Controller, [Online]. Available:


http://www.panel-surya.com/index.php./id/solar-controller/12-solar-
charge-controller-solar-controller. [Diakses 19 Oktober 2016]

16
LAMPIRAN

1. Lampiran 1 : Pemrograman
////////////////////////////////////////////////////////////GS
M////////////////////////////////////////////////////////////

#include <SoftwareSerial.h>
SoftwareSerial mySerial(6, 7);

////////////////////////////////////////////////////////////
Ultrasonic////////////////////////////////////////////////////////
////

//const int trigger=6;


//const int echo=7;

//////////////////////////////////////////////////////////
Time and Date counting

int secs =0;


int mins = 0;
int hrs = 0;
int days = 0;
int milliDivSecs = 1000; //actually 1000
int timecount = 0;
unsigned long currmillis;

////////////////////////////////////////////////////////star
ting interval
// timer untuk dapetin nilai yaw yang stabil
unsigned long timer; // the timer
boolean timedOut = false; // set to true when timer fired
unsigned long start_interval = 30000; // tunggu 30 detik

////////////////////////////////////////////////////////////
IMU////////////////////////////////////////////////////////////

#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
// Arduino Wire library is required if I2Cdev
I2CDEV_ARDUINO_WIRE implementation is used in I2Cdev.h
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include "Wire.h"
#endif

MPU6050 mpu;

// MPU control/status vars


bool dmpReady = false; // set true if DMP init was
successful
uint8_t mpuIntStatus; // holds actual interrupt status
byte from MPU
uint8_t devStatus; // return status after each device
operation (0 = success, !0 = error)
uint16_t packetSize; // expected DMP packet size (default
is 42 bytes)

17
uint16_t fifoCount; // count of all bytes currently in
FIFO
uint8_t fifoBuffer[64]; // FIFO storage buffer

// orientation/motion vars
Quaternion q; // [w, x, y, z] quaternion
container
VectorInt16 aa; // [x, y, z] accel sensor
measurements
VectorInt16 aaReal; // [x, y, z] gravity-free
accel sensor measurements
VectorInt16 aaWorld; // [x, y, z] world-frame
accel sensor measurements
VectorFloat gravity; // [x, y, z] gravity
vector
float euler[3]; // [psi, theta, phi] Euler angle
container
float ypr[3]; // [yaw, pitch, roll]
yaw/pitch/roll container and gravity vector

// packet structure for InvenSense teapot demo


uint8_t teapotPacket[14] = { '$', 0x02, 0,0, 0,0, 0,0, 0,0,
0x00, 0x00, '\r', '\n' };

volatile bool mpuInterrupt = false; // indicates whether


MPU interrupt pin has gone high
void dmpDataReady() {
mpuInterrupt = true;
}

void setupIMU(){
// join I2C bus (I2Cdev library doesn't do this
automatically)
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
Wire.begin();
TWBR = 24; // 400kHz I2C clock (200kHz if CPU is
8MHz)
#elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
Fastwire::setup(400, true);
#endif

mpu.initialize();

// load and configure the DMP


devStatus = mpu.dmpInitialize();

// supply your own gyro offsets here, scaled for min


sensitivity
mpu.setXGyroOffset(220);
mpu.setYGyroOffset(76);
mpu.setZGyroOffset(-70);//-85
mpu.setZAccelOffset(1485); // 1688 factory default for
my test chip

// make sure it worked (returns 0 if so)


if (devStatus == 0) {
// turn on the DMP, now that it's ready
mpu.setDMPEnabled(true);

18
mpuIntStatus = mpu.getIntStatus();
dmpReady = true;
// get expected DMP packet size for later comparison
packetSize = mpu.dmpGetFIFOPacketSize();
} else {

Serial.print(F("DMP Initialization failed (code "));


Serial.print(devStatus);
Serial.println(F(")"));
}
}

#define phi 3.141592654


float
temp_read,distance_alert_val,yaw_alert_val,pitch_alert_val,roll_al
ert_val,Temp_shut_val;

int
sms_count_bahaya=0,Fire_Set,sms_count_siaga=0,sms_count_period=0;

float setdistance;
float setyaw = 0;
float setpitch = 0;
float setroll = 0;
float deldistance;
float delyaw;
float delpitch;
float delroll;
float sumdistance;

float distance, velo;


float yaw, pitch, roll;

float oldd = 0;
float newd = 0;
long prevmillis = 0;
long interval = 1000;

int count = 0;
int count2 = 0;
int count3 = 0;
int MAX_COUNT = 24;

void setup()
{

mySerial.begin(9600);
Serial.begin(115200);
setupIMU();
delay(500);
} // end of our setup program

void loop()
{
//unsigned long currmillis = millis();
//get new seconds from system time

19
timer = millis();
timecounting(); //incrementing time
wait(); //waiting to stabilize IMU
//runUS(); //get ultrasonic data
runIMU(); //get IMU data
if (secs == 59) {
timecount = timecount + 1;
Serial.println(timecount);
}
//sumdistance = deldistance - 140*sin(delroll); // pitch
isPeriod(); //check for periodically report
if (delroll> abs(60)) {
SetBahaya();
//Serial.println("set bahaya");
}
else if((delroll >= abs(30)) && (delroll <= abs(60))) {
SetSiaga();
//Serial.println("set siaga");
}
else if(delpitch> abs(60)) {
SetBahaya();
//Serial.println("set bahaya");
}
else if((delpitch >= abs(30)) && (delpitch <= abs(60))) {
SetSiaga();
//Serial.println("set siaga");
}

} /// end of our loop program

void timecounting() {
secs = (millis()/milliDivSecs)%60;
// divide by 1000 and mod by 60 gives seconds from
milliseconds
// to incrementing minute because second > 59
if(secs == 0){
mins = mins+1;
//timecount = timecount +1;
updateMin();
}
}

void wait(){ //waiting to stabilize our IMU


if (!timedOut){
//mulai timer
timer = millis();
while((!timedOut) && ((millis() - timer) <
start_interval)){
timecounting();
//runUS();
runIMU();
//setdistance = distance;
setyaw = yaw;
setpitch = pitch;
setroll = roll;
Serial.println("stabilization phase");
delay(250);
}
// timed out

20
timedOut = true; // don't do this again
}
}

void runIMU(){
// reset so we can continue cleanly
mpu.resetFIFO();

// get current FIFO count


fifoCount = mpu.getFIFOCount();

// wait for correct available data length, should be a


VERY short wait
while (fifoCount < packetSize) fifoCount =
mpu.getFIFOCount();

// read a packet from FIFO


mpu.getFIFOBytes(fifoBuffer, packetSize);

fifoCount -= packetSize;

mpu.dmpGetQuaternion(&q, fifoBuffer);
mpu.dmpGetGravity(&gravity, &q);
mpu.dmpGetYawPitchRoll(ypr, &q, &gravity);
mpu.dmpGetAccel(&aa, fifoBuffer);
mpu.dmpGetLinearAccel(&aaReal, &aa, &gravity);

yaw = ypr[0]*360/phi;
pitch = ypr[2]*360/phi;
roll = ypr[1]*360/phi;
delyaw = abs(yaw-setyaw);
delpitch = abs(pitch-setpitch);
delroll = abs(roll-setroll);
deldistance = abs(distance-setdistance);

Serial.print("ypr\t");
Serial.print(yaw);
Serial.print("\t");
Serial.print(roll);
Serial.print("\t");
Serial.print(pitch);
Serial.print("\t");
Serial.println(distance);
Serial.print("setypr\t");
Serial.print(setyaw);
Serial.print("\t");
Serial.print(setroll);
Serial.print("\t");
Serial.print(setpitch);
Serial.print("\t");
Serial.println(setdistance);
Serial.println(secs);
Serial.print("deltaypr\t");
Serial.print(delyaw);
Serial.print("\t");
Serial.print(delroll);
Serial.print("\t");

21
Serial.print(delpitch);
Serial.print("\t");
}

void isPeriod() {

if (timecount == 4) {
SetPeriod ();
timecount = 0;
sms_count_period=0;
}

void SetBahaya()
{
while(sms_count_bahaya<1) //Number of SMS Alerts to be sent
{
SendTextBahaya(); // Function to send AT Commands to GSM
module
}
}

void SetSiaga()
{
while(sms_count_siaga<1) //Number of SMS Alerts to be sent
{
SendTextSiaga(); // Function to send AT Commands to GSM
module
}
}

void SetPeriod()
{
while(sms_count_period<1) //Number of SMS Alerts to be sent
{
SendTextPeriod(); // Function to send AT Commands to GSM
module
}
}

void SendTextPeriod()
{
Serial.println("send sms period");
mySerial.println("AT+CMGF=1"); //To send SMS in Text
Mode
delay(1000);
mySerial.println("AT+CMGS=\"+6282139734677\"\r"); //
change to the phone number you using
delay(1000);
mySerial.print("sms periodik ");//the content of the
message
mySerial.print("sdut1/sdut2 ");//the content of the
message
// mySerial.print(deldistance);//the content of the message
// mySerial.print("/");//the content of the message
mySerial.print(delroll);//the content of the message
mySerial.print("/");//the content of the message

22
mySerial.print(delpitch);//the content of the message
mySerial.print("/");//the content of the message
// mySerial.print(velo);//the content of the message
// mySerial.println(" cm/s");//the content of the message
delay(100);
mySerial.println((char)26);//the stopping character
delay(5000);
sms_count_period++;
}

void SendTextSiaga()
{
Serial.println("send sms siaga");
mySerial.println("AT+CMGF=1"); //To send SMS in Text
Mode
delay(1000);
mySerial.println("AT+CMGS=\"+6282139734677\"\r"); //
change to the phone number you using
delay(1000);//sms saefi +6282139734677
mySerial.println("status siaga ");//the content of the
message
mySerial.print("sdut1/sdut2 ");//the content of the
message
// mySerial.print(deldistance);//the content of the message
// mySerial.print("/");//the content of the message
mySerial.print(delroll);//the content of the message
mySerial.print("/");//the content of the message
mySerial.print(delpitch);//the content of the message
mySerial.print("/");//the content of the message
// mySerial.print(velo);//the content of the message
// mySerial.println(" cm/s");//the content of the message
delay(100);
mySerial.println((char)26);//the stopping character
delay(5000);
sms_count_siaga++;
}

void SendTextBahaya()
{
Serial.println("send sms bahaya");
mySerial.println("AT+CMGF=1"); //To send SMS in Text
Mode
delay(1000);
mySerial.println("AT+CMGS=\"+6282139734677\"\r"); //
change to the phone number you using
delay(1000);
mySerial.println("status bahaya ");//the content of the
message
mySerial.print("sdut1/sdut2 ");//the content of the
message
// mySerial.print(deldistance);//the content of the message
// mySerial.print("/");//the content of the message
mySerial.print(delroll);//the content of the message
mySerial.print("/");//the content of the message
mySerial.print(delpitch);//the content of the message
mySerial.print("/");//the content of the message
// mySerial.print(velo);//the content of the message
// mySerial.println(" cm/s");//the content of the message
delay(100);

23
mySerial.println((char)26);//the stopping character
delay(5000);
sms_count_bahaya++;
}

// for time and date counting


void updateMin(){
if(mins > 59){
hrs = hrs+1;
updateHrs(); //update hours then
mins = 0;
}
}
void updateHrs(){
//24 hours system
if(hrs> 23){
//reset to 0
days = days+1;
updateDays();
hrs = 0;
}
}

void updateDays(){
//display days - needs fixing for 30 or 31 days a
month

if(days> 7){
//reset to 1
days = 1;
}
}

24
2. Lampiran 2 : Dokumentasi

25
26

Anda mungkin juga menyukai