Anda di halaman 1dari 67

i

SEMINAR HASIL

PROTOTYPE KEAMANAN KERAMBA IKAN


MENGGUNAKAN ARDUINO BERBASIS IOT

FIFIANI SYAHRIATI
NIM : 18 650 047

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS DAYANU IKHSANUDDIN
BAUBAU
2022
ii

SEMINAR HASIL

PROTOTYPE KEAMANAN KERAMBA IKAN


MENGGUNAKAN ARDUINO BERBASIS IOT

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana

Pada jurusan Teknik Informatika

Universitas Dayanu Ikhsanuddin Baubau

Disusun Oleh :

FIFIANI SYAHRITI
NIM : 18 650 047

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS DAYANU IKHSANUDDIN
BAUBAU
2022
iii

LEMBAR PERSETUJUAN

SEMINAR HASIL

PROTOTYPE KEAMANAN KERAMBA IKAN


MENGGUNAKAN ARDUINO BERBASIS IOT

Disusun Oleh :
FIFIANI SYAHRIATI
NIM : 18 650 047
Program Studi : Teknik Informatika

Telah Disetujui Oleh :

Dosen Pembimbing Utama, Dosen Pembimbing Pendamping,

Nalis Hendrawan, S.T., M.T. Ery Muchyar Hasiri, S.Kom., M.T.


NIDN. 0921128902 NIDN. 0913098203

Mengetahui :
Ketua Program Studi Teknik Informatika

Ery Muchyar Hasiri, S.Kom., M.T.


NIDN. 0913098203
iv

KATA PENGANTAR

Assalamu’ Alaikum Warahmatullahi Wabarakaatuh

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan
karunianya, sertas Shalawat dan salam selalu tercurah kepada Rasulullah SAW,
sehingga penulis dapat menyelesaikan Proposal yang berjudul “Prototype
Keamanan Keramba Ikan Menggunakan Arduino Berbasis Iot”.

Adapun tujuan dari penulisan Proposal ini adalah untuk memenuhi salah
satu syarat dalam menyelesaikan jenjang program strata satu (S-1) pada Program
Studi Teknik Informatika Unidayan Baubau.

Penulis sangat menyadari bahwa banyak kendala yang dihadapi dalam


menyelesaikan Proposal ini, namun berkat dorongan, dukungan, bimbingan,
arahan, serta motivasi yang besar yang diberikan sehingga penyusunan Proposal
Penelitian ini dapat terselesaikan dengan baik. Ucapan terimakasih serta
penghargaan yang setinggi-tingginya penulis sampaikan kepada semua pihak yang
telah banyak membantu dan mendukung, terutama kepada :
1. Bapak Ir. H. Laode Muhammad Sjamsul Qamar, M.T. Selaku Rektor
Unidayan.
2. Bapak Hilda Sulaiman Nur, S.T., M.T. Selaku Dekan Fakultas Teknik.

3. Bapak Ery Muchar H. S.Kom., M.T. Selaku Ketua Program Studi Teknik
Informatika Universitas Dayanu Ikhsanuddin dan selaku pembimbing II
telah banyak memberikan semangat dan dorongan dalam menyelesaikan
Proposal ini .
4. Bapak Nalis Hendrawan, S.T., M.T. Selaku Pembimbing I yang telah
banyak memberikan ide, masukan dan arahan kepada penulis dalam
menyelesaikan Proposal ini.
5. Bapak/Ibu Penguji yang telah memberikan saran dan masukan untuk
kesempurnaan Proposal Penelitian ini.
6. Kedua orang tua tercinta yang selalu memberikan dukungan serta motivasi
baik moral maupun spiritual dengan sabar dan ikhlas dan seluruh
v

keluargaku tercinta.

7. Semua teman-teman senasib dan seperjuangan, khususnya Angkatan 2018


Teknik Informatika Universitas Dayanu Ikhsanuddin.

Sebagai manusia yang tidak luput dari kesalahan, penulis menyadari bahwa
dalam penyusunan Proposal Penelitian ini tetap saja masih terdapat banyak
kekurangan. Untuk itu penulis sangat mengharapkan saran dan kritik yang
membangun. Akhir kata semoga Proposal ini dapat bermanfaat bagi kita semua.
Amin Ya Rabbal ‘Alamin.
Wassalamu’ Alaikum Warahmatullahi Wabarakaatuh

Baubau, April 2022

Penulis
vi

DAFTAR ISI

HALAMAN JUDUL...............................................................................................i
LEMBAR PERSETUJUAN.................................................................................iii
KATA PENGANTAR...........................................................................................iv
DAFTAR ISI..........................................................................................................vi
DAFTAR TABEL...............................................................................................viii
DAFTAR GAMBAR.............................................................................................ix
BAB I PENDAHULUAN.......................................................................................1
A. Latar Belakang..............................................................................................1
B. Rumusan Masalah.........................................................................................5
C. Batasan Masalah...........................................................................................5
D. Tujuan Penelitian..........................................................................................6
E. Manfaat Penelitian........................................................................................6
F. Sistematika Penulisan...................................................................................6
BAB II LANDASAN TEORI................................................................................8
A. Kerangka Teori.............................................................................................8
B. Kerangka Pikir............................................................................................26
BAB III METODE PENELITIAN.....................................................................27
A. Waktu dan Tempat Penelitian.....................................................................27
C. Alat Dan Bahan Penelitian..........................................................................28
BAB IV HASIL DAN PEMBAHASAN.............................................................30
A. Cara Kerja Sistem Secara Umum................................................................30
B. Rancangan Hardware dan Software (Perangkat Keras dan Perangkat
Lunak).........................................................................................................31
BAB V PENGUJIAN SISTEM...........................................................................38
A. Pengujian Fungsional..................................................................................38
B. Pengujian Keseluruhan Alat........................................................................41
BAB VI PENUTUP..............................................................................................43
A. Kesimpulan.................................................................................................43
B. Saran............................................................................................................43
DAFTAR PUSTAKA...........................................................................................44
LAMPIRAN..........................................................................................................46
vii

DAFTAR TABEL

Tabel 2. 1 Deskripsi Arduio Uno...........................................................................14


Tabel 2. 2 Spesifikasi ESP32-CAM.......................................................................19
Tabel 2. 3 Spesifikasi Sensor Pir...........................................................................21
Tabel 2. 4 Tabel Flowchart....................................................................................25
Tabel 3. 1 Jadwal Pelaksanaan penelitian..............................................................27
Tabel 4. 1 Penjelasan Desain alat secara keseluruhan...........................................33
vii
i

DAFTAR GAMBAR

Gambar 2. 1 Keramba...........................................................................................9
Gambar 2. 2 Board Arduino Uno........................................................................13
Gambar 2. 3 IDE Arduino...................................................................................16
Gambar 2. 4 Konsep IOT....................................................................................17
Gambar 2. 5 ESP32-CAM...................................................................................18
Gambar 2. 6 Sensor Passive Infra Red................................................................21
Gambar 2. 7 Proses Penginderaan Sensor Passive Infra Red.............................22
Gambar 2. 8 Ponsel.............................................................................................24
Gambar 2. 9 Kerangka Pikir................................................................................26
Gambar 4. 1 Diagram Blok Sistem.....................................................................30
Gambar 4. 2 Diagram hardware sistem..............................................................31
Gambar 4. 3 Rancangan alat dalam bentuk skematik.........................................32
Gambar 4. 4 Desain alat secara keseluruhan.......................................................33
Gambar 4. 5 Box Alat..........................................................................................33
Gambar 4. 6 Tahap Wiring..................................................................................34
Gambar 4. 7 Pemasangan komponen pada box...................................................34
Gambar 4. 8 Flowchart Sistem............................................................................35
Gambar 4. 9 Header program..............................................................................36
Gambar 4. 10 Setup program.................................................................................37
Gambar 4. 11 Loop program.................................................................................37
Gambar 5. 1 Pengujian sensor PIR......................................................................38
Gambar 5. 2 Output sensor PIR pada serial monitor Arduino IDE.....................38
Gambar 5. 3 Tampilan keseluruhan alat..............................................................41
1

BAB I

PENDAHULUAN

A. Latar Belakang

Tingginya angka kriminalitas khususnya pencurian yang sering terjadi

sekarang ini menjadikan keamanan sebagai kebutuhan yang mutlak diperlukan.

Selain itu aktifitas manusia yang semakin padat seperti sekarang ini membuat

pemilik keramba ikan tidak sempat untuk melakukan pengawasan secara terus

menerus. Oleh karena itu dibutuhkan suatu perangkat berupa sistem keamanan

untuk dapat mengawasi keramba setiap waktu. Sehingga diharapkan dengan

pengaplikasian sistem keamanan pengawasan tersebut maka dapat memberikan

rasa aman dan nyaman. Selain hal tersebut tentunya dengan pengaplikasian sistem

keamanan maka dapat menekan angka kriminalitas yang terjadi dimasyarakat

khususnya tindak kejahatan pencurian.

Kehidupan manusia yang semakin kompleks seiring dengan perkembangan

zaman sekarang ini membuat kebutuhan hidup terus meningkat serta padatnya

aktivitas yang dilakukan mengharuskan untuk dapat memenuhi semua

kebutuhannya tanpa harus membuang banyak waktu, biaya, tenaga serta

mengeyampingkan pekerjaan yang lebih penting lainnya. Dengan adanya suatu

sistem yang serba otomatis diharapkan mampu bekerja sendiri dan dapat

membantu pekerjaan tersebut. Seperti halnya dalam pengawasan keamanan

keramba dan pengontrolannya dengan jarak jauh secara otomatis dapat

memudahkan pekerjaan pengurusan keramba tanpa harus menggangu aktivitas

penting lainnya.
2

Permasalahan yang dialami pembudidaya yakni keamanan keramba

dikarenakan tidak adanya sistem yang bisa menjamin akan keamanan dari maling.

Solusi yang dibuat oleh masyarakat yakni membuat gubuk sederhana yang akan

mereka jaga, selain itu keramba harus dijaga setiap malam. Hal ini tentu tidak

efisien dan sangat membahayakan bagi pembudidaya maupun orang lain apabila

musim hujan sangat mepersulit yang menjaga karena gubuknya hanya sederhana

dan bila hujan lebat dan angin, mereka akan basah. Selain itu juga tidak

memungkinkan juga untuk mereka selalu menjaga kerambah mereka tersebut

setiap hari dan jam.

Oleh karena itu teknologi yang mampu memberikan informasi tentang

keadaan keramba secara realtime sangatlah diperlukan, salah satu teknologi yang

dapat mendukung pengiriman notifikasi secara langsung dan jarak jauh adalah

Internet Of Things (IoT). Dengan teknologi ini dapat memanfaatkan jaringan

internet untuk menghubungkan kondisi keramba dengan pemiliknya melalui

sebuah aplikasi pada perangkat smartphone.

Beberapa penelitian yang pernah di lakukan sebelumnya menjadi referensi

penelitian ini yaitu Rancang Bangun Sistem Keamanan Rumah menggunakan

Sensor PIR dan SMS sebagai Notifikasi. Sistem ini dirancang untuk mendeteksi

gerakan dalam rumah menggunakan sensor PIR berbasis mikrokontroler

ATmega32. Setiap gerakan yang disertai suhu dalam ruang yang dideteksi akan

mengaktifkan perekam video sekaligus mengirim notifikasi sms ke nomor

handphone pemilik rumah. dari hasil pengujian diperoleh setiap gerakan yang

disertai suhu tubuh manusia atau hewan, sistem segera mengaktifkan perekam
3

video dan mengirim sms ke nomor handphone pemilik (Tempongbuka, Allo &

Sompie, 2015).

Penelitian selanjutnya, Faisal Yamin (2016). Sistem keamanan rumah

otomatis dengan menggunkan Kamera dan SMS Gateway. Alat ini dirancang

dengan mengendalikan sistem keamanan sehingga pemilik rumah dapat diberitahu

mengenai kondisi terkini rumah terhadap gangguan pencurian melalui Kamera

dan Short Message Service (SMS) dan menghubungi pemilik. Alat ini bekerja

ketika sensor mendeteksi gerak dan Arduino akan memberikan input untuk

mengaktifkan Kamera dan SMS Gateway. Dari hasil pengujian yang telah

dilakukan Arduino uno dapat digunakan dan mengendalikan alat dari sistem

keamanan rumah bekerja sesuai dengan urutan instruksi pemogramanan dengan

menggunakan sensor PIR sebagai pendeteksi objek (manusia) ketika seseorang

tanpa izin telah memasuki rumah. Sistem keamanan rumah menggunakan Kamera

dan SMS Gateway yang berbasis Arduino Uno dapat di aplikasikan sebagai

pengawas dalam suatu rumah.

Penelitian selanjutnya dengan judul Sistem Keamanan Rumah berbasis

Raspberry Pi dan Telegram Messenger. Penelitian ini merancang sistem

keamanan rumah berbasis Internet of Things (IoT) memanfaatkan Telegram

Messenger. Ketika sensor PIR (Passive Infra Red) mendeteksi gerak manusia,

maka kamera Raspberry Pi akan mengambil foto dan mengirimkan hasilnya

kepada pengguna melalui Telegram Messenger. Bot pada 5 Telegram Messenger

akan menawarkan 2 fitur yang dapat dipilih oleh pemilik rumah, yaitu mengambil

foto atau video (Kurniawan, Sunarya & Rohmattulloh, 2018).


4

Penelitian selanjutnya dengan judul Rancang Bangun Secured Door

Automatic System Untuk Keamanan Rumah Menggunakan Sms Berbasis Arduino

Sistem keamanan tujuan penelitian ini adalah untuk keamanan pada pintu yang

prinsip kerjanya secara otomatis. Pada saat membuka kunci pintu menggunakan

SMS proses pengiriman perintah SMS membutuhkan waktu 5-10 detik untuk

sistem merespon perintah. Jika membuka kunci pintu menggunakan keypad

dengan memasukan sandi atau dengan menekan tombol manual, sistem

melakukan penguncian otomatis setelah pintu terbuka dalam rentang waktu

10detik dan memberi notifikasi SMS dalam rentang waktu 4-7detik untuk

pengiriman SMS(Widcaksono, Masyhadi, 2018).

Penelitian lainya dengan judul rancang bangun miniatur pengaman pintu

otomatis menggunakan sidik jari berbasis Internet Of Things (Iot). Tujuan

penelitian ini adalah Untuk memaksiamalkan keamanan untuk rumah tinggal,

perlu suatu metode yang dapat diimplemenasikan dengan menggunakan

pengaman pintu otomatis menggunakan sidik jari. Salah satu upaya untuk

meningkatkan keamanan rumah tinggal yaitu menggunakan senssor fingerprint

sebagai akses untuk membuka pintu, Mikrokontroler Atmega328p menjadi

penyimpan logika perintah pada sistem, motor stepper sebagai penggerak untuk

membuka dan menuntup pintu dan modul Esp8266 sebagai modul Wi-Fi yang

menghubungkan komponen pralatan menggunkan jaringan internet dengan

Aplikasi blynk yang digunakan segai pengontrolan jarak jauh serta notifikasi

pemberitahuan akses masuk rumah dengan konsep Internet of Things (IoT).

(Syaifuddin, Notosudjono & Fiddiansyah,2019).


5

Penelitian selanjutnya dengan judul Rancang Bangun Pendeteksi Pengaman

Pintu Dan Jendela Berbasis Internet Of Things (IoT), tujuan penelitian ini untuk

mencegah terjadinya kejahatan seperti pencurian, sehingga rumah akan tetap

aman jika pemiliknya dirumah maupun sedang diluar rumah. Penelitian ini

merancang pendeteksi terbuka dan tertutupnya pintu dan juga jendela yang terdiri

dari modul nodemCU esp8266, buzzer, sensor magnetic, dan blynk. Aplikasi blynk

mampu memberikan informasi secara realtime kepada pengguna,sehingga dapat

memantau keadaan pintu dan jendela serta dapat menginformasikan apabila ada

yang membuka pintu dan jendela secara paksa(Sujono, Herlambang, 2019).

Untuk itu dari uraian latar belakang diatas, Memberikan inisiatif untuk

membuat suatu sistem keamanan dengan menggabungkan via telegram dan

kamera dengan judul “Prototype Keamanan Keramba Ikan Menggunakan

Arduino Berbasis IoT”. Sistem ini digunakan sebagai keamanan keramba

dengan menggunakan sensor, Kamera. Sistem ini dibuat untuk mengetahui orang

yang mencuri ikan pada keramba.

B. Rumusan Masalah

Rumusan masalah dalam penelitian ini adalah bagaimnana merancang dan

mengimplementasikan sebuah alat keamanan keramba ikan menggunakan sensor

dan Internet of Things (IoT).

C. Batasan Masalah

Adapun Batasan-batasan masalah yang digunakan dalam penulisan

penelitian ini yaitu :


6

1. Mikrokontroler yang digunakan adalah ESP32 Cam.

2. Sistem keamanan ini hanya berfokus pada tindak kejahatan pencurian pada

keramba ikan.

3. Prototype ini hanya simulasi yang dibentuk dalam miniatur keramba ikan

yang di lengkapi dengan sistem secara otomatis.

4. Aplikasi yang di gunakan adalah Telegram.

D. Tujuan Penelitian

Adapun tujuan penelitian yang digunakan dalam penulisan proposal ini

adalah Untuk membuat sebuah perangkat sistem yang dapat memonitoring atau

mengawasi keramba ikan setiap waktu dan memberikan informasi keamanan

keramba ikan dengan cepat yang berbasis Internet of Things (IoT).

E. Manfaat Penelitian

Rancang bangun ini pun bisa memberikan manfaat kepada pemilik keramba

karena dengan adanya sistem keamanan, maka para pelaku kejahatan akan

berpikir ulang apabila akan melakukan aksi pencurian.

F. Sistematika Penulisan

Adapun maanfaat dalam penulisan proposal ini untuk memberikan

gambaran secara garis besarnya maka secara ringkas sistematika penulisan dapat

di uraikan dalam kompetisi bab sebagai berikut :

BAB I PENDAHULUAN

Dalam bab tentang uraian latar belakang masalah, rumusan

masalah, batasan masalah, dan sistematika penulisan.


7

BAB II LANDASAN TEORI

Dalam bab ini menjelaskan secara umum kerangka teori dan

kerangka piker yang dapat di implementasikan dalam penelitian.

BAB III METODE PENELITIAN

Bab ini menjelaskan tentang waktu dsn tempaat penelitian, teknik

pengumpulan dan analisis data dalam mencari data dalam data-data

yang di butuhkan untuk pembuatan alat yang di buat.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Dalam bab ini menjelaskan tentang analisis kondisi awal sistem yang

sedang berjalan, perancangan system dan implementasi

simulasi sistem.

BAB V PENGUJIAN SISTEM

Dalam bab ini menjelaskan tentang metode yang digunakan dalam

pengujian sistem dan teknik yang digunakan dalam pengujian sistem.

BAB VI PENUTUP

Dalam bab ini menjelaskan tentang kesimpulan setelah sistem

diimplementasikan dan saran agar sistem yang diimplementasikan

dapat berjalan lebih baik dan maksimal.

DAFTAR PUSTAKA

Daftar pustaka berisi daftar rujukan dan sumber rujukan yang

diguanakan dalam penelitian dan penyusunan laporan.

LAMPIRAN
8

BAB II

LANDASAN TEORI

A. Kerangka Teori
1. Defenisi Keramba

Keramba adalah keranjang atau kotak dari bilah bambu untuk

membudidayakan ikan. Definisi lain dari keramba adalah wadah budi dayakan

berupa kandang yang terbuat dari bambu atau papan kayu yang ditempatkan di

badan sungai. Keramba ikan umumnya ditempatkan di sungai sehingga air sungai

dapat mengalir melewati keramba dan air di dalam keramba senantiasa

bersirkulasi mengikuti arus air. Keramba bambu dapat ditempatkan tenggelam

maupun mengapung sebagian, dan masing-masing dilakukan sesuai kebutuhan. Di

perairan yang dalam dan luas, keramba ikan ditempatkan mengapung sebagian

dengan bantuan pelampung.

Salah satu varian keramba yaitu keramba jaring apung yang ditempatkan di

laut. Keramba jaring apung terdiri dari rangka dengan pijakan untuk inspeksi.

Jaring apung menggunakan pelampung agar tetap mengapung, serta tertambat

pada rangka dan jangkar sehinga tidak berpindah dari posisinya. Ikan tetap berada

di dalam keramba karena terkurung oleh jaring. Jenis keramba lain yaitu keramba

hampang, dibangun dengan menggunakan jaring yang ditegakkan dengan tonggak

kayu atau bambu. Keramba jenis ini umumnya dibangun di pinggir sungai dan

perairan yang dangkal.


9

Gambar 2. 1 Keramba.
Sumber (https://www.infoikan.com)

2. Konsep Dasar Sistem.

Pengertian dari Sistem adalah suatu kesatuan yang memiliki tujuan bersama

dan memiliki bagianbagian yang saling berintegrasi satu sama lain. Sebuah

sistem harus mempunyai dua kegiatan yang pertama adalah adanya masukan

(input) yang merupakan sumber tenaga untuk dapat beroperasinya suatu sistem.

Yang kedua yaitu adanya kegiatan operasional (proses) yang mengubah masukan

menjadi keluaran (output) berupa hasil operasi (tujuan, sasaran, target

pengoperasian sistem).

Terdapat dua kelompok pendekatan sistem didalam mendefinisikan

sistem yaitu pendekatan pada prosedur dimana sistem adalah suatu jaringan

kerja dari prosedur-prosedur yang saling berhubungan, terkumpul bersama-sama

untuk melakukan suatu kegiatan atau untuk tujuan tertentu, dan pendekatan

pada komponen-komponen atau elemen-elemen, pendekatan pada komponen

dianggap lebih mudah dalam mempelajari sistem untuk tujuan dan perancangan

sistem.
10

3. Sistem Kontrol

Sistem kontrol atau sistem kendali adalah kumpulan dari beberapa

komponen yang saling terhubung satu sama lainnya, sehingga membentuk suatu

tujuan tertentu yaitu mengendalikan atau mengatur suatu sistem. Sistem kontrol

terbagi menjadi dua jenis yaitu sistem kontrol loop terbuka dan sistem kontrol

loop tertutup. Tujuan utama dari suatu sistem pengendalian adalah untuk

mendapatkan kondisi kerja yang optimal pada suatu sistem yang dirancang.

Namun di era globalisasi sekarang ini, semakin pesatnya perkembangan ilmu

pengetahuan dan teknologi di dunia maka sistem kontrol semakin canggih.

Istilah-istilah dari sistem kendali atau sistem kontrol adalah :

a. Plants.

Plants dapat berupa suatu peralatan atau suatu kelengkapan dari perangkat

mesin yang bekerja bersama untuk mengerjakan suatu tujuan tertentu.

b. Processes.

Process sebagai suatu kelanjutan operasi atau pengembangan yang ditandai

dengan serangkaian perubahan bertahap yang menggantikan satu sama lain

dengan cara yang relatif tetap dan mengarahkan pada suatu tujuan.

c. Systems.

System merupakan kombinasi dari komponen yang bertindak bersama dan

melakukan suatu tujuan.

d. Disturbances.

Disturbance adalah suatu sinyal yang cenderung mempengaruhi nilai

keluaran dari suatu sistem. Disturbance yang dihasilkan oleh sistem dinamakan
11

internal disturbance sedangkan disturbance yang muncul dari luar sistem disebut

external distubance.

4. Sistem Otomatis

Sistem otomatis merupakan sistem kontrol umpan balik dengan acuan

masukan atau keluaran yang dikehendaki dapat konstan atau berubah secara

perlahan dengan berjalannya waktu.

Sistem otomatis dapat didefinisikan sebagai suatu teknologi yang dapat

menggerakkan sebuah perangkat alat dengan sendirinya tanpa ada bantuan dari

luar alat. Sistem ini berkaitan dengan aplikasi mekanik, dan elektronik.

Semuanya bergabung menjadi satu untuk memberikan fungsi terhadap sistem

rancangan penggerak (mekanik) sehingga akan memiliki fungsi tertentu.

Jadi sistem otomatis dapat dinyatakan sebagai susunan beberapa perangkat

yang masing-masing memiliki fungsi yang berbeda namun saling berkaitan

membentuk satu kesatuan dengan secara terus menerus memeriksa kondisi

masukan yang mempengaruhi untukkemudian melaksanakan pekerjaan sesuai

dengan fungsinya secara otomatis atau dengansendirinya. Beberapa sistem kecil

dapat digabungkan menjadi sebuah sistem yang lebih besardan komplek. Terdapat

tiga elemen dasar yang menjadi syarat mutlak bagi sistem otomatis, yaitu power,

program of instruction, dan sistem kontrol.

a. Power

Power atau bisa dikatakan sumber energi dari system otomatis berfungsi

untuk menggerakan semua komponen dari sistem otomatis. Sumber

energi bisa menggunakan energi listrik, baterai, ataupun Accu, semuanya


12

tergantung dari tipe system otomatis itu sendiri.

b. Program of instruction

Proses kerja dari system otomatis mutlak memerlukan sistem kontrol baik

menggunakan mekanis, elektronik ataupun komputer. Untuk program perintah

pada sistem kontrol mekanis maupun rangkaian elektronik tidak menggunakan

bahasa pemrograman dalam arti sesungguhnya, karena sifatnya yang analog.

Untuk sistem kontrol yang menggunakan komputer dan keluarganya (PLC

maupun Mikrokontroler) bahasa pemrograman merupakan hal yang wajib ada.

5. Defenisi Prototype

Menurut Simarmata (2010), prototype adalah bagian dari produk yang

mengekspresikan logika maupun fisik antarmuka eksternal yang ditampilkan.

Sedangkan Menurut Andikos (2016) dalam Michael (2019), prototipe merupakan

suatu metode dalam pengembangan sistem yang menggunakan pendekatan untuk

membuat sesuatu program dengan cepat dan bertahap sehingga segera dapat

dievaluasi oleh pemakai. Jadi bisa disimpulkan, prototype adalah contoh model

dari hasil produk sebenarnya sehingga dapat dievaluasi kembali oleh pemakai

untuk mengurangi kesalahan dari bentuk aslinya.

Prototype merupakan salah satu metode pengembangan perangkat lunak

yang menggunakan pendekatan untuk membuat rancangan dengan cepat dan

bertahap sehingga dapat segera dievaluasi oleh calon pengguna/klien. Dengan

metode prototype ini pengembang dan klien dapat saling berinteraksi selama

proses pembuatan prototype sistem. Terkadang sering terjadi, klien hanya

mendefinisikan secara umum apa yang dikehendaki tanpa menyebutkan proses


13

masukan (input) dan keluaran (output) dari sistem yang akan dibuat.

6. Arduino Uno

Arduino adalah sebuah board mikrokontroller yang berbasis ATmega328.

Arduino memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai

output PWM, 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power,

kepala ICSP, dan tombol reset. Arduino mampu men-support mikrokontroller

dapat dikoneksikan dengan komputer menggunakan kabel USB. (FeriDjuandi, 2011).

Gambar 2. 2 Board Arduino Uno.


Sumber: (www.arduino.cc)

Arduino Uno, Menurut (FeriDjuandi, 2011) Arduino Uno adalah

merupakan sebuah board minimum system mikrokontroler yang bersifat open

source. Didalam rangkaian board arduino terdapat mikrokontroler AVR seri

ATMega 328 yang merupakan produk dari Atmel. Arduino menyediakan 20 pin

I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output. Untuk 6

pin analog sendiri bisa juga difungsikan sebagai output digital jika diperlukan

output digital tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin

analog menjadi digital cukup mengubah konfigurasi pin pada program.


14

Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk

menggunakan pin analog menjadi output digital, pin analog yang pada keterangan

board 0-5 kita ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi

juga sebagi pin output digital 14-16.

Tabel 2. 1 Deskripsi Arduio Uno.

Mikrokontroler Atmega 328

Tegangan pengoperasian 5V

Tegangan input yang disarankan 7-12 V

Batas tegangan input 6-20 V

Jumlah pin 1/0 6 pin

14 pin digital (6 diantaranya


Jumlah pin input Analog
menyediakan keluaran PWM)

Jumlah pin input Analog 6 pin

Arus DC tiap pin 1/0 40mA

Arus DC untuk pin 3,3 V 50mA

32 KB (Atmega 328) sekitar 0,5 KB


Memory Flash
digunakan oleh bootloader

SRAM 2 KB (ATmega 328)

EPROM 1 KB (ATmega 328)


Clock Speed 16 Hz

7. Perangkat Lunak Arduino


15

Software arduino IDE adalah suatu software yang khusus digunakan untuk

memprogram mikrokontroler bermerek arduino.( Kadir. 2012; 1924). Arduino

tidak membuat bahasa pemrogramam khusus, melainkan menggunakan Bahasa

Processing. Bahasa Processing adalah bahasa pemograman tingkat tinggi yang

dialeknya sangat mirip dengan bahasa C++ dan Java, sehingga pengguna yang

sudah terbiasa dengan kedua bahasa tersebut tidak akan menemui kesulitan

dengan processing. Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino

IDE juga dilengkapi dengan library C/C++ yang biasa disebut Wiring yang

membuat operasi input dan output menjadi lebih mudah.

Arduino IDE ini dikembangkan dari software Processing yang dirombak

menjadi Arduino IDE khusus untuk pemrograman dengan Arduino. IDE Arduino

adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE

Arduino terdiri dari :

a. Editor program, sebuah window yang memungkinkan pengguna menulis

dan mengedit program dalam bahasa processing.

b. Compiler, sebuah modul yang mengubah kode program (bahasa processing)

menjadi kode biner. Bagaimanapun sebuah microkontroler tidak akan bisa

memahami bahasa processing, yang bisa dipahami oleh mikrokontroler

adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.

c. Uploader, sebuah modul yang memuat kode biner dari komputer kedalam

memori di dalam papan arduino.


16

Gambar 2. 3 IDE Arduino.

Sumber: (www.arduino.cc)

8. Internet of Things

Internet of Things adalah suatu konsep dimana objek tertentu mempunyai

kemampuan untuk mentransfer data lewat jaringan tanpa memerlukan adanya

interaksi dari manusia ke manusia ataupun dari manusia ke perangkat komputer.

Menurut (Dismawan, 2019) Internet of Things (IoT) atau dikenal juga

dengan singkatan IoT, merupakan sebuah konsep yang bertujuan untuk

memperluas manfaat dari konektivitas internet yang tersambung secara terus -

menerus. Dengan semakin berkembangnya infrastruktur internet, maka kita

menuju babak berikutnya, di mana bukan hanya smartphone atau komputer saja

yang dapat terkoneksi dengan internet. Namun berbagai macam benda nyata akan

terkoneksi dengan internet. Sebagai contohnya dapat berupa : mesin produksi,

mobil, peralatan elektronik, peralatan yang dapat dikenakan manusia (wearables),

dan termasuk benda nyata apa saja yang semuanya tersambung ke jaringan lokal

dan global menggunakan sensor dan atau aktuator yang tertanam.


17

Banyaknya teknologi dalam IoT ini, maka dibutuhkan system pengaman

yang dapat melindungi setiap bagian sistem dari ancaman-ancaman. Ada beberapa

garis besar yang dimiliki oleh IoT yaitu, keamanan fisik, keamanan operasi, dan

keamanan data.

Konsep IoT ini sebetulnya cukup sederhana dengan cara kerja mengacu

pada 3 elemen utama pada arsitektur IoT, yakni: Barang Fisik yang dilengkapi

modul IoT, Perangkat Koneksi ke Internet seperti Modem dan Router Wireless

Speedy seperti di rumah anda, dan Cloud Data Center tempat untuk menyimpan

aplikasi beserta data base.

Gambar 2. 4 Konsep IOT


Sumber: (http://www.mobnasesemka.com/internet-of-things/)

9. Camera ESP32

Modul ESP32-CAM merupakan sebuah board mikrokontroler yang

dilengkapi dengan Wi-Fi dan bluetooth serta dilengkapi dengan kamera OV2640

yang dapat digunakan untuk berbagai keperluan, contohnya untuk CCTV,

mengambil gambar dan sebagainya. modul ini sangat cocok untuk projek IoT

sehingga banyak aplikasi IoT menggunakan modul kamera ini, misalkan untuk

perangkat rumah pintar, kontrol nirkabel Industri, sistem keamanan, identifikasi

kode QR, dan aplikasi IoT lainya.


18

ESP32 dikenalkan oleh Espressif System yang merupakan penerus dari

mikrokontroler ESP8266. Mikrokontroler ESP32 memiliki keunggulan yaitu

sistem berbiaya rendah, dan juga berdaya rendah dengan modul WiFi yang

terintegrasi dengan chip mikrokontroler serta memiliki bluetooth dengan mode

ganda dan fitur hemat daya menjadikannya lebih fleksibel. ESP32 kompatibel

dengan perangkat seluler dan aplikasi Internet of Things(IoT). Mikrokontroler ini

dapat digunakan sebagai sistem mandiri yang lengkap atau dapat dioperasikan

sebagai perangkat pendukung mikrokontroler host. (Biswas, 2018)

Gambar 2. 5 ESP32-CAM
Sumber: (https://www.esp32cam.com)

ESP32 dikenalkan oleh Espressif System yang merupakan penerus dari

mikrokontroler ESP8266. Mikrokontroler ESP32 memiliki keunggulan yaitu

sistem yang berbiaya rendah, dan juga berdaya rendah dengan modul WiFi yang

terintegrasi dengan chip mikrokontroler serta memiliki bluetooth dengan mode

ganda dan fitur hemat daya menjadikannya lebih fleksibel.


19

Tabel 2. 2 Spesifikasi ESP32-CAM

Spesifikasi produk

Module model ESP32-CAM

Package DIP-16

Size 27*40.5*4.5(±0.2)mm

SPI Flash Default 32Mbit

RAM 520KB SRAM +4M PSRAM

Bluetooth Bluetooth 4.2 BR/EDR and BLE standards

Wi-Fi 802.11 b/g/n/

Support interface UART, SPI, I2C, PWM

Support TF card Maximum support 4G

IO port 9

UART Baudrate Default 115200 bps

Image Output Format JPEG(OV2640supportonly),BMP,GRAYSCALE

Spectrum Range 2412 ~2484MHz

Antenna Onboard PCB antenna, gain 2dBi

Transmit Power 802.11b: 17±2 dBm (@11Mbps) 802.11g: 14±2

dBm (@54Mbps) 802.11n: 13±2 dBm (@MCS7)

Security WPA/WPA2/WPA2-Enterprise/WPS

Power Supply Range 5V

10. Sensor PIR (Passive Infra Red).


20

Sensor PIR (Passive Infra Red) adalah sensor yang digunakan untuk

mendeteksi adanya pancaran sinar infra merah. Sensor PIR bersifat pasif, artinya

sensor ini tidak memancarkan sinar infra merah tetapi hanya menerima radiasi

sinar infra merah dari luar.

Sensor ini biasanya digunakan dalam perancangan detektor gerakan berbasis

PIR. Karena semua benda memancarkan energi radiasi, sebuah gerakan akan

terdeteksi ketika sumber infra merah dengan suhu tertentu (misalnya manusia)

melewati sumber infra merah yang lain dengan suhu yang berbeda (misalnya

dinding) maka sensor akan membandingkan pancaran infra merah yang diterima

setiap satuan waktu, sehingga jika ada pergerakan maka akan terjadi perubahan

pembacaan pada sensor.

Pada sensor terdapat detektor gerakan yang terdiri dari dua bagian. Sensor

bekerja dengan membandingkan hasil kedua bagian detektor tersebut. Pada

kondisi tidak ada gerakan atau idle maka nilai infra merah yang ditangkap oleh

sensor mempunyai nilai yang sama. Ketika obyek dengan suhu yang lebih hangat

seperti manusia atau hewan melewati sensor, maka akan menghasilkan nilai

radiasi infra merah yang lebih tinggi dari sebelumnya. Perbedaan nilai radiasi

infra merah yang ditangkap menyebabkan sensor dapat mendeteksi adanya

pergerakan (Elecfreaks, 2015).


21

Gambar 2. 6 Sensor Passive Infra Red


Sumber: (www.sensor pir+arduino.com)

Pada umumnya sensor PIR memiliki jangkauan pembacaan efektif hingga

5 meter, dan sensor ini sangat efektif digunakan sebagai human detector.

Tabel 2. 3 Spesifikasi Sensor Pir.

Tipe Digital

Tegangan 3 sd 5V
Arus 50A
Kerja suhu 0 sd 70 derajat
Output level (HIGH) 4V
Output level (LOW) 0.4V
Sudut deteksi 110 Degree
Jarak deteksi maksimal 7 meters
Ukuran 28mm×36mm

a. Cara Kerja Pembacaan Sensor PIR (Passive Infra Red)

Pancaran infra merah masuk melalui lensa Fresnel dan mengenai sensor

pyroelektrik, karena sinar infra merah mengandung energi panas maka sensor

pyroelektrik akan menghasilkan arus listrik. Sensor pyroelektrik terbuat dari bahan

galium nitrida (GaN), cesium nitrat (CsNo3) dan litium tantalate (LiTaO3). Arus

listrik inilah yang akan menimbulkan tegangan dan dibaca secara analog oleh
22

sensor. Kemudian sinyal ini akan dikuatkan oleh penguat dan dibandingkan oleh

komparator dengan tegangan referensi tertentu (keluaran berupa sinyal 1-bit). Jadi

sensor PIR hanya akan mengeluarkan logika 0 dan 1, 0 saat sensor tidak

mendeteksi adanya pancaran infra merah dan 1 saat sensor mendeteksi infra

merah. Sensor PIR didesain dan dirancang hanya mendeteksi pancaran infra

merah dengan panjang gelombang 8-14 mikrometer. Diluar panjang gelombang

tersebut sensor tidak akan mendeteksinya. Untuk manusia sendiri memiliki suhu

badan yang dapat menghasilkan pancaran infra merah dengan panjang gelombang

antara 9-10 mikrometer (nilai standar 9,4 mikrometer), panjang gelombang

tersebut dapat terdeteksi oleh sensor PIR.

b. Jarak Pancar Sensor PIR (Passive Infra Red)

Sensor PIR memiliki jangkauan jarak yang bervariasi, tergantung

karakteristik sensor. Pada umumnya sensor PIR memiliki jangkauan pembacaan

efektif hingga 5 meter, dan sensor ini sangat efektif digunakan sebagai human

detector. Proses penginderaan sensor PIR dapat digambarkan sebagai berikut:

Gambar 2. 7 Proses Penginderaan Sensor Passive Infra Red


Sumber: (www.sensor pir+arduino.com)
23

11. Ponsel

Telepon genggam atau telepon selular (ponsel) atau handphone (HP) adalah

perangkat telekomunikasi elektronik yang mempunyai kemampuan dasar yang

sama dengan telepon konvensional saluran tetap, namun dapat dibawa ke mana-

mana (portabel, mobile) dan tidak perlu disambungkan dengan jaringan telepon

menggunakan kabel (nirkabel; wireless). Saat ini Indonesia mempunyai dua

jaringan telepon nirkabel yaitu sistem GSM (Global System for Mobile

Telecommunications) dan sistem CDMA (Code Division Multiple Access).

Selain berfungsi melakukan pengiriman dan penerimaan pesan singkat

(short message service, SMS), ponsel umumnya juga mempunyai fungsi

menerima dan melakukan panggilan telepon,. Ada pula penyedia jasa telepon

genggam di beberapa negara yang menyediakan layanan generasi ketiga (3G)

dengan menambahkan jasa videophone, sebagai alat pembayaran, maupun untuk

televisi online di telepon genggam mereka. Sekarang, telepon genggam menjadi

gadget yang multifungsi.

Mengikuti perkembangan teknologi digital, kini ponsel juga dilengkapi

dengan berbagai pilihan fitur, seperti bisa menangkap siaran radio dan televisi,

perangkat lunak pemutar audio (MP3) dan video, Kamera digital, game, dan

layanan internet (WAP, GPRS, 3G). Selain fitur-fitur tersebut, ponsel sekarang

sudah ditanamkan fitur komputer. Jadi di ponsel tersebut, orang bisa mengubah

fungsi ponsel tersebut menjadi mini komputer. Di dunia bisnis, fitur ini sangat

membantu bagi para pebisnis untuk melakukan semua pekerjaan di satu tempat

dan membuat pekerjaan tersebut diselesaikan dalam waktu yang singkat.


24

Gambar 2. 8 Ponsel
Sumber: (https://www.android.com/intl/id_id/phones/)

12. Android

Menurut Nazrudin Safaat H (2011) definisi Android adalah sebuah operasi

untuk perangkat Mobile berbasis Linux yang mencangkup sistem operasi,

middleware dan aplikasi. Android adalah sistem operasi untuk telfon seluler yang

berbasis linux. Android menyediakan platform terbuka bagi para pengembang

untuk membuat aplikasi mereka sendiri.

Keuntungan dari Android adalah memberikan kemudahan pada

pengembangan android. Defeloper hanya perlu mengembangkan aplikasi pada

Platform Android, dan aplikasi tersebut akan dapat berjalan pada berbagai

perangkat, yang tentunya mempunyai sistem android. Selain itu android

merupakan platform yang lengkap, baik dari sistem operasi, aplikasi serta tools

untuk mengembangkan aplikasi.

13. Flowchart

Flowchart adalah bagian-bagian yang mempunyai arus yang

menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart


25

merupakan cara penyajian dari suatu algoritma. Suatu flowchart adalah suatu

representasi secara diagram yang mengilustrasikan urutan dari operasi yang

dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu

kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan

algoritmadalam symbol-simbol flowchart antara lain.

Tabel 2. 4 Tabel Flowchart

SIMBOL NAMA KETERANGAN

Terminator Awal/akhir.

Garis alir Arah alir program.

Proses Proses perhitungan atau proses


pengolahan data.

I/O Data Proses I/O data, parameter,


informasi.

Percabangan Perbandingan pernyataan atau


penyeleksi data yang memberikan
pilihan untuk langka selanjutnya.

Of page connector Penghubung flowchart pada


halaman yang berbeda.
26

B. Kerangka Pikir

Untuk memperjelas dan memudahkan dalam membaca proposal ini, maka

penulis membuat kerangka pikir dalam bentuk skema sebagai berikut :

Keamanan sangat penting dan berpengaruh pada kehidupan, setiap orang


membutuhkan jaminan keamanan akan kegiatan yang dilakukan. Karena
itulah pengembangan bermacam teknologi dirancang memberikan
keamanan dan bahkan melindungi aset dan privasi yang dimiliki.

Tingginya angka kriminalitas khususnya pencurian yang sering terjadi


skarang ini menjadikan keamanan sebagai kebutuhan yang mutlak
diperlukan. Disebabkan masih terbatasnya alat berupa sistem otomatis
yang dapat melakukan pengawasan pada keamanan keramba ikan.

Sistem keamanan Keramba dibuat dengan menggunakan sistem yang


otomatis, Sistem Keamanan keramba ikan Otomatis yang akan dibangun
menggunakan Camera ESP32.

Sistem Keamanan Keramba ikan Otomatis Menggunakan IoT dan Camera


ESP32, diharapkan dapat meningkatkan Keamanan Keramba ikan agar
terhindar dari tindak Pencurian.

Gambar 2. 9 Kerangka Pikir


27

BAB III

METODE PENELITIAN

A. Waktu dan Tempat Penelitian

Waktu penelitian yang akan dilakukan ±3 bulan, mulai dari bulan April

2022 sampai dengan bulan Juni 2022 dan Tempat penelitian dilakukan di

Mawasangka Tengah.

Tabel 3. 1 Jadwal Pelaksanaan penelitian

Tahun 2022

Tahap April Mei Juni


Perencanaan
No 1 2 3 4 1 2 3 4 1 2 3 4
1 Observasi

2 Pengumpulan Data

3 Analisis Data

4 Pembuatan Sistem

5 Pengujian Sistem

B. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan dalam penelitian ini yaitu:

1. Pengamatan (Observasi)

Observasi adalah teknik pengumpulan data dengan melakukan pengamatan

langsung pada objek kajian. Observasi yang dimaksud dalam teknik pengumpulan

data ini ialah observasi,saat penelitian dan pasca penelitian dalam pembuatan

Prototype keamanan keramba ikan menggunakan arduino berbasis IoT.


28

2. Kepustakaan (Library)

Library yaitu melakukan studi pustaka untuk memperkaya pengetahuan

mengenai berbagai konsep yang akan digunakan sebagai dasar atau pedoman

dengan mengumpulkan informasi yang terdapat dalam artikel, buku-buku,

maupun karya ilmiah dalam proses penelitian Prototype keamanan keramba ikan

menggunakan arduino berbasis IoT.

3. Analisis Data

Analisis data yang digunakan dalam penelitian ini, yaitu dengan

menggunakan metode pengembangan pembuatan perangkat lunak dan metode

pengembangan prototyping. Tahapan awal adalah dengan mengidentifikasikan

masalah. Selanjutnya mengumpulkan semua data yang terkait dengan

permasalahan tersebut. Data-data yang telah diperoleh kemudian dianalisa untuk

mencari penyebab permasalahan. Selanjutnya dengan hasil analisa data tersebut

peneliti mulai merumuskan langkahnya untuk membuat suatu perancangan sistem

agar dapat memecahkan permasalahan.

C. Alat Dan Bahan Penelitian

Dalam membuat alat Prototype keamanan keramba ikan menggunakan

arduino berbasis IoT, adapun perangkat keras (Hadware), yang digunakan untuk

penggunaanya adalah sebagai berikut :

1. Perangkat keras Keras (Hadware)

a. Satu unit ACER Aspire E5-476G

b. Sensor PIR (Passive Infra Red)

c. ESP32 CAM
29

d. Smartphone

e. Kabel Jumper

Perangkat lunak (Software), yang digunakan untuk penggunaanya adalah

sebagai berikut :

2. Perangkat Lunak (Software)

a. Windows 10. 64-bit (10,0,Bulid 19044)

b. IDE Arduino
30

BAB IV

HASIL DAN PEMBAHASAN

A. Cara Kerja Sistem Secara Umum

Cara kerja alat dimulai ketika alat dihubungkan dengan sumber daya DC 5

Volt melalui port USB. Kemudian alat yang sebelumnya ditempatkan pada

keramba untuk memantau keadaan keramba mulai mendeteksi setiap pergerakan

orang melalui sensor gerak (PIR). Ketika sensor mendeteksi gerakan, kamera pada

alat akan secara otomatis mengambil gambar, gambar tersebut kemudian

dikirimkan ke telegram pengguna yang telah tertaut pada perangkat.

Input Proses Output

Sensor PIR Camera

ESP32

Telegram

Gambar 4. 1 Diagram Blok Sistem

Prototype keamanan keramba ikan menggunakan Arduino berbasis Iot

terdiri dari bagian input, proses dan output seperti yang terlihat pada gambar 4.1

diatas. Pada diagram blok, input terdiri dari sensor PIR yang berfungsi untuk

mendeteksi gerakan objek manusia didepan sensor. Bagian proses terdapat esp32

yang merupakan pengendali utama sistem yang mengatur input dan output sistem.

Pada bagian output terdiri dari kamera dan telegram, dimana kamera mengambil

gambar kemudian gambar tersebut dikirimkan ke telegram.


31

B. Rancangan Hardware dan Software (Perangkat Keras dan

Perangkat Lunak)

1. Rancangan Perangkat Keras (hardware)

a. Rancangan Hardware Dalam Bentuk Real Device

Rancangan hardware dalam bentuk real device perancangan prototype

keamanan keramba ikan digambarkan dalam diagram hardware sebagai berikut:

Gambar 4. 2 Diagram hardware sistem

Berdasarkan rancangan alat pada gambar 4.2 diatas, terdapat beberapa alat

atau komponen, yang berfungsi sebagai berikut:

1. Esp32 Cam sebagai mikrokontroler yang memproses input dan

output sistem.

2. Sensor PIR sebagai sensor untuk mendeteksi objek manusia.

3. Smartphone untuk menerima gambar yang dikirimkan oleh alat

melalui telegram.
32

b. Rancangan Hardware Dalam Bentuk Skematik

Gambar 4. 3 Rancangan alat dalam bentuk skematik

Gambar skematik dari alat diatas terdiri dari beberapa komponen yaitu

Esp32 Cam yang berfungsi untuk mengendalikan sistem. Seperti menerima

masukan dari sensor dan memerintah sistem untuk mengambil gambar dan

mengirimkan ke telegram. Selanjutnya terdapat sensor PIR yang berfungsi untuk

mendeteksi objek manusia yang bergerak di depan sensor.

c. Desain Alat Secara Keseluruhan


33

Gambar 4. 4 Desain alat secara keseluruhan


NO Nama Alat Keterangan
1. Sensor pir Pendeteksi gerakan manusia.
2. Power Suplay Penyaring daya listrik pada alat yang di
gunakan.
3. ESP32-Cam Mikrokontroler yang bekerja sebagai
pengontrol dari semua input dan output.
4. Kabel jumper Untuk menyabungkan tiap alat-alat yang di
gunakan.
5. Keramba Ikan Tempat penangkaran ikan.
6. Alat yang digunakan Rangkaian alat keamanan keramba ikan

Penjelasan :

Tabel 4. 1 Penjelasan Desain alat secara keseluruhan

d. Tutorial Pembuatan Alat

1. Persiapan box alat

Gambar 4. 5 Box Alat

Box alat yang digunakan terbuat dari plastik persegi panjang berukuran

panjang 145mm, lebar 95mm dan lebar 50mm. Box alat nantinya digunakan

untuk menyimpan komponen-komponen alat seperti esp32 cam dan sensor PIR.
34

2. Wiring

Gambar 4. 6 Tahap Wiring

Setelah mempersiapkan box, tahap selanjutnya yaitu wiring. Wiring

merupakan tahap untuk menghubungkan mikrokontroller Esp32 Cam dengan

komponen input dan output sistem.

3. Pemasangan komponen pada box alat

Gambar 4. 7 Pemasangan komponen pada box

Tahap berikutnya pada proses pembuatan alat yaitu menempatkan

komponen-komponen yang digunakan ke dalam box alat agar siap digunakan.


35

2. Realisasi Perangkat Lunak (Software)

a. Flowchart Sistem

Gambar 4. 8 Flowchart Sistem

Penjelasan :

a. Input adalah langkah pertama dari kerja sistem yaitu, dimana ketika

sistem dijalankan dan Sensor Pir mendeteksi objek (manusia) atau Sinar

infra red jika tidak maka akan kembali ke sensor.

b. Proses adalah langkah kedua yaitu, dimana Modul ESP32-Cam

akan memproses hasil dari Sensor Pir dan Kamera

mengambil gambar.

c. Output adalah langkah terakhir kerja sistem yaitu ESP32-Cam

akan mengirim gambar hasil dari Kamera melalui Telegram ke

Handphone.
36

b. Rancangan sketch program Arduino

Sketch program dibuat menggunakan program Arduino IDE dengan

menggunakan bahasa pemrograman C. Sketch yang dibuat kemudian diupload

pada board ESP32 Cam. Sketch yang telah ter-upload akan tersimpan pada board

ESP32 Cam yang akan dijalankan ketika board diaktifkan. Berikut tahap dan alur

program yang telah dibuat.

1. Step 1. Tahap ini disebut header dari program, pada tahap ini dilakukan

pemanggilan terhadap library yang akan digunakan dalam program. Pada

tahap ini dilakukan penentuan pin-pin yang digunakan sebagai input atau

output dari mikrokontroller. Dalam sketch header juga dibuat variabel-

variabel dan fungsi yang akan digunakan dalam program.

Gambar 4. 9 Header program

2. Step 2. Atau disebut juga bagian setup program yang dijalankan saat

mikrokontroller pertama kali diaktifkan, tahap ini berisi konfigurasi dari pin-pin
37

yang akan digunakan sebagai input ataupun output. Selain itu pada step ini

dilakukan konfigurasi awal seperti konfigurasi waktu, konfigurasi wifi, telegram

dan kamera.

Gambar 4. 10 Setup program

3. Step 3. Tahap ini disebut juga sketch loop dimana sketch ini akan dijalankan secara

terus menerus selama alat diaktifkan. Sketch ini berisi pemanggilan beberapa

fungsi program seperti fungsi checkConnection yang digunakan untuk mengecek

koneksi wifi. Fungsi printHeapStats yaitu kode program yang berfungsi untuk

mengecek status sistem, dan fungsi led untuk menjalankan led indikator sistem.

Gambar 4. 11 Loop program


38
39

BAB V

PENGUJIAN SISTEM

A. Pengujian Fungsional

Pengujian fungsional dilakukan untuk menguji fungsi dan kinerja dari

masing-masing komponen yang digunakan. Pengujian dilakukan dengan melihat

kinerja dari sistem apakah telah dapat mendeteksi gerakan objek didepan sensor,

dan menguji apakah alat dapat mengambil gambar untuk dikirimkan ke telegram.

1. Pengujian sensor PIR

Gambar 5. 1 Pengujian sensor PIR

Pengujian sensor PIR dilakukan dengan melihat output dari sensor yang berupa

nilai digital yang dibaca oleh mikrokontroler. Nilai sensor yang diharapkan yaitu sensor

memberikan output logika low atau 0 ketika mendeteksi objek. Dan output logika high

atau 1 ketika tidak mendeteksi objek. Berikut tampilan output sensor PIR yang dilihat

dari serial monitor Arduino IDE.

Gambar 5. 2 Output sensor PIR pada serial monitor Arduino IDE


40

Dari gambar diatas, dilihat bahwa sensor memberikan output logika 0 dan 1.

Sensor bernilai 0 ketika mendeteksi objek dan bernilai 1 ketika tidak mendeteksi objek.

Dari hasil pengujian tersebut kemudian dibuatkan tabel pengujian seperti berikut:

Tabel 5. 1 Pengujian sensor PIR


No Pengujian Objek Output Keterangan
.
1 Pengujian Ke-I Tidak Ada 1 Sesuai Harapan
2 Pengujian Ke-II Tidak Ada 1 Sesuai Harapan
3 Pengujian Ke-III Tidak Ada 1 Sesuai Harapan
4 Pengujian Ke-IV Tidak Ada 1 Sesuai Harapan
5 Pengujian Ke-V Tidak Ada 1 Sesuai Harapan
6 Pengujian Ke-VI Ada 0 Sesuai Harapan
7 Pengujian Ke-VII Ada 0 Sesuai Harapan
8 Pengujian Ke-VIII Ada 0 Sesuai Harapan
9 Pengujian Ke-IX Ada 0 Sesuai Harapan
10 Pengujian Ke-X Ada 0 Sesuai Harapan

Dari tabel diatas dapat dilihat dari beberapa pengujian didapatkan hasil

bahwa sensor dapat bekerja dengan baik dan sesuai harapan dimana output sensor

bernilai 0 ketika terdeteksi objek dan bernilai 1 ketika tidak mendeteksi objek.

2. Pengujian kamera

Pengujian kamera diakukan dengan mengambil gambar menggunakan

kamera pada alat kemudian melihat hasil tangkapan gambar melalui telegram.

Pengujian dilakukan dengan beberapa kali percobaan untuk melihat kamera dapat

berfungsi dengan baik. Berikut hasil pengujian kamera yang disajikan pada

tabel berikut:

Tabel 5. 2 Pengujian kamera


No. Pengujian Gambar Tangkapan Kamera Keterangan
41

1 Pengujian Ke-I Sesuai Harapan

2 Pengujian Ke-II Sesuai Harapan

3 Pengujian Ke-III Sesuai Harapan

4 Pengujian Ke-IV Sesuai Harapan

5 Pengujian Ke-V Sesuai Harapan

6 Pengujian Ke-VI Sesuai Harapan

7 Pengujian Ke-VII Sesuai Harapan


42

8 Pengujian Ke-VIII Sesuai Harapan

9 Pengujian Ke-IX Sesuai Harapan

10 Pengujian Ke-X Sesuai Harapan

Dari hasil pengujian seperti yang terlihat pada tabel diatas, dapat dilihat

kamera dapat berfungsi dengan baik, kamera dapat mengambil gambar dan

menampilkannya pada smartphone, sehingga dapat disimpulkan bahwa kamera

yang digunakan dapat bekerja dengan baik dan sesuai harapan.

B. Pengujian Keseluruhan Alat

Gambar 5. 3 Tampilan keseluruhan alat


Pengujian keseluruhan alat dilakukan dengan menjalankan keseluruhan alat
43

kemudian dilakukan pengamatan terhadap jalannya alat, mulai dari alat

mendeteksi objek, mengambil gambar dan mengirim pesan dan gambar pada

smartphone pengguna. Pengujian keseluruhan alat disajikan pada tabel berikut:

Tabel 5. 3 Pengujian keseluruhan alat


No Mendeteksi Mengambil Mengirim Gambar
Pengujian Keterangan
. Objek Gambar Gambar di terima
Pengujian
1
Ke-I     Gagal
Pengujian
2
Ke-II     Gagal
Pengujian
3
Ke-III     Gagal
Pengujian
4
Ke-IV     Berhasil
Pengujian
5
Ke-V     Berhasil
Pengujian
6
Ke-VI     Berhasil
Pengujian
7
Ke-VII     Berhasil
Pengujian
8
Ke-VIII     Berhasil
Pengujian
9
Ke-IX     Berhasil
Pengujian
10
Ke-X     Berhasil

Dari hasi pengujian keseluruhan alat dapat dilihat pada percobaan pertama

sampai ke tiga terdapat kegagalan saat sistem mengirim gambar yang diakibatkan

kondisi jaringan internet yang kurang stabil. Namun pada percobaan selanjutnya

sistem telah dapat berjalan dengan baik sistem dapat mendeteksi objek, kemudian

mengambil gambar, gambar tersebut kemudian dikirimkan ke smartphone

pengguna melalui aplikasi telegram.


44
45

BAB VI

PENUTUP

A. Kesimpulan

Untuk membuat perangkat sistem yang dapat memonitoring atau mengawasi

keramba ikan dapat menggunakan mikrokontroller ESP32 Cam dan sensor PIR.

Dimana mikrokontroller ESP32 Cam berfungsi sebagai pengendali sistem dan

sensor pir digunakan untuk mendeteksi adanya objek didepan sensor. Hasil yang

didapatkan dari peneletian ini yaitu menghasilkan alat yang dapat memonitoring

atau mengawasi keramba ikan setiap waktu dan memberikan informasi keamanan

keramba ikan dengan cepat yang berbasis Internet of Things (IoT).

B. Saran

1. Alat yang dibuat dapat lebih akurat dalam mendeteksi pergerakan objek

yang dideteksi dan diharapkan alat juga dapat membedakan objek manusia

dan benda-benda lain sehingga nantinya alat hanya akan memberikan alarm

atau peringatan kepada pengguna ketika mendeteksi objek manusia.

2. Alat yang dibuat diharapkan dapat menyediakan sarana kepada pengguna

untuk melakukan konfigurasi perangkat seperti melakukan konfigurasi WiFi

dan konfigurasi perangkat smartphone yang akan ditautkan pada alat.


46

DAFTAR PUSTAKA

Biswas, S.B., & Iqbal, M.T., 2018, Kontrol Sistem Pemompaan Air Tenaga Surya
Menggunakan Mikrokontroler ESP32 Berbiaya Rendah, 2018 IEEE
Canadian Conference on Electrical & Computer Engineering (CCECE), 1-5.
Djuandi, Feri, 2011.“Pengenalan Arduino". Jakarta: Penerbit Elexmedia.
Dismawan, M. A. (2019). Rancang Bangun Sistem Pengendalian Dan
Monitoring
Keamanan Pintu Rumah Berbasis Iot (Internet Of Things) Dengan
Menggunakan Aplikasi Blynk Di Ponsel Android. Αγαη, 8(5), 55.
Elecfreaks. (2015). PIR Motion Sensor Module. Retrieved from
http://www.elecfreaks.com/wiki/index.php?title=PIR_Motion_Sensor
_Module:DYPMR003.
Faisal Yamin, 2016. Sistem Keamanan Rumah menggunakan Kamera dan Sms
Gateway Berbasis Microkontroler. Baubau : Universitas Dayanu
Ikhsanuddin Baubau.
Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler Dan
Pemrogramannya Menggunakan Arduino.Yogyakarta : ANDI.
Kurniawan, M. I., Sunarya, U., & Tulloh, R. (2018). Internet of Things: Sistem
Keamanan Rumah berbasis Raspberry Pi dan Telegram Messenger.
ELKOMIKA: Jurnal Teknik Energi Elektrik, Teknik Telekomunikasi, &
Teknik Elektronika, 6(1), 1
Michael, Dave, & Gustina, Dian. 2019, Juli. Rancang Bangun Prototype
Monitoring Kapasitas Air Pada Kolam Ikan Secara Otomatis dengan
Menggunakan Mikrokontroller Arduino. Jurnal Komputer dan Informatika,
3 (2), 54 - 66. April 26, 2021. https://journals.upi-
yai.ac.id/index.php/ikraithinformatika/article/view/319.

Safaat H, Nazruddin 2011. Pemrograman Aplikasi Mobile Smartphone dan Tablet


PC Berbasis Android.Informatika Bandung: Bandung

Sujono, S., & Herlambang, W. A. (2021). Rancang Bangun Pendeteksi Pengaman


47

Pintu Dan Jendela Berbasis Internet Of Things (IoT). Exact Papers in


Compilation (EPiC), 3(2), 307-314.
SYAIFUDDIN, A. (2019). Rancang Bangun Miniatur Pengaman Pintu Otomatis
Menggunakan Sidik Jari Berbasis Internet of Things (IoT). Jurnal Online
Mahasiswa (JOM) Bidang Teknik Elektro, 1(1).
Tempongbuka, H., Allo, E. K., & Sompie, S. R. (2015). Rancang Bangun Sistem
Keamanan Rumah Menggunakan Sensor Pir (Passive Infrared) dan SMS
Sebagai Notifikasi. Jurnal Teknik Elektro dan Komputer, 4(6), 10-15.
Widcaksono, D., & Masyhadi, M. (2018). Rancang Bangun Secured Door
Automatic System Untuk Keamanan Rumah Menggunakan Sms Berbasis
Arduino. Jurnal Kajian Teknik Elektro, 3(1), 52-66.
48

LAMPIRAN

1. Sketch esp32_pir_telegram

#include <WiFi.h>
#include <AsyncTelegram2.h>
#include "esp_camera.h"
#include "soc/soc.h" // Brownout error fix
#include "soc/rtc_cntl_reg.h" // Brownout error fix
#include "camera_pins.h"
#include <WiFiClientSecure.h>
WiFiClientSecure client;
#define PIR_PIN GPIO_NUM_13
#define LED_WIFI GPIO_NUM_14
#define LED_PHOTO GPIO_NUM_15
#define LED_ON GPIO_NUM_2
const char* ssid = "infotech"; // SSID WiFi network
const char* pass = "infotech#12345"; // Password WiFi network
const char* token = "5263651927:AAETV0f84gpo-Sc_79L2-yboZw9LdqkPLjA";
#define PIR_PIN GPIO_NUM_13
#define NUM_PHOTO 3 // Total number of photos to send on motion
detection
#define DELAY_PHOTO 3000 // Waiting time between one photo and the next
int currentPict = 3;
int64_t userid = 5167931359; // Check the userid with the help of bot @JsonDumpBot or
@getidsbot (work also with groups)
// https://t.me/JsonDumpBot or https://t.me/getidsbot
AsyncTelegram2 myBot(client);
// Timezone definition to get properly time from NTP server
#define MYTZ "<+08>-8"
// Struct for saving time datas (needed for time-naming the image files)
struct tm tInfo;

// Functions prototype
void printHeapStats();
static void checkTelegram(void *);
void setLamp(int);
boolean isConnected = false;
size_t sendPicture(bool);

/////////////////////////////////// SETUP ///////////////////////////////////////


void setup() {
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); // disable brownout
detect
// PIR Motion Sensor setup
pinMode(PIR_PIN, INPUT);
// set the pin as output
pinMode(LAMP_PIN, OUTPUT);
pinMode(LED_ON, OUTPUT);
49

pinMode(LED_WIFI, OUTPUT);
pinMode(LED_PHOTO, OUTPUT);
ledcSetup(lampChannel, pwmfreq, pwmresolution); // configure LED PWM channel
setLamp(0); // set default value
digitalWrite(LED_ON, HIGH);
digitalWrite(LED_WIFI, LOW);
digitalWrite(LED_PHOTO, HIGH);
ledcAttachPin(LAMP_PIN, lampChannel); // attach the GPIO pin to the channel
Serial.begin(115200);
Serial.println();
// Start WiFi connection
initWiFi();
// Sync time with NTP
configTzTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
client.setCACert(telegram_cert);
// Set the Telegram bot properies
myBot.setUpdateTime(1000);
myBot.setTelegramToken(token);
// Check if all things are ok
Serial.print("\nTest Telegram connection... ");
myBot.begin() ? Serial.println("OK") : Serial.println("NOK");
// Send a welcome message to user when ready
char welcome_msg[128];
snprintf(welcome_msg, 128, "BOT @%s online.\nTry with /takePhoto",
myBot.getBotName());
myBot.sendTo(userid, welcome_msg);
init_camera();
// Start telegram message check task
xTaskCreatePinnedToCore(
checkTelegram, // Function to implement the task
"checkTelegram", // Label name of the task
8192, // Stack size
NULL, // Task input parameter
1, // Priority of the task
NULL, // Task handle.
1 // Core number
);
// Init the camera module (accordind the camera_config_t defined)

/////////////////////////////////// LOOP ///////////////////////////////////////


void loop() {
checkConnection();
printHeapStats();
led();
}
50

// Just to check if everithing work as expected


void printHeapStats() {
time_t now = time(nullptr);
tInfo = *localtime(&now);
static uint32_t infoTime;
if (millis() - infoTime > 10000) {
infoTime = millis();
Serial.printf("%02d:%02d:%02d - Total free: %6d - Max block: %6d\n",
tInfo.tm_hour, tInfo.tm_min, tInfo.tm_sec, heap_caps_get_free_size(0),
heap_caps_get_largest_free_block(0));
}
}

2. Sketch camera_pins.h

// Select camera model


//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
//#define CAMERA_MODEL_M5STACK_ESP32CAM
#define CAMERA_MODEL_AI_THINKER
//#define CAMERA_MODEL_TTGO_T_JOURNAL

#if defined(CAMERA_MODEL_WROVER_KIT)
//
// ESP WROVER
// https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_SCH-2.pdf
//
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 21
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 19
#define Y4_GPIO_NUM 18
#define Y3_GPIO_NUM 5
#define Y2_GPIO_NUM 4
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#define LED_PIN 2 // A status led on the RGB; could also use pin 0 or 4
#define LED_ON HIGH //
#define LED_OFF LOW //
51

// #define LAMP_PIN x // No LED FloodLamp.

#elif defined(CAMERA_MODEL_ESP_EYE)
//
// ESP-EYE
// https://twitter.com/esp32net/status/1085488403460882437
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 4
#define SIOD_GPIO_NUM 18
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 36
#define Y8_GPIO_NUM 37
#define Y7_GPIO_NUM 38
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 35
#define Y4_GPIO_NUM 14
#define Y3_GPIO_NUM 13
#define Y2_GPIO_NUM 34
#define VSYNC_GPIO_NUM 5
#define HREF_GPIO_NUM 27
#define PCLK_GPIO_NUM 25
#define LED_PIN 21 // Status led
#define LED_ON HIGH //
#define LED_OFF LOW //
// #define LAMP_PIN x // No LED FloodLamp.

#elif defined(CAMERA_MODEL_M5STACK_PSRAM)
//
// ESP32 M5STACK
//
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 25
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 32
#define VSYNC_GPIO_NUM 22
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
// M5 Stack status/illumination LED details unknown/unclear
// #define LED_PIN x // Status led
// #define LED_ON HIGH //
52

// #define LED_OFF LOW //


// #define LAMP_PIN x // LED FloodLamp.

#elif defined(CAMERA_MODEL_M5STACK_V2_PSRAM)
//
// ESP32 M5STACK V2
//
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 22
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 32
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
// M5 Stack status/illumination LED details unknown/unclear
// #define LED_PIN x // Status led
// #define LED_ON HIGH //
// #define LED_OFF LOW //
// #define LAMP_PIN x // LED FloodLamp.

#elif defined(CAMERA_MODEL_M5STACK_WIDE)
//
// ESP32 M5STACK WIDE
//
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 22
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 32
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
// M5 Stack status/illumination LED details unknown/unclear
53

// #define LED_PIN x // Status led


// #define LED_ON HIGH //
// #define LED_OFF LOW //
// #define LAMP_PIN x // LED FloodLamp.

#elif defined(CAMERA_MODEL_M5STACK_ESP32CAM)
//
// Common M5 Stack without PSRAM
//
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 25
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 17
#define VSYNC_GPIO_NUM 22
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
// Note NO PSRAM,; so maximum working resolution is XGA 1024×768
// M5 Stack status/illumination LED details unknown/unclear
// #define LED_PIN x // Status led
// #define LED_ON HIGH //
// #define LED_OFF LOW //
// #define LAMP_PIN x // LED FloodLamp.

#elif defined(CAMERA_MODEL_AI_THINKER)
//
// AI Thinker
// https://github.com/SeeedDocument/forum_doc/raw/master/reg/ESP32_CAM_V1.6.pdf
//
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
54

#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#define LED_PIN 33 // Status led
#define LED_ON LOW // - Pin is inverted.
#define LED_OFF HIGH //
#define LAMP_PIN 15//4 // LED FloodLamp.

#elif defined(CAMERA_MODEL_TTGO_T_JOURNAL)
//
// LilyGO TTGO T-Journal ESP32; with OLED! but not used here.. :-(
#define PWDN_GPIO_NUM 0
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 25
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 17
#define VSYNC_GPIO_NUM 22
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
// TTGO T Journal status/illumination LED details unknown/unclear
// #define LED_PIN 33 // Status led
// #define LED_ON LOW // - Pin is inverted.
// #define LED_OFF HIGH //
// #define LAMP_PIN 4 // LED FloodLamp.

#else
// Well.
// that went badly...
#error "Camera model not selected, did you forget to uncomment it in myconfig?"
#endif

static camera_config_t camera_config = {


.pin_pwdn = PWDN_GPIO_NUM,
.pin_reset = RESET_GPIO_NUM,
.pin_xclk = XCLK_GPIO_NUM,
.pin_sscb_sda = SIOD_GPIO_NUM,
.pin_sscb_scl = SIOC_GPIO_NUM,
.pin_d7 = Y9_GPIO_NUM,
.pin_d6 = Y8_GPIO_NUM,
.pin_d5 = Y7_GPIO_NUM,
.pin_d4 = Y6_GPIO_NUM,
.pin_d3 = Y5_GPIO_NUM,
55

.pin_d2 = Y4_GPIO_NUM,
.pin_d1 = Y3_GPIO_NUM,
.pin_d0 = Y2_GPIO_NUM,
.pin_vsync = VSYNC_GPIO_NUM,
.pin_href = HREF_GPIO_NUM,
.pin_pclk = PCLK_GPIO_NUM,
.xclk_freq_hz = 10000000, //XCLK 20MHz or 10MHz
.ledc_timer = LEDC_TIMER_0,
.ledc_channel = LEDC_CHANNEL_0,
.pixel_format = PIXFORMAT_JPEG, //YUV422,GRAYSCALE,RGB565,JPEG
.frame_size = FRAMESIZE_SVGA, //QQVGA-UXGA Do not use sizes above
QVGA when not JPEG
.jpeg_quality = 22, //0-63 lower number means higher quality
.fb_count = 1 //if more than one, i2s runs in continuous mode. Use only with
JPEG
};

int lampChannel = 7; // a free PWM channel (some channels used by camera)


const int pwmfreq = 50000; // 50K pwm frequency
const int pwmresolution = 9; // duty cycle bit range
const int pwmMax = pow(2, pwmresolution) - 1;

static esp_err_t init_camera() {


//initialize the camera
Serial.print("Camera init... ");
esp_err_t err = esp_camera_init(&camera_config);

if (err != ESP_OK) {
delay(100); // need a delay here or the next serial o/p gets missed
Serial.printf("\n\nCRITICAL FAILURE: Camera sensor failed to initialise.\n\n");
Serial.printf("A full (hard, power off/on) reboot will probably be needed to recover
from this.\n");
return err;
} else {
Serial.println("succeeded");

// Get a reference to the sensor


sensor_t* s = esp_camera_sensor_get();

// Dump camera module, warn for unsupported modules.


switch (s->id.PID) {
case OV9650_PID: Serial.println("WARNING: OV9650 camera module is not
properly supported, will fallback to OV2640 operation"); break;
case OV7725_PID: Serial.println("WARNING: OV7725 camera module is not
properly supported, will fallback to OV2640 operation"); break;
case OV2640_PID: Serial.println("OV2640 camera module detected"); break;
case OV3660_PID: Serial.println("OV3660 camera module detected"); break;
default: Serial.println("WARNING: Camera module is unknown and not properly
56

supported, will fallback to OV2640 operation");


}
}
return ESP_OK;
}

3. Sketch connection

unsigned long millisCheckConnection = millis();

void initWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED) {
Serial.print('.');
delay(1000);
}
Serial.println(WiFi.localIP());
}

void checkConnection() {
// if WiFi is down, try reconnecting every CHECK_WIFI_TIME seconds
if (millis() - millisCheckConnection >= 5000) {
if (WiFi.status() != WL_CONNECTED) {
isConnected = false;
Serial.println();
Serial.println("Reconnecting to WiFi...");
WiFi.disconnect();
WiFi.reconnect();
} else {
isConnected = true;
}
millisCheckConnection = millis();
}
}

4. Sketch led

unsigned long millisLed = 0;

void led() {
if (millis() - millisLed > 500) {
digitalWrite(LED_ON, HIGH);
if(isConnected){
digitalWrite(LED_WIFI, HIGH);
} else {
digitalWrite(LED_WIFI, LOW);
}
millisLed = millis();
57

}
}

5. Sketch telegram

// This is the task for checking new messages from Telegram


static void checkTelegram(void * args) {
while (true) {
static uint32_t waitPhotoTime;
static uint8_t pirMotion = 0;
// PIR motion detected
// could be on interrupt, but PIR sensor usually keep signal HIGH for enough time
if (digitalRead(PIR_PIN) == LOW) {
pirMotion = 1;
} else {
pirMotion = 0;
waitPhotoTime = 0;
}

if (millis() - waitPhotoTime > DELAY_PHOTO && pirMotion) {


waitPhotoTime = millis();
char message[50];
time_t now = time(nullptr);
tInfo = *localtime(&now);
strftime(message, 50, "%d/%m/%Y %H:%M:%S - Motion detected!", &tInfo);
Serial.println(message);
myBot.sendTo(userid, message);
size_t bytes_sent = sendPicture();
if (bytes_sent) {
Serial.printf("CAM picture sent to Telegram (%d bytes)\n", bytes_sent);
}
}

// A variable to store telegram message data


TBMessage msg;
// if there is an incoming message...
if (myBot.getNewMessage(msg)) {
Serial.print("New message from chat_id: ");
Serial.println(msg.sender.id);
MessageType msgType = msg.messageType;

// Received a text message


if (msgType == MessageText) {

// Send a picture grabbed from camera directly to Telegram


if (msg.text.equalsIgnoreCase("/takePhoto")) {
Serial.printf("Request Photo");
uint32_t t1 = millis();
size_t bytes_sent = sendPicture();
if (bytes_sent) Serial.printf("Picture sent to Telegram (%d bytes)\n", bytes_sent);
58

Serial.printf("Total upload time (server latency time included, ~ 500 ms): %lu ms\
n", millis() - t1 );
}

// Echo received message and send command list


else {
Serial.print("\nText message received: ");
Serial.println(msg.text);
String replyStr = "Message received:\n";
replyStr += msg.text;
replyStr += "\nTry with /takePhoto";
myBot.sendMessage(msg, replyStr);
}
}
}
yield();
}
// Delete this task on exit (should never occurs)
vTaskDelete(NULL);
}

// Lamp Control
void setLamp(int newVal) {
if (newVal != -1) {
// Apply a logarithmic function to the scale.
int brightness = round((pow(2, (1 + (newVal * 0.02))) - 2) / 6 * pwmMax);
ledcWrite(lampChannel, brightness);
Serial.print("Lamp: ");
Serial.print(newVal);
Serial.print("%, pwm = ");
Serial.println(brightness);
}
}

// Send a picture taken from CAM to a Telegram chat


size_t sendPicture() {
// Take Picture with Camera;
Serial.println("Camera capture requested");

// Take Picture with Camera and store in ram buffer fb


setLamp(250);
camera_fb_t* fb = esp_camera_fb_get();
setLamp(0);
if (!fb) {
Serial.println("Camera capture failed");
return 0;
}
size_t len = fb->len;
59

myBot.sendPhoto(userid, fb->buf, fb->len);

// Clear buffer
esp_camera_fb_return(fb);
return len;
}

Anda mungkin juga menyukai