Anda di halaman 1dari 12

Tujuan dari kegiatan ini adalah untuk membuat alat yang dapat menghemat

energi khususnya dalam bidang pencahayaan ruangan (lampu). Manfaat yang


didapat dari kegiatan ini adalah diharapkan output alat ini akan membantu
untuk menekan biaya pengeluaran listrik, memperpanjang usia lampu dan lain-
lain.

1.3. Batasan Masalah


Batasan masalahya adalah sesuatu yang dikontrol adalah lampu yang berada
di lingkungan Balai Besar Logam dan Mesin khususnya di salah satu ruangan
Seksi Perancangan Keteknikan Bidang Penelitian dan Pengembangan BBLM
pada tahun 2019.

1.4. Keluaran yang Diharapkan


Keluaran yang diharapkan adalah sebuah prototip Smart Lighting yang
langsung di implementasikan di Sistem Pencahayaan Seksi Perancangan
Keteknikan Bidang Penelitian dan Pengembangan.

1.5. Perkiraan dan Dampak dari Kegiatan yang Dirancang


Perkiraan dan Dampak dari Kegiatan yang Dirancang adalah mempu
menekan biayan pengeluran khususnya di biaya Listrik BBLM secara
signifikan. Prototip ini dapat pula diproduksi dan diimplementasikan di tempat
yang lain.

2
BAB II
TINJAUAN PUSTAKA
2.1. Smart Lighting
Smart Lighting adalah sistem untuk pengendalian nyala/matinya lampu
secara Otomatis menggunakan alat-alat Otomasi dan berbasis Internet of
Things sehingga dapat dipantau secara realtime juga dapat menyimpan data-
data penting untuk kepentingan evaluasi dalam penghematan energi khususnya
energi listrik.
2.2. Otomasi
Teknik otomasi adalah penggunaan mesin, sistem kontrol, dan teknologi
informasi untuk optimisasi produksi dan pengiriman barang dan jasa. Otomasi
hanya dilakukan jika hasilnya lebih cepat, lebih baik secara kuantitas dan/atau
kualitas dibandingkan dengan penggunaan tenaga kerja manusia. Dalam dunia
industri, otomasi merupakan lanjutan dari mekanisasi, di mana mekanisasi
masih membutuhkan operator manusia selama mesin beroperasi atau
membutuhkan bantuan tenaga otot manusia agar mampu bekerja. Otomasi
mengurangi peran manusia dalam hal tersebut. (Wikipedia, 2019)
2.3. Internet Of Things
Internet untuk Segala-(nya) (bahasa Inggris: Internet of Things, atau dikenal
juga dengan singkatan IoT) merupakan sebuah konsep yang bertujuan untuk
memperluas manfaat dari konektivitas internet yang tersambung secara terus-
menerus. Adapun kemampuan seperti berbagi data, remote control, dan
sebagainya, termasuk juga pada benda di dunia nyata. Contohnya bahan
pangan, elektronik, koleksi, peralatan apa saja, termasuk benda hidup yang
semuanya tersambung ke jaringan lokal dan global melalui sensor yang
tertanam dan selalu aktif. (Wikipedia, 2019)
2.4. Mikrokontroler
Mikrokontroler merupakan suatu kontroler kecil yang berfungsi sebagai
otak suatu sistem. Otak ini biasanya mengendalikan Input Output yang
dipegangnya. Ada banyak sekali jenis Mikrokontroler bergantung dari

3
mereknya. Salah satu jenis mikrokontroler yang terkenal saat ini adalah
Mikrokontroler Arduino.
2.4.1. Arduino Uno
Arduino Uno adalah mikrokontroler keluaran Arduino yang standar.
Bagi pemula yang baru belajar Mikrokontroler biasanya akan
menggunakan Arduino Uno. Mikrokontroler ini menggunakan Chip
ATMega 328 buatan Atmel. Memiliki beberapa Digital Input Output,
Analog Input, sistem komunikasi seperti I2, UART, SPI, dll.
2.4.2. Arduino Nano
Arduino Nano sama dengan Arduino Uno namun ukuran lebih kecil
dan mengalami simplifikasi. Chip yang digunakan sama, sehingga
fungsinya pun sama. Yang berbeda dengan Arduino Uno selain tata
letaknya juga jeck konktor USB-nya.
2.4.3. Arduino Pro Mini
Arduino Pro Mini dirancang untuk hemat energi. Aplikasinya sering
digunakan untuk daerah remote area yang tidak ada listrik sehingga
menggunakan baterai. Di Arduino ini tidak terdapat ISP (sistem untuk
mengupload program ke Arduino) sehingga perlu digunakan ISP
ecternal untuk melakukannya seperti FTDI.
2.4.4. NodeMCU
NodeMCU adalah sebuah platform IoT yang bersifat opensource.
Terdiri dari perangkat keras berupa System On Chip ESP8266 dari
ESP8266 buatan Espressif System, juga firmware yang digunakan,
yang menggunakan bahasa pemrograman scripting Lua. Istilah
NodeMCU secara default sebenarnya mengacu pada firmware yang
digunakan daripada perangkat keras development kit. NodeMCU bisa
dianalogikan sebagai board arduino-nya ESP8266. (Rumah Embedded,
2017)
Yang penulis suka dari NodeMCU ini adalah kemampuannya yang
bisa mengakses internet, sehingga cocok digunakan untuk aplikasi IOT.
2.4.5. Raspberry Pi

4
Raspberry Pi, sering disingkat dengan nama Raspi, adalah komputer
papan tunggal (single-board circuit; SBC) yang seukuran dengan kartu
kredit yang dapat digunakan untuk menjalankan program perkantoran,
permainan komputer, dan sebagai pemutar media hingga video
beresolusi tinggi. Raspberry Pi dikembangkan oleh yayasan nirlaba,
Rasberry Pi Foundation, yang digawangi sejumlah pengembang dan
ahli komputer dari Universitas Cambridge, Inggris. (Wikipedia, 2019)
Raspberry Pi ini oleh penulis dimanfaatkan sebagai server sementara
yang dapat menampung data yang dikirim oleh Sistem Smart Lighting
sebelum Server Smart Office utama establish.
2.5. Device/Peripheral
Device/Peripheral ini dapat dikatakan sebagi Input/ Output yang dipegang
oleh Mikrokontroler. Device/Peripheral yang digunakan pada kegiatan ini
adalah sebagai berikut:
• PCF8574
• RTC
• Micro SD Card
• OLED
• Sensor Arus
• NRF24L01
• Push Button
• Saklar
• LED
• Relay
• Sensor PIR
Mengenai penjelasan setiap device akan dijelaskan pada point 2.7.
2.6. Cloud Computing
Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan
pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis
Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana

5
awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana
awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud
Computing juga merupakan abstraksi dari infrastruktur kompleks yang
disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas
terkait teknologi informasi disajikan sebagai suatu layanan (as a service),
sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan")
tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki
kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah
makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud
Computing adalah suatu paradigma di mana informasi secara permanen
tersimpan di server di internet dan tersimpan secara sementara di komputer
pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet,
notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."
(Wikipedia, 2019)
2.6.1. Server Apache
Server HTTP Apache atau Server Web/WWW Apache adalah server
web yang dapat dijalankan di banyak sistem operasi (Unix, BSD,
Linux, Microsoft Windows dan Novell Netware serta platform lainnya)
yang berguna untuk melayani dan memfungsikan situs web. Protokol
yang digunakan untuk melayani fasilitas web/www ini menggunakan
HTTP. (Wikipedia, 2019)
2.6.2. MySQL/MariaDB
MySQL adalah sebuah perangkat lunak sistem manajemen basis
data SQL (bahasa Inggris: database management system) atau DBMS
yang multialur, multipengguna, dengan sekitar 6 juta instalasi di
seluruh dunia. MySQL AB membuat MySQL tersedia sebagai
perangkat lunak gratis di bawah lisensi GNU General Public License
(GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk
kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan
GPL. (Wikipedia, 2019)

6
MariaDB merupakan versi pengembangan terbuka dan mandiri dari
MySQL. Sejak diakuisisinya MySQL oleh Oracle pada September
2010, Monty Program sebagai penulis awal kode sumber MySQL
memisahkan diri dari pengembangan dan membuat versi yang lebih
mandiri yakni MariaDB. (Wikipedia, t.thn.)
2.6.3. PHP
PHP (Hypertext Preprocessor) adalah bahasa skrip yang dapat
ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai
untuk memprogram situs web dinamis. PHP dapat digunakan untuk
membangun sebuah CMS. (Wikipedia, 2019)
2.6.4. PHPMyAdmin
phpMyAdmin adalah perangkat lunak bebas yang ditulis dalam
bahasa pemrograman PHP yang digunakan untuk menangani
administrasi MySQL melalui website Jejaring Jagat Jembar (World
Wide Web) . phpMyAdmin mendukung berbagai operasi MySQL,
diantaranya (mengelola basis data, tabel-tabel, bidang (fields), relasi
(relations), indeks, pengguna (users), perizinan (permissions), dan lain-
lain). (Wikipedia, 2019)
2.7. Pemrograman Bahasa C (Arduino)
Semua bahasa perograman terdiri dari ekspresi, statemen, blok statemen,
blok fungsi. Ekspresi adalah kombinasi operand dan operator contoh 2+3 ,
X>Y dst… 2,3,X dan Y adalah operand sedangkan + dan > adalah
operator. Statemen adalah instruksi lengkap dalam bahasa C diakhiri dgn tanda
; (titik koma) contoh : A= 2+3;.

7
Statemen dan ekspresi C arduino indentik dengan ANSI-C , Struktur
Program C Arduino minimal terdiri dari dua fungsi yaitu setup() dan loop().
Fungsi setup() dijalankan pertama kali setiap board arduino dihidupkan
sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup.
Pada program standar C ANSI fungsi yg pertama dijalankan adalah fungsi
main() pada C arduino adalah fungsi setup(). (pccontrol.wordpress.com,
t.thn.)
Setiap device yang dibahas dibawah ini perlu di download dari internet
terlebih dahulu mengenai library yang digunakan.
2.7.1. Teknik Pemrograman pada Node MCU
Pemrograman pada kali ini dilakukan menggunakan Arduino IDE
sama halnya dengan pemrograman pada Arduino biasa. Namun ada
beberapa parameter yang musti di setting. Ketika pertama Install
Arduino IDE tidak akan langsung ada pilihan Board ESP8266 di menu
Tools => Board. Melainkan harus kita add sendiri ke Arduino IDE nya.
Tujuan kita pasang board ESP8266 adalah supaya board yang
support WIFI ESP8266 seperti NodeMCU, Wemos, dan sebagainya
bisa kita Program di Arduino IDE. Caranya adalah sebagai berikut:
1. Pada Arduino IDE masuk ke menu File, terus pilih Preferences.

8
2. Lalu pada Additional Board Manager URLs:, masukan link
http://arduino.esp8266.com/stable/package_esp8266com_inde
x.json , lalu klik Ok.

3. Lalu ke menu Tools, klik Board, lalu klik Boards Manager…

9
4. di Filter your search… atau dikolom pencarian masukan esp, klik
esp8266 by ESP8266 Community, klik Install.

5. Tunggu sampai proses Install selesai, lalu tekan Close. Silahkan cek
pada bagian menu Tools, Board, disana sudah ada plihan board
untuk ESP8266.

10
(Ajang Rahmat, 2018)
Setelah selesai, kita dapat memprogram seperti Arduino biasanya.
2.7.2. Pemrograman PCF8574
Inter Integrated Circuit atau sering disebut I2C adalah standar
komunikasi serial dua arah menggunakan dua saluran yang didesain
khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari
saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa
informasi data antara I2C dengan pengontrolnya. Perangkat yang
dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master
dan Slave. Master adalah perangakat yang memulai transfer data pada
I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data
dengan membentuk sinyal Stop, dan membangkitkan sinyal clock.
Slave adalah piranti yang dialamati master.

11
Modul PCF8574 sangatlah mudah digunakan. Terlebih lagi sudah
tersedia library arduino yang mendukung pemrograman yang sangat
mudah dipahami walaupun bagi pemula sekalipun.

Dibawah ini adalah contoh program penggunakan I2C pada


PCF8574 (Scanning I2C Device).

#include <Wire.h>

byte start_address = 0;
byte end_address = 127;

void setup()
{
byte rc;
Wire.begin();

Serial.begin(9600);
Serial.println("\nI2C Scanner");

Serial.print("Scanning I2C bus from ");


Serial.print(start_address,DEC); Serial.print(" to ");
Serial.print(end_address,DEC);
Serial.println("...");

for( byte addr = start_address;


addr <= end_address;
addr++ ) {
Wire.beginTransmission(addr);
rc = Wire.endTransmission();

12
if (addr<16) Serial.print("0");
Serial.print(addr,HEX);
if (rc==0) {
Serial.print(" found!");
} else {
Serial.print(" "); Serial.print(rc); Serial.print(" ");
}
Serial.print( (addr%8)==7 ? "\n":" ");
}

Serial.println("\n-------------------------------\nPossible
devices:");

for( byte addr = start_address;


addr <= end_address;
addr++ ) {
Wire.beginTransmission(addr);
rc = Wire.endTransmission();
if (rc == 0) {
Serial.print(addr,HEX); Serial.print(" = ");
switch (addr) {
case 0x50: Serial.println("AT24C32/AT24C64 - EEPROM"); break;
case 0x68: Serial.println("DS1307"); break;
default: Serial.println("Unknown"); break;
}
}
}

Serial.println("\ndone");
}

// standard Arduino loop()


void loop()
{
// Nothing to do here, so we'll just blink the built-in LED
digitalWrite(13,HIGH); delay(300);
digitalWrite(13,LOW); delay(300);
}

Hasil programnya adalah sebagai berikut:

13

Anda mungkin juga menyukai