SUPPLY (UPS) BERBASIS IOT
SKRIPSI
ADJI SATRYA WIJAYA 180821029
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2021
SUPPLY (UPS) BERBASIS IOT
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
ADJI SATRYA WIJAYA 180821029
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2021
PERNYATAAN
SISTEM KONTROL DAN MONITORING KEGAGALANM SUPLAY TEGANGAN PADA UNINTERUPTIBLE POWER SUPLAY(UPS) BERBASIS
IOT
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2021
Adji Satrya Wijaya 180821029
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT karena berkat rahmat dan karunia- Nya penulis dapat menyelesaikan penyusunan sripksi ini dengan judul “Sistem Kontrol Dan Monitoring Kegagalan Suplai Tegangan Panel Batre Pada Uninterruptible Power Supply (Ups) Berbasis Iot”.
Terimakasih penulis sampaikan kepada Bapak Prof. Dr. Marhaposan Situmorang selaku pembimbing 1 yang telah meluangkan waktunya selama penyusunan skripsi ini. Terimakasih kepada Bapak Dr. Perdinan Sinuhaji, MS dan Bapak Awan Maghfirah selaku ketua program studi dan sekertaris program studi departemen Fisika FMIPA-USU Medan, dekan dan wakil dekan FMIPA USU,seluruh staf dan dosen Fisika FMIPA USU, pegawai FMIPA USU dan rekan-rekan kuliah. Akhirnya tidak terlupakan kepada Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Allah SWT akan membalasnya.
Medan, Januari 2021 Hormat saya,
ADJI SATRYA WIJAYA
SISTEM KONTROL DAN MONITORING KEGAGALAN SUPLAI TEGANGAN PADA UNINTERRUPTIBLE POWER SUPPLY (UPS)
BERBASIS IOT
ABSTRAK
Terus bertambahnya peralatan elektronik dan berkembangnya jenis-jenis peralatan elektronik baru membuat konsumsi daya listrik penggunaan peralatan elektronik terus bertambah setiap tahun. Dengan kondisi tersebut harus tersedianya listrik dari sumber pembangkit dengan memastikan sebandingnya kapasitas total pembangkit dengan kebutuhan konsumsi daya. Sarana dan prasarana pada pembangkit tenaga listrik harus tetap terjaga dan dalam kondisi terbaik seperti generator, turbin, transformator, dan beberapa sistem seperti sistem DC harus dalam kinerja yang maksimal. Pada pembangkit listrik, sistem DC memiliki fungsi utama sebagai penyedia sumber DC yang digunakan untuk sistem kontrol pada pembangkit dan juga sebagai tenaga cadangan yang dapat digunakan saat darurat . Sistem DC biasanya menggunakan batrai sebagai tempat menyimpan daya sementara .Untuk mempermudah kerja petugas dalam hal perawatan agar sistem UPS selalu dalam kondisi terbaik sehingga menghindari terjadinya kendala suplay daya pada sistem maka dibuat sebuah sistem kontrol dan monitoring khusus untuk mengendalikan kinerja secara manual maupun mengambil tindakan secara otomatis dan melakukan pemantauan keadaan jarak jauh dengan menampilkannya pada layar komputer. Dalam pembuatan sistem menggunakan beberapa komponen seperti Microkontroller, sensor tegangan , relay, papan PCB, dan beberapa kompnen pendukung seperti kabel dan terminal konektor. Adapun metode dan fungsi kerja komponen tersebut adalah microcontroller sebagai tempat pemrosesan data dari pembacaan sensor tegangan yang dipasang pada titik-titik ukur yang selanjutnya data tersebut dikirimkan ke NodeMCU melalui komunikasi serial antara mikrokontroler dan NodeMCU. Data tersebut selanjutnya di kirimkan ke database thinkspeak melalui jaringan internet sehingga dapat diakses dari mana saja untuk keperluan monitoring maupun kontrol untuk mencegah kendala dalam proses suplay daya. Dalam proses pengiriman data memerlukan jeda selama 5 menit dalam pengiriman data ke database thinkspeak dan akan terus bertambah seiring dengan bertambahnya jumlah data yang masuk ke database tersebut, maka digunakan PLQ- DAQ untuk pembanding data per satuan detik pada sistem.
Kata kunci: ATMEGA328P/Arduino, DC, ,Kendala suplai daya, Sensor Tegangan , thinkspeak ,Uninterruptible Power Supply/UPS.
VOLTAGE SUPPLY FAILURE CONTROL AND MONITORING SYSTEM UNINTERRUPTIBLE POWER SUPPLY ON IOT
BASED(UPS)
ABSTRACT
The continuous increase in electronic equipment and the development of new types of electronic equipment make the consumption of electric power using electronic equipment continues to increase every year. Under these conditions, the availability of electricity from generating sources must ensure that the total capacity of the generator is proportional to the needs for power consumption. The facilities and infrastructure at the power plant must be maintained and in the best condition, such as generators, turbines, transformers, and several systems such as the DC system must be in maximum performance. In power plants, the DC system has the main function of providing a DC source that is used for the control system in the generator and also as backup power that can be used in an emergency. DC systems usually use batteries as a place to store temporary power. To facilitate the work of officers in terms of maintenance so that the UPS system is always in the best condition so that it avoids problems with power supply to the system, a special control and monitoring system is created to control performance manually or take action manually. automatically and perform remote state monitoring by displaying it on a computer screen. In making the system, several components are used, such as a microcontroller, voltage sensor, relay, PCB board, and several supporting components such as cables and connector terminals. The method and function of this component is a microcontroller as a place for processing data from voltage sensor readings installed at measuring points which are then sent to NodeMCU via serial communication between the microcontroller and NodeMCU. The data is then sent to thedatabase thinkspeak via the internet network so that it can be accessed from anywhere for monitoring and control purposes to prevent problems in the power supply process. In the process of sending data, it requires a 5 minute pause in sending data to thedatabase thinkspeak and it will continue to increase along with the increase in the amount of data entered into the database, so PLQ-DAQ is used to compare data per unit second on the system.
Keywords: ATMEGA328P / Arduino, DCsupply constraints, Voltage Sensor , ,Thinkspeak Power, Uninterruptible Power Supply / UPS.
DAFTAR ISI
HALAMAN SAMPUL
HALAMAN SAMPUL DALAM PENGHARGAAN
ABSTRAK ABSTRACK DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 3
BAB 2 TINJAUAN PUSTAKA
2.1 Mikrokontroler 6
2.1.1 Mikrokontroler ATMega 328 7
2.1.2 Konfigurasi Pin ATMega 328 8
2.2 Uninterruptible Power Supply (UPS) 12
2.3 NodeMCU ESP8266
2.3.1 NodeMCU ESP8266 Versi 0.9 2.3.2 NodeMCU ESP8266 Versi 1.0
2.3.3 NodeMCU ESP8266 Versi 1.0 (Unofficial Board) 14
2.4 ESP8266 15
2.5 Teknologi Yang Mendukung
2.5.1 Modul LM2596 16
2.5.2 Relay 5V 16
2.5.3 Sensor Tegangan DC 18
2.6 Personal Computer (PC) 19
2.7 Bahasa C 20
2.7.1 Sejarah dan Standar Bahasa C 20
2.7.2 Struktur Program C 20
2.8 USB 22
2.9 Power Supply 23
2.10 Rangkaian Pembagi Tegangan 23
2.11 Adaptor 24
BAB 3 METODE PENELITIAN
3.1 Perancangan Diagram Blok Sistem 26
3.1.1 Fungsi Setiap Blok 26
3.2 Peralatan Dan Komponen 27
3.2.1 Peralatan 27
3.2.2 Komponen Mekanik 27
3.2.3 Komponen Elektrik 27
3.3 Gambar Electrical 28
3.3.1 Rangkaian Arduino Uno Dengan NodeMCU 28
3.3.2 Rangkaian NodeMCU Dengan PC 30
3.3.3 Rangkaian Arduino Uno Dengan Relay 31
3.3.4 Rangkaian Relay Ke Baterai 32
3.3.5 Rangkaian Keseluruhan 33
3.4 Perancangan Perangkat Lunak 40
3.4.1 Perancangan Arduino IDE untuk NodeMCU ESP8266 36
3.4.2 Perancangan Web Thingspeak IoT 39
BAB 4 HASIL DAN PEMBAHASAN
4.1 Pengujian Catu Daya 43
4.2 Pengujian Ketelitian 44
4.3 Pengujian Kontrol Otomatis 45
4.4 Pengujian Monitoring sistem 46
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 71
5.2 Saran 71
DAFTAR PUSTAKA LAMPIRAN
DAFTAR TABEL
Tabel 2.1 Tabel Perbandingan 14
Tabel 4.1 Hasil Pengukuran Catu Daya 43
Tabel 4.2 Hasil Pengukuran Ketelitian Sensor 44
Tabel 4.3 Pengujian Kontrol Otomatis 45
DAFTAR GAMBAR
Gambar 2.1.Mikrokontroler Atmega328 9
Gambar 2.2. Konfigurasi Pin ATMega328 10
Gambar 2.3.Versi NodeMCU ESP8266 13
Gambar 2.4. Pin Out V1 dengan ESP-12E menggunakan usb driver tipe CP 15
Gambar 2.5.Chip ESP8266 ESP-01 15
Gambar 2.6.Modul LM2596 16
Gambar 2.7.Struktur Relay 16
Gambar 2.8.Modul Relay 5v 4 channel 18
Gambar 2.9.Sensor Tegangan DC 18
Gambar 2.10 Rangkaian Pembagi Tegangan 24
Gambar 2.11 Bentuk Fisik Adaptor 25
Gambar 3.1.Diagram Blok 26
Gambar 3.2.Rangkaian Arduino UNO dengan NodeMCU 28
Gambar 3.3.Rangkaian Node MCU dengan PC 30
Gambar 3.4.Rangkaian Arduino dengan Relay 31
Gambar 3.5.Rangkaian Relay Ke Baterai 32
Gambar 3.6.Rangkaian Keseluruhan 33
Gambar 3.7.Alur perangkat 34
Gambar 3.8.Pengiriman data 35
Gambar 3.9 Tampilan Arduino IDE 36
Gambar 3.10 Tampilan Setting Arduino IDE 37
Gambar 3.11 Tampilan Tools Arduino IDE 37
Gambar 3.12 Tampilan Board Manager Arduino IDE 38
Gambar 3.13 Tampilan Tools Board Arduino IDE 38
Gambar 3.14 Tampilan Login Thingspeak 39
Gambar 3.15 Tampilan menu utama 39
Gambar 3.16 Tampilan konfigurasi Channel 40
Gambar 3.17 Tampilan Channel Baru 40
Gambar 3.18 Tampilan Privat View Thingspeak 42
Gambar 3.19 Tampilan Add Visualization 41
Gambar 3.20 Tampilan API Key 42
Gambar 4.1.Grafik pengukuran ketelitian sensor 45
Gambar 4.2. Tampilan Monitoring Pada Field 1 46
Gambar 4.3. Tampilan Monitoring Pada Field 2 46
Gambar 4.4. Tampilan Monitoring Pada Field 3 47
Gambar 4.5. Tampilan PLX-DAQ 48
Gambar 4.6. Tampilan Grafik PLX 48
Gambar 4.7. Tampilan PLX-DAQ 49
Gambar 4.8. Tampilan Grafik PLX 49
Gambar 4.9. Tampilan Saat Tegangan Beban Mengalami Gangguan 50 Gambar 4.10. Tampilan PLX Saat Tegangan Beban Mengalami Gangguan 51 Gambar 4.11 Tampilan Grafik PLX Saat Teganagn Mengalami Gangguan 51 Gambar 4.12 Tampilan Tegangan Beban Saat Tegangan Kembali Normal 52 Gambar 4.13 Tampilan PLX Saat Tegangan Kembali Normal 52 Gambar 4.14 Tampilan Grafik PLX Saat Tegangan Kembali Normal 53 Gambar 4.15 Tampilan saat salah satu tegangan baterai mengalami gangguan 53 Gambar 4.16 Tampilan PLX saat tegangan satu baterai mengalami gangguan 54 Gambar 4.17 Tampilan Grafik saat tegangan satu baterai mengalami gangguan 54
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Terus bertambahnya peralatan elektronik dan berkembangnya jenis-jenis peralatan elektronik baru membuat konsumsi daya listrik penggunaan peralatan elektronik terus bertambah setiap tahun. Dengan kondisi tersebut harus tersedianya listrik dari sumber pembangkit dengan memastikan sebandingnya kapasitas total pembangkit dengan kebutuhan konsumsi daya. Sarana dan prasarana pada pembangkit tenaga listrik harus tetap terjaga dan dalam kondisi terbaik seperti generator, turbin, transformator, dan beberapa sistem seperti sistem DC harus dalam kinerja yang maksimal. Pada pembangkit listrik, sistem DC memiliki fungsi utama sebagai penyedia sumber DC yang digunakan untuk sistem kontrol pada pembangkit dan juga sebagai tenaga cadangan yang dapat digunakan saat darurat . Sistem DC biasanya menggunakan batrai sebagai tempat menyimpan daya sementara .
UPS atau Uninterruptible Power Supply merupakan alat yangdigunakan untuk mengamankan perangkat komputer kontrol, melayani keperluan telekomunikasi, keperluan instalasi penerangan darurat, ataupun untuk peralatan motor listrik untuk pelumasan, untuk rachet turbin dan lain sebagainya pada saat listrik padam,sehingga energi listrik sementara dapat disupply dari Uninterruptible Power Supply (UPS). Penggunaan UPS saat ini mulai digunakan pada perkantoran. UPS sendiri merupakan sebuah sistem tegangan DC yang berdiri sendiri terhadap sistem suplai tenaga listrik PLN. Pada dasarnya UPS merupakan sumber tenaga alternatif sementara yang menggantikan suplai tenaga listrik utama dalam hal ini sumber listrik PLN. Sumber tenaga UPS sendiri berasal dari batrai yang dapat digunakan berulang – ulang dengan cara pengecasan. Karena fungsinya sebagai tenaga cadangan yang sangat vital,harus dilakukan pengecekan dan pemeliharaan kondisi baterai agar baterai dalam keadaan prima. Perawatan dan pemeliharaan baterai biasanya dilakukan oleh petugas yang bertanggung jawab secara manual.
Untuk mempermudah kerja petugas dibuat sebuah sistem kontrol dan monitoring khusus untuk mengendalikan kinerja secara manual maupun mengambil tindakan
secara otomatis dan melakukan pemantauan keadaan jarak jauh dengan menampilkannya pada layar komputer . Digunakan microcontroller sebagai tempat pemrosesan data yang selanjutnya data tersebut dikirimkan ke database thinkspeak melalui jaringan internet sehingga dapat diakses dari manasaja untuk keperluan monitoring maupun kontrol untuk mencegah kendala dalam proses suplay daya.
Berdasarkan penelitian sebelumnya yang dilakukan oleh Tri Benson Oktafiandy Simanjuntak dalam jurnal yang berjudul “Rancang Bangun Sistem Kontrol Otomatis Dan Pengamatan Kondisi Baterai Pada Sistem Pembangkit Listrik Berbasis Microcontroller” membahas tentang rancangan monitoring keadaan baterai saat dalam keadaan berkerja secara stabil maupun dalam kondisi gangguan dengan memanfaatkan indikator led.
Berdasarkan latar belakang di atas, penulis bermaksud mengangkat judul
“Sistem Kontrol Dan Monitoring Kegagalan Suplay Tegangan Panel Batre Pada Uninterruptible Power Supply (UPS) Berbasis Iot” sebagai judul skripsi penulis yang diharapkan mampu menjadi salah satu solusi dari permasalahan absensi manual tersebut.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah di atas rumusan masalah yang dibahas didalam penelitian ini adalah:
1. Bagaimana membuat sistem yang dapat mengontrol sistem jika terjadi kegagalan suplai tegangan sumber DCdan sekaligus memonitoring kondisibatrai pada panel UPS sebagai pengganti cara manual.
2. Bagaimana sistem monitoring dapat terintegrasi dengan data base dan dapat diakses setiap saat.
1.3 Batasan Masalah
Berdasarkan identifikasi masalah yang telah disebutkan, penulis membatasi masalah pada karya ini berdasarkan masalah :
1. Monitoring sistem yang masih dilakukan dengan cara manual dan dapat mengambil tindakan kontrol otomatis ketika terjadi kegagalan suplai dengan merancang dan membuat alat berupa sistem kontrol
2. Monitoring kegagalan suplai tegangan panel baterai pada Uninterruptible Power Supply (UPS) berbasis IoT .
3. Fokus pada alat ini adalah alat dapat mengontrol sistem secara otomatis ketika terjadi kegagalan suplai dan mengirim kondisi keadaan baterai berupa data pengukuran ke database Thingspeak dan menampilkannya untuk mempermudah monitoring.
1.4 Tujuan Penelitian
Berdasarkan rumusan masalah yang telah disampaikan, tujuan penelitian ini adalah :
1. Membuat sistem monitoring sekaligus kontrol saat terjadinya kondisi kegagalan suplai tegangan batrai pada panel UPS .
2. Memberikan info tentang kondisi baterai berupa data pengukuran yang digunakan dalam pengecekan atau audit diwaktu tertentu sehingga mengetahui alat dalam kondisi stabil atau rusak.
1.5 Manfaat Penelitian
Adapun manfaat dari penelitian ini sebagai berikut : 1. Bagi Mahasiswa
a.Sebagai tolak ukur individual setelah mendapatkan ilmu dari bangku kuliah dan kehidupan sehari–hari untuk diimplementasikan dalam bentuk suatu alat.
b.Dapat mengaplikasikan ilmu yang didapat selama di bangku kuliah dan menerapkannya secara nyata.
c. Dapat digunakan sebagai bahan pembelajaran dan penambah wawasan.
d.Sebagai bentuk kontribusi terhadap Universitas dan pengabdian kepada masyarakat dalam bentuk suatu karya yang bermanfaat.
e.Memberikan info tentang kinerja alat berupa data yang digunakan dalam pengecekan atau audit diwaktu tertentu sehingga mengetahui alat dalam kondisi stabil atau rusak.
f. Menambah ilmu tentang aplkasi bidang IoT.
g. Menambah pengetahuan tentang bidang kontrol dan monitoring.
h. Sebagai bahan media pembelajaran.
i. Sebagai tambahan rekomendasi penelitian selanjutnya.
2. Bagi Masyarakat Umum
a. Sebagai salah satu cara mengamankan mobil dari pencurian.
b. Sebagai salah satu cara mengateahui lokasi kendaraan pada saat hilang atau di tempat parkir yang luas.
1.6 Metode Penelitian
Penelitian diawali dengan studi literatur yakni mencari materi dalam buku dan e-book tentang Suplai Tegangan Panel Batre Pada Uninterruptible Power Supply (Ups) Berbasis Iot. Metode yang dilaksanakan pada penelitian ini adalah metode eksperimen.
1.7 Sistematika Penulisan
Untuk mempermudah pemahaman, skripsi ini ditulis dengan sistematika sebagai berikut:
BAB 1: PENDAHULUAN
Bab ini merupakan pendahuluan yang berisi tentang latar belakang masalah, tujuan dan manfaat penulisan, batasan masalah, metode dan sistematika penulisan.
BAB 2: TINJAUAN PUSTAKA
Bab ini berisi membahas tentang teori, temuan, bahan penelitian yang diperoleh dari berbagai referensi, yang dijadikan landasan untuk melakukan penelitian yang diusulkan.
BAB 3: METODE PENELITIAN
Bab ini berisi penjelasan tentang perancangan Suplai Tegangan Panel Batre Pada Uninterruptible Power Supply (Ups) Berbasis IoT.
BAB 4: HASIL DAN PEMBAHASAN
Bab ini berisi tentang hasil dan pengolahan data serta analisa hasil penelitian.
BAB 5: KESIMPULAN DAN SARAN
Bab ini berisikan tentang kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan dan pemanfaatannya.
DAFTAR PUSTAKA
BAB 2
TINJAUAN PUSTAKA
2.1 Mikrokontroler
Dalam perkembangannya, mikrokontroler tidak berkembang sebagaimana pesatnya perkembangan mikroprosesor. Mikroprosesor banyak digunakan sebagai otak dari suatu PC (Personal Computer), sedangkan aplikasi mikrokontroler lebih banyak digunakan untuk mengendalikan sistem – sistem otomatis yang berdiri sendiri (stand alone) atau tempelan seperti mesin fotokopi, remote controller, sistem keamanan hingga aplikasi robot.
Mikrokontroler berbeda dengan mikroprosesor dalam banyak hal, terutama dalam penggunaannya. Agar mikroprosesor dapat digunakan, maka komponen – komponen seperti memori, komponen penerima data, komponen pengirim data dan komponen tambahan lainnya perlu untuk ditambahkan. Sedangkan pada mikrokontroler komponen – komponen tambahan tersebut tidak selalu diperlukan karena sudah terpasang di dalam (built in) mikrokontroler (1).
Untuk dapat membuat mikrokontroler bekerja, ada banyak hal yang harus dikerjakan. Pertama adalah membuat program. Program yang dibuat harus sesuai dengan jenis mikrokontroler yang digunakan, hal ini karena tiap mikrokontroler memiliki bahasa pemograman tersendiri yang mungkin tidak kompatibel. Setelah anda membuat program dengan menggunakan editor teks, maka anda harus mengkompilasi program tersebut sesuai dengan tipe mikrokontroler yang dipakai.
Secara sederhana tujuan mengkompilasi adalah untuk merubah dari bahasa manusia menjadi bahasa mikrokontroler.
Setelah itu, program yang telah dikompilasi dimasukkan kedalam ROM dari mikrokontroler tersebut. Ada jenis mikrokontroler yang tidak memiliki ROM internal. Untuk itu anda harus memasukkan kedalam ROM menggunakan EPROM programmer. Jika mikrokontroler yang anda gunakan memiliki ROM internal, maka dengan menggunakan programmer mikrokontroler, program akan dimasukkan kedalam ROM internalnya. Setelah memasang resonator dan catu daya, maka mikrokontroler tersebut akan bekerja sesuai dengan program yang anda berikan (10).
Mikrokontroler adalah mikrokomputer chip tunggal yang dirancang secara spesifik untuk aplikasi – aplikasi kontrol dan bukan untuk aplikasi – aplikasi serbaguna. Perangkat ini sering kali digunakan untuk memenuhi suatu kebutuhan kontrol tertentu, seperti mengendalikan sebuah penggerak motor. Mikrokomputer chip tunggal, dilain pihak biasanya melaksanakan beragam fungsi yang berbeda dan dapat mengendalikan beberapa proses dalam waktu yang bersamaan. Aplikasi – aplikasi yang tipikal meliputi kontrol perangkat – perangkat peripheral seperti motor, penggerak, printer, dan komponen – komponen subsistem minor.
Mikrokontroler PIC adalah sebuah perangkat mikrokontroler serbaguna yang umumnya digunakan dalam suatu aplikasi stand-aloneuntuk melaksanakan fungsi – fungsi logika sederhana, pewaktuan dan kontrol input/output. Perangkat – perangkat PIC menyediakan solusi biaya rendah yang fleksibel yang dengan sangat efektif menjembatani jurang pemisah antara komputer – komputer chip tunggal dan penggunaan chip logika duskrit dan chip timer.sejumlah perangkat PIC dan mikrokontroler dibuat dengan menyertakan interpreter bahasa tingkat tinggi (9).
Mikrokontroler sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.
Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah dibandingkan mikroprosesor.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1. Penggerak pada mikrokontoler menggunakan bahasa pemrogramanassembly dengan berpatokan pada kaidah digital dasar sehinggapengoperasian sistem menjadi sangat mudah dikerjakan sesuai denganlogika sistem.
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, danI/O terintegrasi menjadi satu kesatuan kontrol sistem.
3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputerSedangkan parameter komputer hanya digunakan untuk download perintahinstruksi atau program.
4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembanganmemori dan I/O yang disesuaikan dengan kebutuhan sistem.
5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.
2.1.1 Mikrokontroler Atmega328
Mikrokontroler adalah sebuah komputer kecil (“special purpose computers”) di dalam satu IC yang berisi CPU, memori, timer, saluran komunikasi serial dan parallel, Port input/output, ADC. Mikrokontroler digunakan untuk suatu tugas dan menjalankan suau program (Andrianto,heri.2013).
Mikrokontroler adalah IC single chip yang didalamnya terkandung RAM (Random Access Memory), ROM (Read Only Memory), mikroprosesor dan piranti I/O (Input/Output) yang saling terkoneksi, serta dapat diprogram berulang kali, baik ditulis atau dihapus. Ada banyak jenis mikrokontroler yang masing – masing memiliki keluarga atau series sendiri , sehingga diperlukan pemahaman yang cukup untuk menggunakan dan memilih mikrokontroler. Secara garis besar pengelompokan keluarga mikrokontroler ditentukan oleh perusahaan tertentu sesuai dengan spesifikasi khusus yang dimilikinya sehingga dapat dibedakan dengan mikrokontroler keluarga lain, terutama menyangkut kompatibilitas dalam hal pemograman. mikrokontroler dengan keluarga yang sama akan memiliki kesamaan dalam hal arsitektur dan kompatibiltas pemograman, yang membedakan hanya dalam kemasan fisik, jumlah pin dan fitur – fitur yang dimiliki dari mikrokontroler tersebut.
Perbedaan mendasar dari mikrokontroler yang sering dijumpai di pasaran adalah berdasarkan arsitekturnya (16)
Mikrokontroler AVR merupakan pengontrol utama standar industri dan riset saat ini. Hal ini dikarenakan berbagai kelebihan yang dimilikinya dibandingkan mikroprosesor, antara lain murah, dukungan software dan dokumentasi yang memadai, dan memerlukan komponen pendukung yang sangat sediki. Teknologi elektronika saat ini membutuhkan pengontrolan berukuran kecil dan berkecepatan tinggi, yang bisa dipenuhi oleh mikrokontroler.
Mikrokontroler ialah chip yang berisi berbagai unit penting untuk melakukan pemrosesan data (I/O, timer, memory, Arithmetic Logic Unit (ALU) dan lainnya) sehingga dapat berlaku sebagai pengendali dan komputer sederhana. Untuk menentukan mikrokontroler mana yang ingin anda gunakan, ada baiknya anda
tentukan spesifikasi yang anda inginkan, lalu pilih mikrokontroler yang sesuai dengan spesifikasi anda tersebut (19).
Pada saat ini penggunaan mikrokontroller dapat kita temui pada berbagai peralatan, misalnya peralatan yang terdapat di rumah, seperti telpon digital, microwave oven, televisi, mesin cuci, sistem keamanan rumah, PDA, dan lainlain.
Mikrokontroler dapat kita gunakan untuk berbagai plikasi misalnya untuk pengendalian, otomasi industri, akuisisi data, telekomunikasi dan lain-lain.Saat ini keluarga mikrokontroler yang ada di pasaran yaitu Intel 8048 dan 8051(MCS51), Motorola 68HC11, Microchip PIC, Hitachi H8, dan Atmel AVR.
ATmega328 adalah micro controller keluaran Atmel yang merupakan anggota dari keluarga AVR 8-bit. Mikro kontroller ini memiliki kapasitas flash (program memory) sebesar 32 Kb (32.768 bytes), memori (static RAM) 2 Kb (2.048 bytes), dan EEPROM (non-volatile memory) sebesar 1024 bytes. Kecepatan maksimum yang dapat dicapai adalah 20 MHz. Rancangan khusus dari keluarga prosesor ini memungkinkan tercapainya kecepatan eksekusi hingga 1 cycle per instruksi untuk sebagian besar instruksinya, sehingga dapat dicapai kecepatan mendekati 20 juta instruksi per detik.
ATmega328 adalah prosesor yang kaya fitur. Dalam chip yang dipaketkan dalam bentuk DIP-28 ini terdapat 20 pin Input/Output (21 pin bila pin reset tidak digunakan, 23 pin bila tidak menggunakan oskilator eksternal), dengan 6 diantaranya dapat berfungsi sebagai pin ADC (analog-to-digital converter), dan 6 lainnya memiliki fungsi PWM (pulse width modulation).
Gambar 2.1Mikrokontroler Atmega328
2.1.2 Konfiguasi Pin ATMega328
Gambar 2.2 Konfigurasi Pin ATMega328
(Sumber : http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller- ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf)
ATMega328 memiliki 28 Pin, yang masing-masing pinnya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8 yaitu sebagai berikut : a. VCC
merupakan supply tegangan digital.
b. GND
merupakan ground untuk semua komponen yang membutuhkan grounding.
c. Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bidirectional I/O dengan internal pull-up resistor.Sebagai input, pin-pinyang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan.
Khusus PB6 dapatdigunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan
Asyncronous Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1).
d. Port C (PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing – masingpin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai daripin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source).
e. RESET/PC6
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O.Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapatpadaport C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin iniakan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pinini rendah dan pulsa yang ada lebih pendek dari pulsaminimum, maka akanmenghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja.
f. Port D (PD7…PD0)
Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port initidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsisebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
g. AVcc
Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harusdihubungkan secara terpisah dengan VCC karena pin ini digunakan untukanalog saja. Bahkan jika ADC pada AVR tidak digunakan tetap sajadisarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.
h. AREF
Merupakan pin referensi jika menggunakan ADC
Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang penggunaan
kebutuhan instruksi perbandingan yang telah didedikasikan sertadapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebihsederhana dan singkat.
Register ini tidak secara otomatis tersimpan ketikamemasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintahsetelah kembali dari interupsi. Namun hal tersebut harus dilakukan melaluisoftware.
2.2 Uninterruptible Power Supply (UPS)
Uninterruptible Power Supply (UPS) banyak digunakan oleh masyarakat untuk mengamankan perangkat komputer pada saat listrik padam,sehingga energi listrik untuk perangkat komputer untuk sementara dapat disupply dari Uninterruptible Power Supply (UPS). Penggunaan UPS saat ini sudah mulai memasyarakat terutama pada perkantoran. UPS sendiri merupakan sebuah sistem yang berdiri sendiri terhadap sistem suplai tenaga listrik PLN. Pada dasarnya UPS merupakan sumber tenaga alternatif sementara yang menggantikan suplai tenaga listrik utama dalam hal ini sumber listrik PLN. Namun UPS yang baik mampu menangani permasalahan gangguan listrik yang lain seperti tegangan transien,
tegangan spike, atau distorsi harmonisa/noise.
Penggunaan UPS penting/harus diaplikasi pada suatu kondisi :
a. Ketika gangguan suplai tenaga listrik menyebabkan bahaya pada kehidupan dan kepemilikan seperti pada rumah sakit pada bagian intesive care unit-nya, monitor keamanan industrial, proses sistem kontrol, dan sistem alarm.
b. Ketika gangguan listrik ini menyebabkan kerugian waktu, kerugian biaya.
c. Ketika gangguan listirk ini dapat menyebabkan gangguan/kerusakan data pada jaringan komputer, jaringan ATM, atau data-data militer yang sangat penting dan rahasia.
Sistem UPS mulai dibangun ketika sering terjadinya gangguan pada jalur listrik pada saat perang dunia ke-2 dimana saat itu penggunaanya masih pada instansi-instansi penting seperti rumah sakit, intansi pelayanan masyarakat dan instansi komunikasi yang penting.
Rotary Power Source. Sistem UPS ini masih menggunakan mesin diesel yang berfungsi sebagai pembangkit tenaga listriknya. Apabila terjadi gangguan listrik maka secara otomatis akan menyalakan mesin diesel tersebut kira-kira 15 detik
setelah terjadi gangguang listrik pertama kali. Dengan sistem seperti ini maka penggunaan listrik hanya terganggu dalam beberapa detik saja.
Static Power Source. Sistem UPS ini dikembangkan pada sekitar 1960 ketika mulai dikembangkannya rangkan dengan menggunakan „solid state‟. Sistem UPS ini menggunakan sumber tenaga DC sebagai sumber tenaga pengganti sementaranya melalui rangkaian-rangkaian inverter. Rangkaian-rangkaian inverter ini berfungsi untuk merubah tegangan DC ini menjadi tegangan AC dengan amplitudo dan frekuensi yang sama dengan suplai tenaga listrik yang sesungguhnya.
2.3 NodeMCU ESP8266
NodeMCU ESP8266 merupakan modul turunan pengembangan dari modul platform IoT (Internet of Things) keluarga ESP8266 tipe ESP. Secara fungsi modul ini hampir menyerupai dengan platform modul arduino, tetapi yang membedakan yaitu dikhususkan untuk “Connected to Internet“.
Untuk saat ini modul NodeMCU sudah terdapat 3 tipe versi antara lain :
Gambar 2.3. Versi NodeMCU ESP8266
2.3.1. NodeMCU Versi 0.9
Pada versi ini (v0.9) merupakan versi pertama yang memiliki memori flash 4 MB sebagai (System on Chip) SoC-nya dan ESP8266 yang digunakan yaitu ESP- 12.Kelemahan dari versi ini yaitu dari segi ukuran modul board lebar, sehingga apabila ingin membuat protipe menggunakan modul versi ini pada breadboard, pin- nya kan habis digunakan hanya untuk modul ini.
2.3.2. NodeMCU Versi 1.0
Versi ini merupakan pengembangan dari versi 0.9. Dan pada versi 1.0 ini ESP8266 yang digunakan yaitu tipe ESP-12E yang dianggap lebih stabil dari ESP- 12.Selain itu ukuran board modulnya diperkecil sehingga compatible digunakan
membuat prototipe projek di breadboard serta terdapat pin yang dikhusukan untuk komunikasi SPI (Serial Peripheral Interface) dan PWM (Pulse Width Modulation) yang tidak tersedia di versi 0.9.
2.3.3. NodeMCU Versi 1.0 (Unofficial Board)
Dikatakan unofficial board dikarenakan produk modul ini diproduksi secara tidak resmi terkait persetujuan dari Developer Official NodeMCU.
Perbedaannya tidak begitu mencolok dengan versi 1.0 (official board) yaitu hanya penambahan V usb power output.Berikut tabel perbandingan dari ketiga versi diatas
Tabel 2.1 Tabel Perbandingan
Spesifikasi
Versi NodeMCU
Versi 0.9 Versi 1.0 (Official board)
Versi 1.0 (Unofficial board)
Vendor Pembuat Amica Amica LoLin
Tipe ESP8266 ESP12 ESP-12E ESP-12E
USB port Micro Usb Micro Usb Micro Usb
GPIO Pin 11 13 13
ADC 1 pin (10 bit) 1 pin (10 bit) 1 pin (10 bit)
Usb to Serial Converter
CH340G CP2102 CH340G
Power Input 5 Vdc 5 Vdc 5 Vdc
Ukuran Module 47 x 31 mm 47 x 24 mm 57 x 30 mm
Gambar 2.4 Pin Out V.1 Dengan ESP-12E Yang Menggunakan Usb Driver Tipe CP212
2.4 ESP8266
ESP8266 adalah sebuah modul WiFi yang akhir-akhir ini semakin digemari para hardware developer. Selain karena harganya yang sangat terjangkau, modul WiFi serbaguna ini sudah bersifat SoC (System on Chip), sehingga kita bisa melakukan programming langsung ke ESP8266 tanpa memerlukan mikrokontroller tambahan. Kelebihan lainnya, ESP8266 ini dapat menjalankan peran sebagai adhoc akses poin maupun klien sekaligus.
Gambar 2.5. Chip ESP8266 ESP-01
ESP8266 dikembangkan oleh pengembang asal negeri tiongkok yang bernama “Espressif”. Produk seri ESP8266 memiliki banyak sekali varian. Salah satu varian yang paling sering kita jumpai adalah ESP8266 seri ESP-01.
Spesifikasi Umum ESP8266 : a. 802.11 b/g/n
b. ntegrated low power 32-bit MCU c. Integrated 10-bit ADC
d. Integrated TCP/IP protocol stack
e. Integrated TR switch, balun, LNA, power amplifier and matching network f. Integrated PLL, regulators, and power management units
g. Supports antenna diversity
h. WiFi 2.4 GHz, support WPA/WPA2
i. Support STA/AP/STA+AP operation modes
j. Support Smart Link Function for both Android and iOS devices
k. SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO l. STBC, 1×1 MIMO, 2×1 MIMO
m. A-MPDU & A-MSDU aggregation & 0.4s guard interval n. Deep sleep power <10uA, Power down leakage current < 5uA o. Wake up and transmit packets in < 2ms
p. Standby power consumption of < 1.0mW (DTIM3) q. +20 dBm output power in 802.11b mode
r. Operating temperature range -40C ~ 125C
s. FCC, CE, TELEC, WiFi Alliance, and SRRC certified
2.5 Teknologi Yang Mendukung 2.5.1 Modul LM2596
Modul LM2596 berfungsi sebagai penurun tegangan 12V dari akumulator sepeda motor menjadi 5V agar sesuai yang dibutuhkan oleh komponen lainnya.
Gambar 2.6 Modul LM2596
2.5.2 Relay 5v
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch).
Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.
Gambar 2.7. struktur relay
Pada dasarnya, Relay terdiri dari 4 komponen dasar yaitu :
Electromagnet (Coil)
Armature
Switch Contact Point (Saklar)
Spring
Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :
Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi CLOSE (tertutup)
Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi OPEN (terbuka)
Berdasarkan gambar diatas, sebuah Besi (Iron Core) yang dililit oleh sebuah kumparan Coil yang berfungsi untuk mengendalikan Besi tersebut. Apabila Kumparan Coil diberikan arus listrik, maka akan timbul gaya Elektromagnet yang kemudian menarik Armature untuk berpindah dari Posisi sebelumnya (NC) ke posisi baru (NO) sehingga menjadi Saklar yang dapat menghantarkan arus listrik di posisi barunya (NO). Posisi dimana Armature tersebut berada sebelumnya (NC) akan menjadi OPEN atau tidak terhubung. Pada saat tidak dialiri arus listrik, Armature akan kembali lagi ke posisi Awal (NC). Coil yang digunakan oleh Relay untuk menarik Contact Poin ke Posisi Close pada umumnya hanya membutuhkan arus listrik yang relatif kecil. Relay yang digunakan merupakan relay 5V 4 channel. Relay
ini berfungsi untuk memutus aliran listrik dari CDI sepeda motor dan membunyikan alarm berupa klakson sepeda motor.
Gambar 2.8 Modul Relay 5V 4 Chennel
2.5.3 Sensor Tegangan DC
Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan dan arus listrik. Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian. Dalam elektro tegangan analog dapat langsung diolah, diproses atau dikonveri dalam bentuk atau level lainnya. Sedangkan dalam dunia digital, tegangan akan dikonversi versi diskritnya dengan ADC (Analog to Digital Converter) atau jika di balik antara digital ke tegangan analog harus menggunakan teknik DAC (Digital to Anaog Converter).Komponen utama yang ada pada modul tersebut hanyalah 2 reisistor
Gambar 2.9. Sensor Tegangan DC.
Prinsipnya adalah rangkaian diatas membagi tegangan VCC menjadi 5x lebih kecil, misal VCC 25 volt maka keluaran rangkaian tersebut adalah 5 volt, jika VCC 50 volt maka output tegangan rangkaian tersebut adalah 10volt. Maksimal tegangan
kerja arduino adalah 5volt, maka tidak boleh memberikan tegangan VCC pada rangkaian / sensor tegangan tersebut diatas 25volt, karena nantinya output dari rangkaian sensor tegangan tersebut akan melebihi 5volt yang akan mengakibatkan arduino rusak.
2.6 Personal Computer (PC)
Personal Computer (PC) atau komputer pribadi adalah komputer yang ditujukan untuk satu pengguna dengan satu penggunaan program aplikasi pada suatu saat. Oleh karenanya, perangkatnya dapat diringkas ke dalam satu mesin saja.
Komputer ini memiliki monitor, keyboard dan CPU. Namun, di dalam CPU ini sebenarnya tidak hanya terdapat prosesor, melainkan juga ada perangkat penyimpanan dan mungkin saja dipasangi perangkat tambahan. Komputer jenis inilah yang paling banyak digunakan, baik itu dirumah, kantor, lembaga kursus, sekolah dan lain – lain .
Dahulu, komputer mikro hanya memegang peranan kecil dari seluruh tatanan kehidupan dunia pengolahan data. Akan tetapi sekarang, komputer – komputer mikro dengan mengambil terminologi sebagai Personal Computer, mampu mengambil alih sebagian besar peranan komputer – komputer besar dan otomatis populasinya berkembang begitu pesat.
Pada tahun 1996, kemampuan kerja komputer mikro yang populer dengan nama Personal Computer (PC), sudah dianggap sama dengan kemampuan mainframe. Bahkan di sisi lain, dalam segi populasi mesin, jumlah PC yang didistribusikan ke para pemakainya sudah jauh lebih banyak dan luas dibandingkan dengan komputer besar.
Dahulu, baik secara fisik maupun kemampuan kerja, klasifikasi komputer memang terbagi menjadi tiga bagian besar. Yang paling besar adalah mainframe, kemudian disusul oleh minikomputer di tempat kedua, serta komputer mikro menempati urutan terakhir di tempat ketiga.
Pengklasifikasian dilakukan berdasarkan beberapa kriteria teknis tertentu.
Akan tetapi seiring dengan perkembangan – perkembangan teknologi yang terjadi kemudian, kriteria – kriteria tersebut terpaksa diubah dan disesuaikan. Pada
kenyataannya, karena teknologi komputer mikro terus meningkat dengan cepat sekali, kriteria pengklasifikasian juga mengalam berkali – kali perubahan.
Konfigurasi pada dasarnya menyatakan perangkat apa saja yang terhubung ke dalam sebuah unit pengelola (Central Processing Unit atau CPU) baik internal maupun eksternal. Hal ini perlu diketahui untuk memudahkan pengalokasian tempat atau alamat dari perangkat yang bersangkutan, sehingga CPU dapat dengan mudah mengendalikan dan mengoperasikannya. Tentu sekali penyusunan konfigurasi dari sebuah sistem harus mengacu kepada kebutuhan yang sesungguhnya dari calon pembeli komputer (14).
2.7 Bahasa C
2.7.1 Sejarah dan Standar C
Akar dari bahasa C adalah dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan di komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.
C adalah bahasa yang standar, artinya suatu program yang ditulis dengan versi bahasa C tertentu akan dapat dikompilasi dengan versi bahasa C yang lain dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX.
Patokan dari standar UNIX ini diambil dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul “ The C Programming Language”, diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian dikenal secara umum sebagai “K&R C”.
2.7.2 Struktur Program C
Tiap bahasa komputer mempunyai struktur program yang berbeda. Jika struktur dari program tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu program dengan bahasa yang bersangkutan. Struktur dari program memberikan gambaran secara luas, bagaimana bentuk dari program secara umum.
Selanjutnya dengan pedoman struktur program ini, penulis program dapat memulai bagaimana seharusnya program tersebut ditulis.
Struktur dari program C dapat dilihat sebagai kumpulan dari sebuah atau lebih fungsi – fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu bernama main(). Suatu fungsi di program C dibuka dengan kurung kurawal ( } ). Diantara kurung kurawal dapat dituliskan statemen – statemen program C. Bahasa C dikatakan sebagai bahasa pemograman terstruktur, karena strukturnya menggunakan fungsi – fungsi sebagai program – program bagian ( subroutine ).
Fungsi – fungsi selain fungsi utama merupakan program – program bagian. Fungsi – fungsi ini dapat ditulis setelah fungsi utama atau diletakkan di file pustaka ( library ).
Jika fungsi – fungsi diletakkan di file pustaka dan akan dipakai disuatu program, maka nama file judulnya ( header file ) harus dilibatkan dalam program yang menggunakannya dengan preprocessor directive #incule (7).
Struktur dasar C secara lengkap terdiri atas 5 bagian : a. Pemandu kompiler
b. Deklarasi variabel global dan fungsi – fungsi tambahan c. Kepala fungsi utama – main( )
d. Tubuh / definisi fungsi main ( )
e. Tubuh / definisi fungsi – fungsi tambahan
Pemandu kompiler adalah suatu perintah pada komputer untuk melakukan sesuatu pada waktu kompilasi. Pemandu kompiler diawali dengan simbol (#) dan biasanya ( tetapi tidak harus ) ditempatkan pada awal setiap program. Suatu pemandu kompiler hanya berpengaruh pada statemen – statemen yang diletakkan sesudahnya dalam suatu program.
Istilah preprosesor (preprocessor) terkadang dipakai untuk menyatakan pemandu kompiler. Preprosesor merujuk kepada fase selama mana pemandu kompiler diproses. Kompiler memproses pemandu kompiler sebelum ia memproses statemen – statemen lainnya. Pemandu kompiler dibagi atas dua kelompok: pemandu preprosesor (prosesor directives ) dam program. Daftar pemandu kompiler diberikan dalam lampiran 2.
Dalam C setiap variabel dan fungsi harus dideklarasikan. Deklarasi dilakukan dengan menuliskan jenis (type) dan nama variabel atau fungsi yang bersangkutan.
Deklarasi mempermudah konversi jenis data yang dipakai. Deklarasi juga diperlukan untuk memeriksa apakah penempatan (assignment) suatu data dari satu variabel ke variabel lain sesuai atau tidak. Selanjutnya melalui deklarasi variabel pemograman dapat memberikan nilai awal pada variabel yang bersangkutan.
Fungsi adalah sekelompok statemen dengan tugas tertentu yang biasanya mengembalikan suatu harga kepada stetemen yang memanggilny. Pengembangan program atas fungsi – fungsi ( modul – modul ) memudahkan penulisan dan pemeriksaan kesahihan arus logika suatub program. Fungsi juga menghindari pengulangan yang tak perlu akan kode – kode untuk tugas yang sering dilaksanakan.
Fungsi boleh memiliki variabel lokalnya sendiri sehingga efek sampingan pemakaian variabel global yang tak perlu dapat dihindari (2).
2.8 USB
Universal Serial Bus disingkat USB adalah seperangkat Interface untuk komunikasi data serial antara berbagai device dan peripheral pada suatu sistem elektronik. Pada saat ini USB menjadi suatu standar komunikasi data serial yang menggantikan komunikasi data serial RS232. Keuntungan penggunaanUSB adalah fleksibel dan mudah digunakan, transfer data yang cepat dan andal, konsumsi daya rendah, dan biaya murah. Komunikasi data USB mendukung 4 macam mode tarnsfer data yaitu :
1. Control Transfer, adalah pertukaran informasi mengenai konfigurasi, setup, command/ perintah antar host (komputer deskop) dengan peripheral/ device.
2. Isochronous Transfer, adalah pertukaran informasi dengan kecepatan tinggi yang bersifat “Time Critical” dan umumnya digunakan pada streaming device seperti kamera video dan speaker real time.
3. Bulk Transfer, adalah pertukaran informasi menggunakan paket data berukuran besar dan tidak bersifat “Time Critical”. Mode ini umum digunakan pada device seperti printer dan scanner.
4. Interrupt Transfer, adalah pertukaran informasi menggunakan pakat data berukuran kecil dan umumnya digunakan pada device seperti mouse dan keyboard (13)
2.9 Power Supply
Power supply merupakan komponen yang menyebabkan komputer bisa bekerja karena arus listrik yang mengalir. Power supply berfungsi memberikan tenaga atau daya listrik agar semua komponen komputer bisa beroperasi.
Dua mode operasi dengan cara ini dapat diidentifikasi pada konverter flyback:
transfer energi penuh/lengkap (mode diskontinu), yang mana semua energi yang disimpan dalam transformer selama periode penyimpanan energi ( periode on) ditransfer ke keluaran selama periode flyback (periode off) dan transfer energi tidak penuh/tidak lengkap (mode kontinu), yang mana bagian energi tersimpan dalam transformer pada akhir periode on tinggal dalam transformer sampai pad awal periode on berikutnya.
Fungsi – fungsi transfer sinyal kecil untuk kedua mode operasi ini sangat berbeda, dan mereka dijelaskan secara terpisah. Dalam praktek, bila sebuah kisaran lebar tegangan masukan, tegangan keluaran dan beban arus dibutuhkan, konverter flyback akan dibutuhkan untuk operasi (dan stabil) pada kedua mode karena mode akan dijumpai pada beberapa titik pada jangkauan operasi. Sebagai hasil perubahan fungsi transfer pada titik dimana terdapat perpindahan dari satu mode ke mode lainnya, bersama – sama digabungkan menjadi sebuah komponen dalam transformer, keluaran induktor dan aksi – aksi diode roda gaya/ flywheel, konverter flyback dapat menjadi yang tersulit ditengah – tenga perancangan.
2.10Rangkaian Pembagi Tegangan
Voltage Divider atau Pembagi Tegangan adalah suatu rangkaian sederhana yang mengubah tegangan besar menjadi tegangan yang lebih kecil. Fungsi dari Pembagi Tegangan ini di Rangkaian Elektronika adalah untuk membagi Tegangan Input menjadi satu atau beberapa Tegangan Output yang diperlukan oleh Komponen lainnya didalam Rangkaian. Hanya dengan menggunakan dua buah Resistor atau lebih dan Tegangan Input, kita telah mampu membuat sebuah rangkaian pembagi tegangan yang sederhana.
Pengetahuan Pembagi Tegangan atau Voltage Divider ini sangat penting dan merupakan rangkaian dasar yang harus dimengerti oleh setiap Engineer ataupun para penghobi Elektronika.Terdapat dua bagian penting dalam merancang Pembagi Tegangan yaitu Rangkaian dan Persamaan Pembagi Tegangan.
Pada dasarnya, Rangkaian Pembagi Tegangan terdiri dari dua buah resistor yang dirangkai secara Seri.
Berikut ini adalah rangkaian sederhana sebuah pembagi tegangan atau Voltage Divider.
Gambar 2.10. Rangkaian pembagi Voltage devider
Rumus/Persamaan Pembagi Tegangan (Voltage Divider)
Aturan Pembagi Tegangan sangat sederhana, yaitu Tegangan Input dibagi secara proporsional sesuai dengan nilai resistansi dua resistor yang dirangkai Seri.
Vout = Vin x (R1 / (R1+R2))
2.11.Adaptor
Adaptor adalah sebuah perangkat berupa rangkaian elektronika untuk mengubah tegangan listrik yang besar menjadi tegangan listrik lebih kecil, atau rangkaian untuk mengubah arus bolak-balik (arus AC) menjadi arus searah (arus DC). Adaptor / power supplay merupakan komponen inti dari peralatan elektronik.
Adaptor digunakan untuk menurunkan tegangan AC 22 Volt menjadi kecil antara 3 volt sampai 12 volt sesuai kebutuhan alat elektronika. Terdapat 2 jenis adaptor berdasarkan sistem kerjanya, adaptor sistem trafo step down dan adaptor sistem switching.
Dalam prinsip kerjanya kedua sistem adaptor tersebut berbeda, adaptor stepdown menggunakan teknik induksi medan magnet, komponen utamanya adalah
kawat email yang di lilit pada teras besi, terdapat 2 lilitan yaitu lilitan primer dan lilitan skunder, ketika listrik masuk kelilitan primer maka akan terjadi induksi pada kawat email sehingga akan terjadi gaya medan magnet pada teras besi kemudian akan menginduksi lilitan skunder.
Sedangkan sistem switching menggunakan teknik transistor maupun IC switching, adaptor ini lebih baik dari pada adaptor teknik induksi, tegangan yang di keluarkan lebih stabil dan komponennya suhunya tidak terlalu panas sehingga mengurangi tingkat resiko kerusakan karena suhu berlebih, biasanya regulator ini di gunkan pada peralatan elektronik digital. Adaptor dapat dibagi menjadi empat macam, diantaranya adalah sebagai berikut :
1. Adaptor DC Converteradalah sebuah adaptor yang dapat mengubah tegangan DC yang besar menjadi tegangan DC yang kecil. Misalnya : Dari tegangan 12v menjadi tegangan 6v;
2. Adaptor Step Up dan Step Down. Adaptor Step Up adalah sebuah adaptor yang dapat mengubah tegangan AC yang kecil menjadi tegangan AC yang besar. Misalnya : Dari Tegangan 110v menjadi tegangan 220v. Sedangkan Adaptor Step Down adalah adaptor yang dapat mengubah tegangan AC yang besar menjadi tegangan AC yang kecil. Misalnya : Dari tegangan 220v menjadi tegangan 110v.
3. Adaptor Inverteradalah adaptor yang dapat mengubah tegangan DC yang kecil menjadi tegangan AC yang besar. Misalnya : Dari tegangan 12v DC menjadi 220v AC.
4. Adaptor Power Supply adalah adaptor yang dapat mengubah tegangan listrik AC yang besar menjadi tegangan DC yang kecil. Misalnya : Dari tegangan 220v AC menjadi tegangan 6v, 9v, atau 12v DC (Eprints Polsri).
Gambar 2.11Bentuk Fisik Adaptor
BAB 3
METODE PENELITIAN
3.1 Perancangan Diagram Blok Sistem
Adapun tahapan penelitian yang akan dilakukan diperlihatkan pada diagram Blok Sistem yang ditunjukkan pada gambar 3.1.
Gambar 3.1 Diagram Blok Sistem
3.1.1 Fungsi Setiap Blok
1. Catu Daya berfungsi sebagai sumber tegangan.
2. Sensor teganga berfungsi sebagai pendeteksi adanya perubahan tegangan yang terjadi pada suplay DC dan baterai.
3. Atmega328 berfungsi sebagai penerima sinyal berupa sinyal analog selanjutnya sinyal tersebut di proses menjadi sebuah data digitaldan selanjut nya dapat digunakan sebagai parameter .
4. NodeMCU ESP 8266 sebagai penerima data pengukuran dari arduino untuk selanjutnya dikirim ke platform server IoT.
5. Suplay DC berfungsi sebagai suplay utama tegangan DC ke beban.
6. Baterai berfungsi sebagai suplai cadangan tegangan DC ke beban.
Catu Daya ATMega 328p
Node MCU ESP 8266 Database
ThingSpeak IoT
Relay
Sensor tegangan
Suplai DC
Beban Baterai
7. Relay berfungsi untuk menghubungkan suplai DC ke beban jika tegangan pada suplay memenuhi ambang batas bawah dan menghubungkan baterai ke beban jika tegangan pada suplay = 0 .
Pada diagram blok diatas, seluruh sistem disupply oleh power supply.ATmega328 disini menjadi pusat pengontrol, artinya mikrokontroler ini menjadi otak dari semua sistem trsebut, Dimana komponen diatas di gerakkan oleh Atmega328p.
3.2 Peralatan dan Komponen 3.2.1. Peralatan
1. Gerenda Potong 2. Bor
3. Tang Potong 4. Solder 5. Multimeter 6. Obeng 7. Timah
8. Kabel Pelangi 3.2.2. Komponen Mekanik
1. Pcb 2. Spacer
3.2.3. Komponen Elektrik 1. Atemega328p 2. Node MCU ESP 8266 3. Module Sensor tegangan 4. Relay 5v
5. LM2596
3.3. Gambar Elektrical
3.3.1. Rangkaian Arduino UNO Dengan NodeMCU
Gambar 3.2Rangkaian Arduino UNO Dengan NodeMCU
Arduino Uno adalah sebuah board mikrokontroler yang didasarkan pada ATmega328 (datasheet). Arduino Uno mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino Uno memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah komputer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino Uno tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode.
Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:
a. Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi
dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
b. Sirkit RESET yang lebih kuat c. Atmega 16U2 menggantikan 8U2
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode,digital Write, dan digital Read. Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt.
Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:
a. Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip serial Atmega8U2 USB-ke-TTL.
b. ExternalInterrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attach Interrupt untuk lebih jelasnya.
c. PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi iki\ikoiknjjiikniknjk,analogWrite.
d. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
e. LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH led menyala, ketika pin bernilai LOW led mati.
Arduino Uno mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analog Reference.
Di sisi lain, beberapa pin mempunyai fungsi spesial:
a. TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library
Ada sepasang pin lainnya pada board:
b. AREF. Referensi tegangan untuk input analog. Digunakan dengan analog Reference.
c. Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.
3.3.2. Rangkaian NodeMCU Dengan PC
Gambar 3.3 Rangkaian NodeMCU Dengan PC
NodeMCU ESP8266 merupakan modul turunan pengembangan dari modul platform IoT (Internet of Things) keluarga ESP8266 tipe ESP. Secara fungsi modul ini hampir menyerupai dengan platform modul arduino, tetapi yang membedakan yaitu dikhususkan untuk “Connected to Internet“.Dengan spesifikasi sebagai berikut:
a. Mikrokontroller / Chip : ESP8266-12E.
b. Tegangan Input : 3.3 ~ 5V.
c. GPIO : 13 Pin.
d. Kanal PWM : 10 Kanal.
e. 10 bit ADC Pin : 1 Pin.
f. Flash Memory : 4 MB.
g. Clock Speed : 40/26/24 MHz.
h. WiFi : IEEE 802.11 b/g/n
3.3.3. Rangkaian Arduino UNO Dengan Relay
Gambar 3.4 Rangkaian Arduino Uno Dengan Relay
RangkaianArduino dengan Relay dapat dilihat pada Gambar 3.4. Rangkaian ini berfungsisebagai pengalih tegangan utama ke tegangan cadangan, dengan tegangan cadangan tersebut adalah berasal dari baterai dan tegangan utama berasal dari suplay DC yang selanjutnya tegangan tersebut di alirkan ke beban. Relay berkerja berdasarkan parameter tegangan yang sebelumnya telah didapat dari hasil pembacaan sensor tegangan pada sumber tegangan utama dan cadangan.
3.3.4. Rangkaian Relay Ke Baterai
Gambar 3.5 Rangkaian Relay Ke Baterai
RangkaianArduino dengan Relay dapat dilihat pada Gambar 3.4. Rangkaian ini berfungsisebagai pengalih tegangan utama ke tegangan cadangan, dengan tegangan cadangan tersebut adalah berasal dari baterai dan tegangan utama berasal dari suplay DC yang selanjutnya tegangan tersebut di alirkan ke beban. Relay berkerja berdasarkan parameter tegangan yang sebelumnya telah didapat dari hasil pembacaan sensor tegangan pada sumber tegangan utama dan cadangan.
3.3.5. Rangkaian Keseluruhan
Gambar 3.6 Rangkaian Keseluruhan
3.4 Perancangan Perangkat Lunak
Pada tahap perancang perangkat lunak ini ialah tahap pembuatan alur program atau algoritma alat berkerja dan tahap pembuatan desain
Gambar 3.7 Alur Perangkat
Dari flowchart tersebut dapat dijelaskan bahwa saat tegangan suplay DC utama dalam kondisi stabil > 11.2 v maka relay switch ke kondisi ON dan jika tegangan
< 11.2 v maka relai akan switch ke kondisi OFF sehingga sistem memakai tegangan cadangan dari baterai.
Gambar 3.8.Pengiriman Data
Pada tahap ini merupakan proses pengiriman data. Data hasil pengukuran sensor tegangan diolah pada arduino . Pada proses pengiriman data jika arduino menerima perintah “ Ya” dari Node MCU maka arduino akan mengirimkan data hasil pengukuran sensor ke Node MCU yang selanjutnya data tersebut di kirimkan ke database Thingspeak melalui sambungan internet.
3.4.2.Perancangan Arduino IDE untuk NodeMCU ESP8266
Untuk pemograman memakai Arduino IDE dimana default program Arduino IDE belum terdapat Board NodeMCU di menu Tools =.> Board maka perlu di add terlebih dahulu . Tujuan pemasangan board NodeMCU adalah agar board yang suport WIFI ESP8266 seperti Node MCU bisa di program pada Arduino IDE .
Cara menambahkan Board ESP8266 ke arduino IDE yaitu :
1. Pada Arduino IDE masuk ke menu File, terus pilih Preferences.
Gambar 3.9 Tampilan Arduino IDE
2. Lalu pada Additional Board Manager URLS, masukan link http://arduino.esp8266.com/stable/package_esp8266com_index.json , lalu klik OK.
Gambar 3.10 Tampilan Setting Arduino IDE
4. Lalu ke menu Tools, klik Board Manager .
Gambar 3.11 Tampilan Tools Arduino IDE
5. Di Filter your search atau kolom pencarian masukan esp, klik esp8266 by ESP8266 Community, klik Install lalu setelah selesai akan muncul tampilan seperti gambar 3.11 lalu klik Close.
Gambar 3.12 Tampilan Board Manager Arduino IDE
2. Setelah itu klik kembali menu Tools arahkan ke board lalu pilih dan klik NodeMCU 1.0 (ESP-12 Module)
Gambar 3.13 Tampilan Tools Board Arduino IDE
3.4.3.PerancanganWeb Thingspeak IoT
Untuk menggunakan Thingspeak IoT terlebih dahulu mmbuat akun MathWork.
Selanjutnya masuk ke halaman web Thingspeak IoTdengan mengetikkan alamat https://thingspeak.com/login?skipSSOCheck=true .Setelah itu masukan email dan pasword yang telah di daftarkan pasa MathWork.
Gambar 3.14Tampilan Login thingspeak
Klik pada menu New Channel untuk membuat Chanel baru pada Thingspeak.
Gambar 3.15 Tampilan Menu Utama Thingspeak
Kemudian isi keterangan pada channel seperti nama channel , centang field untuk menampilkan tampilan yang akan di tampilkan sesuai dengan banyaknya data parameter yang di kirim. Kemudian tekan menu SaveChannel pada menu paling bawah.
Gambar 3.16 Tampilan Konfigurasi Channel
Untuk melihat chanel yang telah kita buat klk pada menu Channel => MyChannel sehingga muncul tampilan berikut ini.
Gambar 3.17 Tampilan Channel baru