bab iii pembahasan...56 3.2. blok rangkaian alat sumber: hasil penelitian (2019) gambar iii.1. blok...
TRANSCRIPT
54
BAB III
PEMBAHASAN
3.1. Tinjauan Umum Alat
Alat Pendeteksi Ketinggian Air Dengan Water Level System Dan SMS Gateway
Berbasis ATMEGA8 adalah sebuah alat yang bersifat early system warning untuk
memberikan peringatan dini ketika terjadi banjir, prinsip kerja dari alat ini adalah ketika
air telah mencapai Pin Header yang terdapat di PCB sensor maka smartphone akan
otomatis menerima SMS dari alat tersebut untuk memperingati bahwa telah terjadi
banjir.
Namun dikarenakan kurangnya port I/O pada ATMEGA8 untuk pemberian
output pada LCD dan Modul GSM SIM800L maka penulis mengganti Mikrokontroler
ATMEGA8 dengan ATMEGA16 dikarenakan port I/O pada ATMEGA16 jauh lebih
banyak dibandingakn dengan ATMEGA8, lalu selain kurangnya port I/O juga ternyata
ATMEGA8 tidak kompatibel untuk mendukung 2 device berjalan secara bersamaan
dikarenakan gelombang frekuensi LCD dengan triger SMS dari Modul GSM SIM800L
berbeda frekuensinya jadi harus pilih salah satu dan bila tetap dipaksakan untuk berjalan
secara bersamaan maka tidak akan berjalan dikarenakan kurangnya port I/O dan
perbedaan frekuensi.
55
Untuk menunjang semua kinerja tersebut, alat ini memiliki beberapa komponen
utama diantaranya untuk input, process ,output. Pin Header berfungsi sebagia input,
ATMEGA16 berfungsi sebagai process, LCD16x2 dan Modul GSM SIM800L berfungsi
sebagai output dari alat tersebut.
Mikrokontroler ATMEGA16 di dalam alat ini berfungi sebagai main process
atau sebagia otak untuk mengatur kinerja input dan output pada alat tersebut. Karena di
dalam ATMEGA16 penulis sudah memprogram fungsinya adalah untuk mengetahui
level ketinggian air sesuai dengan level system warning yang di deteksi-nya. Ketika air
sudah terdeteksi LCD dan Modul GSM SIM800L akan memberikan indikator output
berupa SMS kedalam handphone sebagai petanda bahwa banjir telah datang.
Diharapkan dengan adanya alat tersebut dapat membantu dalam mengingatkan
ketika terjadi banjir, dikarenakan alat ini bersifat early system warning atau sebagai
peringatan dini agar dapat meminimalisir timbulnya korban jiwa yang disebabkan oleh
banjir jika alat ini berhasil maka akan dibuat dengan skala yang lebih besar dan dapat
diaplikasikan kedalam daerah yang sering terjadi banjir.
56
3.2. Blok Rangkaian Alat
Sumber: Hasil Penelitian (2019)
Gambar III.1. Blok Diagram Alat Pendeteksi Ketinggian Air
Terdapat 4 blok rangkaian di atas yaitu blok input, blok voltage, blok process,
dan blok output pada alat tersebut dan akan diberikan penjelasan blok alat nya sesuai
bagian nya adalah sebagai berikut :
1. Input
Pada blok Input terdapat Pin Header yang berfungsi untuk menjadi sensor indikator
ketika air datang.
57
2. Voltage
Pada blok Voltage terdapat sebuah Adaptor 12V sebagai sumber tegangan / catu
daya pada alat tersebut.
3. Process
Pada blok Process terdapat sebuah ATMEGA16 yang sudah ter-upload program
menggunakan bahasa C berfungsi sebagai main process atau sebagai core utama
untuk menjalankan perintah input dan perintah output dari alat tersebut seperti
menampilkan status dan level ketinggian air pada LCD, memberikan logika
pembacaan dan pembuatan status level ketinggian air pada sensor Pin Header, dan
mengirimkan SMS berupa status dan level ketinggian air sesuai dengan apa yang di
deteksi oleh sensor Pin Header.
4. Output
Pada blok output memiliki 2 blok yaitu blok LCD dan Modul GSM SIM800L, ketika
sensor telah terendam air/ sudah mendeteksi adanya air maka Mikrokontroler yang
sudah ter-program ini memerintahkan LCD untuk menampilkan output sesuai status
level ketinggian air yang di deteksi oleh Pin Header dan Modul GSM SIM800L juga
diperintahkan untuk mengirimkan output berupa SMS kedalam handphone.
58
3.3. Skema Rangkaian Alat
Sumber: Hasil Penelitian (2019)
Gambar III.2. Skema Rangkaian Keseluruhan Alat Pendeteksi Ketinggian Air
Berikut ini adalah rancangan skematik rangkaian keseluruhan Alat Pendeteksi
Ketinggian Air yang menggunakan Mikrokontroler ATMEGA16 sebagai otak dari alat
tersebut untuk melalukan pemrosesan program dikarenakan Mikrokontroler
ATMEGA16 tersebut sudah ter compile sebuah program menggunakan software
Arduino IDE yaitu untuk mendeksi 3 level ketinggian air, memberikan output berupa
tulisan pada LCD, serta memerintah Modul GSM SIM800L untuk mengirimkan
peringatan berupa SMS kedalam handphone ketika terjadi banjir.
59
Untuk sumber tegangan dari alat tersebut tersebut penulis menggunakan Adaptor
12V DC 1 Ampere sebagai catu daya alat tersebut, ketika Adaptor 12 V DC 1 Ampere
di colok kedalam DC Connector maka alat akan menyala tetapi belum menampilkan
karakter pada LCD dikarenakan sumber tegangan untuk pembacaan karakter pada LCD
belum diatur, maka dari itu alat tersebut memiliki potensiometer yang berfungsi untuk
mengatur tegangan untuk pembacaan karakter pada LCD, cara kerja potensiometer
hanya perlu diputar saja hingga LCD menampilkan karakter. Setelah karakter sudah
terbaca lalu LCD akan menampilkan output berupa tulisan “Configure sms” yang berarti
mikrokontroler memerintah Modul GSM SIM800L untuk memastikan bahwa pulsa dan
jaringan pada kartu SIM untuk mengirimkan testing SMS memadai. Jika pulsa dan
jaringan kartu SIM yang terdapat pada Modul GSM SIM800L memadai maka
mikrokontroler akan memerintah Modul GSM SIM800L untuk mengirimkan testing SMS
kedalam handphone lalu bila proses testing berhasil maka handphone akan menerima
SMS bertuliskan “Sending sms untuk mengetest signal SMS Gateway.by Water Level
SMS” itu menandakan bahwa alat tersebut siap digunakan untuk mendeteksi ketinggian
air.
Alat tersebut juga memiliki sensor berupa PCB yang ditempelkan Pin Header di
masing masing level ketinggian yaitu Pin Header 1 untuk level ketinggian aman setinggi
0 cm, Pin Header 2 untuk level ketinggian siaga setinggi 3 cm, dan Pin Header 3 untuk
level ketinggian bahaya setinggi 5 cm. Bila air menyentuh Pin Header 2 maka
mikrokontroler akan memerintahkan LCD untuk menampilkan output “Status saat ini:
SIAGA“ dan mikrokontroler juga memerintah Modul GSM SIM800L untuk
mengirimkan output berupa SMS “Status dalam keadaan SIAGA.by Water Level SMS”,
60
jika ketinggain debit air terus meningkat hingga menyentuh Pin Header 3 maka
mikrokontroler akan memerintahkan LCD untuk menampilkan output “Status saat ini:
BAHAYA” dan mikrokontroler juga memerintah Modul GSM SIM800L untuk
mengirimkan output berupa SMS ”Status dalam keadaan BAHAYA.by Water Level
SMS”, dan bila ketinggian air surut hingga menyentuh Pin Header 1 maka
mikrokontroler akan memerintahkan LCD untuk menampilkan output “Status saat ini: A
M A N” dan mikrokontroler juga memerintah Modul GSM SIM800L untuk mengirimkan
output berupa SMS “Status dalam keadaan AMAN.by Water Level SMS”.
Prinsip kerja dari alat ini adalah ketika air telah menyentuh kaki sensor Pin
Header baik itu kaki Pin Header 1-3 maka mikrokontroler akan mengirimkan perintah
kepada LCD dan Modul GSM SIM800L untuk mengirimkan output berupa tulisan di
LCD sesuai dengan level yang di deteksi oleh sensor Pin Header dan mengirimkan
pesan berupa SMS. Bila belum mendeteksi banjir maka LCD akan menampilkan output
berupa “Water Level SMS by GENK”. Kesimpulannya adalah alat ini memiliki otak
utama yaitu Mikrokontroler ATMEGA16 yang sudah ter compile sebuah program
berbasis bahasa C untuk mengatur jalan nya proses input process dan output dari alat
tersebut, mulai dari mengatur logika untuk mendeteksi level status air dari ketiga sensor
Pin Header, memerintah LCD untuk menampilkan output berupa karakter untuk
ditampilkan dan memerintah Modul GSM SIM800L untuk mengirimkan output berupa
SMS.
Berikut penulis akan menjelaskan rancangan skema bagian input, process, dan
output dari alat tersebut :
61
1. Input
Sumber: Hasil Penelitian (2019)
Gambar III.3. Skema Bagian Input
Gambar III.3. adalah skema bagian input Alat Pendeteksi Ketinggian Air. Pada
rangkaian skema di atas terdapat Mikrokontroler ATMEGA16, DC Connector, IC
7805, 2 Capacitor 100nF, 2 Capacitor 10uF, Push Button, Crystal 16MHz, Resistor
10K, Regulator AMS 1117 dan 4 connector Pin Header. Skema bagian input ini
berfungsi untuk memberikan input sumber tegangan kedalam alat serta juga untuk
penginputan pembacaan logika program Mikrokontroler ATMEGA16 yaitu logika
pendeteksi ketinggian air melewati 4 connector Pin Header yang akan terkoneksi
dengan kabel jumper.
62
Sumber: Hasil Penelitian (2019)
Gambar III.4. Penjelasan Skema Bagian Input 1
Pin Mikrokontroler 33 (PA7) dihubungkan ke pin 1 pin header, pin 34 (PA6)
dihubungkan ke pin 2 pin header dan pin 35 (PA5) dihubungkan ke pin 3 pin header
masing masing dari ketiga jalur itu telah ter junction / terhubung oleh resistor 10K
yang berfungsi sebagai penahan arus / tegangan pada rangkaian agar sesuai dengan
kebutuhan suatu rangkaian. Simpelnya resistor dalam rangkaian alat pendeteksi
ketinggian air ini adalah untuk menahan suatu tegangan arus yang masuk dari
adaptor agar tidak terjadi kerusakan pada komponen komponen yang terdapat di
dalam rangkaian tersebut.
63
Sumber: Hasil Penelitian (2019)
Gambar III.5. Penjelasan Skema Bagian Input 2
Pin Mikrokontroler 9 (RESET) fungsinya adalah untuk me-reset Mikrokontroler
kedalam kondisi awal / semula, maka dari itu Pin 9 (RESET) dihubungkan ke pin 3
dan 4 Push Button dan pin Push Button 1 dan 2 dihubungkan ke 1C7805 yang ter-
juction dengan pin 1 Power Jack dan Pin 11 (GND), biasanya Push Button ini
digunakan ketika program di dalam Mikrokontroler mengalami kendala saat alat
sedang running seperti tidak ada tampilan output tulisan pada LCD dan kendala lain
sebagainya, karena fungsi push button adalah untuk memutuskan aliran arus listrik
ketika tombol nya ditekan dan menyalakan kembali ketika tombol nya dilepas karena
push button bersifat saklar ON/OFF, lalu Pin Mikrokontroler 12 (XTAL2) fungsinya
adalah untuk masukan clock eksternal karena suatu Mikrokontroler membutuhkan
sumber clock / sumber detak untuk mengeksekuksi program yang sudah ter-upload
64
di dalam Mikrokontroler ATMEGA16 tersebut maka dari itu Pin Mikrokontroler 12
(XTAL2) dan Pin Mikrokontroler 13 (XTAL1) di hubungkan ke 2 Capacitor 100 nF,
2 Capacitor 10 uF dan Crystal 16MHz. Fungsi Capacitor adalah untuk menyimpan
arus tegangan listrik bila nilai Capacitor nya 100 nF maka dapat menyimpan arus
tegangan listrik sebesar 100 nano farad dan bila nilai Capacitor nya 10 uF maka
dapat menyimpan arus tegangan listrik sebesar 10 mikro farad sedangkan fungsi dari
Crystal 16MHz adalah sebagai sumber clock untuk pin XTAL1 dan XTAL2 semakin
tinggi nilai Crystal nya maka Mikrokontroler semakin cepat dalam mengeksekusi
program yang sudah ter-upload di dalam Mikrokontroler ATMEGA16 tersebut.
Sedangkan Pin Mikrokontroler 10 (VCC) berfungsi untuk pin masukan tegangan
positif catu daya maka dari itu Pin Mikrokontroler 10 di hubungkan kedalam pin IN
IC 7805 yang sudah ter junction dengan jalur 2 Capacitor 100 nF, 2 Capacitor 10uF
dan jalur resistor yang menuju pin IN IC7085 jalur resistor tersebut juga sudah di
juction dengan pin 3 (+) DC Power / Connector. Lalu Pin Mikrokontroler 11 (GND)
berfungsi untuk pin ground maka dari itu Pin Mikrokontroler 11 (GND)
dihubungkan kedalam pin GND IC7805 dan kedalam pin 1 (-) DC Power Jack /
Connector. Fungsi IC7805 adalah untuk menurunkan tegangan 12V (tegangan
masuk dari adaptor 12V) menjadi 5V (tegangan keluaran untuk disalurkan tegangan
nya keseluruh komponen melewati pin OUT), maka tidak heran bila beban tegangan
semakin tinggi maka IC7805 akan semakin panas karena tegangan yang diberikan
oleh Adaptor akan dikonversi output keluaran tegangan nya oleh IC7805.
65
2. Process
Sumber: Hasil Penelitian (2019)
Gambar III.6. Skema Bagian Process
Gambar III.6. adalah skema bagian process pada Alat Pendeteksi Ketinggian Air,
berbasis Mikrokontroler ATMEGA16 yang sudah ter program bahasa C untuk
mengatur jalan nya proses input dan output seperti memberikan peng-input an logika
untuk pembacaan ketinggian status level air melalui sensor Pin Header, memerintah
LCD untuk menampilkan output tulisan sesuai status level air yang terdeteksi oleh Pin
Header dan memerintah Modul GSM SIM800L untuk mengirimkan SMS kedalam
handphone mengenai status level air yang telah terdeteksi oleh Pin Header. Setiap port
66
memiliki fungsi dan jalur nya masing masing maka penulis akan menjelaskan fungsi dari
port port Mikrokontroler tersebut serta penghubungan pin pin dari masing masing port
tersebut :
1. Port A
Port A memiliki 8 pin (PA0–PA07) berfungsi untuk program I/O dan dapat di
program sebagai masukan ADC ( Analog Digital Converter) maka dari itu berfungsi
sebagai program I/O yang telah ter program pada Mikrokontroler untuk mendeteksi
3 level ketinggian air melalui Pin Header, maka dari itu untuk penjalurannya seperti
di bawah ini :
Pin Mikrokontroler 33 (PA7) -> Pin 1 Pin Header (untuk status aman).
Pin Mikrokontroler 34 (PA8) -> Pin 2 Pin Header (untuk status siaga).
Pin Mikrokontroler 35 (PA9) -> Pin 3 Pin Header (untuk status bahaya.)
Masing masing dari ketiga jalur itu telah ter junction / terhubung oleh resistor
10K yang berfungsi sebagai penahan arus / tegangan pada rangkaian agar sesuai
dengan kebutuhan suatu rangkaian.
Pin 4 Pin Header -> Pin 1 Modul GSM SIM800L untuk di junction /
disambungkan ke pin GND dari Regulator AMS 1117.
2. Port B
Port B memiliki 8 pin (PB0-PB07) pin ini berfungsi untuk program I/O dan
memiliki fungsi khusus untuk Timer/Counter, Komparator Analog, namun alat ini
tidak menggunakan port tersebut dikarenakan alat tersebut tidak menggunakan
fungsi dari Timer/Counter dan Komparator Analog.
67
3. Port C
Port C memiliki 8 pin (PC0-PC7) pin ini berfungsi untuk program I/O dan memiliki
fungsi khusus yang sama seperti Port B namun penulis lebih memanfaatkan fungsi
program I/O dari pin port C maka dari itu port C digunakan untuk memberikan
tampilan output pada LCD, maka dari itu untuk penjaluran nya seperti di bawah ini :
Pin Mikrokontroler 29 (PC7) -> Pin LCD 14 (D7). Fungsi dari pin D7 ini adalah
sebagai sarana untuk menampilkan tulisan berupa output kedalam LCD yang
sudah di proses oleh Pin 4 (RS) dan 5 (R/W).
Pin Mikrokontroler 28 (PC6) -> Pin LCD 13 (D6). Fungsi dari pin D6 ini adalah
sebagai sarana untuk menampilkan tulisan berupa output kedalam LCD yang
sudah di proses oleh Pin 4 (RS) dan 5 (R/W).
Pin Mikrokontroler 27 (PC5) -> Pin LCD 12 (D5). Fungsi dari pin D5 ini adalah
sebagai sarana untuk menampilkan tulisan berupa output kedalam LCD yang
sudah di proses oleh Pin 4 (RS) dan 5 (R/W).
Pin Mikrokontroler 26 (PC4) -> Pin LCD 11 (D4). Fungsi dari pin D4 ini adalah
sebagai sarana untuk menampilkan tulisan berupa output kedalam LCD yang
sudah di proses oleh Pin 4(RS) dan 5(R/W).
Pin Mikrokontroler 24 (PC2) -> Pin LCD 6 (E). Fungsi pin E ini hampir sama
dengan pin R/W digunakan untuk transfer aktual dari perintah-perintah atau
karakter antara modul dengan hubungan data. Ketika menulis ke display, data
ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca dari
display, data akan menjadi lebih cepat tersedia setelah perpindahan dari low ke
high dan tetap tersedia hingga sinyal low lagi.
68
Pin Mikrokontroler 23 (PC1) -> Pin LCD 5 (R/W). Fungsi pin R/W ini untuk
membaca dan menulis register dari pin 4(RS) untuk output program kedalam
LCD memfungsikan sebagai perintah write maka R/W low untuk menulis
karakter ke LCD. R/W high untuk membaca data karakter atau informasi status
dari register.
Pin Mikrokontroler 22 (PC0) -> Pin LCD 4 (RS). Fungsi pin RS ini adalah untuk
berfungsi untuk meng transfer data karakter dari program yang terdapat dalam
Mikrokontroler kedalam register untuk memerintahkan pin R/W agar membaca
dan menampilkannya kedalam LCD.
Pin LCD 3 (CONTR) -> Pin S Potensiometer, mengapa dihubungkan ke potensio
? karena fungsi pin CONTR adalah untuk memberikan kontras pada LCD maka
dari itu dihubungkan ke potensio yang berfungsi untuk pengaturan kontras agar
dapat membaca karakter pada LCD dengan cara memutar nya bila memutar ke
kiri maka karakter tidak terbaca bila diputar ke kanan maka karakter pada LCD
akan terbaca.
Pin LCD 2 (VCC) (+) -> Pin LCD 15 (NC) (+) dan terhubung oleh pin A
Potensiometer, fungsi pin VCC adalah untuk sumber tegangan positif pada LCD
maka dihubungkan ke pin NC 15 yang bernilai positif.
Pin LCD 1 (GND )(-) -> Pin LCD 16 (NC) (-) yang terhubung oleh pin E
Potensiometer, fungsi pin GND adalah untuk sumber tegangan negatif pada LCD
maka dihubungkan ke pin NC 16 yang bernilai negatif.
69
4. Port D
Port D memiliki 8 pin (PD0-PD7) pin ini berfungsi untuk program I/O dan
memiliki fungsi khusus yaitu sebagai komparator analog komunikasi serial dan
interupsi eksternal, namun penulis lebih memanfaatkan fungsi untuk program I/O
dan komunikasi serial dari pin port D tersebut tersebut maka dari itu berikut adalah
penjalurannya seperti di bawah ini :
Pin Mikrokontroler 15 (PD1) -> Pin Modul GSM 3 (RX), pin RX berfungsi
sebagai pin receiver untuk komunikasi serial antara mikrokontroler dengan
modul GSM untuk melakukan SMS.
Pin Mikrokontroler 14 (PD0) -> Pin Modul GSM 2 (TX), pin TX berfungsi
sebagai pin transfer untuk komunikasi serial antara mikrokontroler dengan
modul GSM untuk melakukan SMS.
Pin 1 Modul GSM (GND) -> Pin GND Regulator AMS yang terjunction dengan
pin 4 Pin Header, karena pin 1 Modul GSM berfungsi sebagai ground dan pin 4
Pin Header juga berfungsi sebagai ground maka dari itu di junction dan
dihubungkan kedalam pin ground regulator AMS.
Pin 5 Modul GSM (VCC) -> Pin OUT Regulator AMS, mengapa pin 5 modul
GSM (VCC) dihubungkan ke Pin OUT Regulator AMS? Karena fungsi dari
regulator AMS 1117 3,3V adalah untuk memberikan tegangan kepada Modul
GSM sebesar 3,3 V.
70
5. RESET
Fungsi RESET adalah untuk me-reset Mikrokontroler kedalam kondisi awal /
semula, maka dari itu berikut adalah penjalurannya seperti di bawah ini :
Pin Mikrokontroler 9 (RESET) -> Pin 3 dan 4 Push Button , Push Button adalah
saklar tekan yang berfungsi sebagai pemutus atau penyambung arus listrik untuk
mereset mikrokontroler kedalam kondisi semula maka dari itu Push Button
disambungkan kedalam Pin Mikrokontroler 9 (RESET).
Pin Mikrokontroler 9 juga ter junction oleh resistor 10K dan kapasitor 100uF
(yang masing masing kakinya terhubung ke kapasitor lainnya, resistor disini
berfungsi untuk penahan arus rangkaian agar tidak terjadi korsleting pada
komponen komponen yang ada di dalam rangkaian dan kapastior berfungsi
sebagai penyimpanan muatan listrik untuk sementara waktu.
6. XTAL 1 dan XTAL2
Fungsi XTAL 1 dan XTAL 2 adalah untuk masukan clock eksternal karena suatu
Mikrokontroler membutuhkan sumber clock / sumber detak untuk mengeksekuksi
program yang sudah ter-upload di dalam Mikrokontroler ATMEGA16 tersebut,
maka dari itu berikut adalah penjalurannya seperti di bawah ini :
Pin Mikokontroler 12 (XTAL2) -> Kapasitor 100nF yang masing masing
kakinya terhubung ke kapasitor lainnya dan di junction dengan Crystal 16MHz,
seperti yang penulis katakan tadi port XTAL 1 dan XTAL 2 berfungsi untuk
masukan clock eksternal jadi semakin nilai crystal nya tinggi maka semakin
cepat Mikrokontroler ATMEGA16 untuk mengeksekusi program yang terdapat
di dalam Mikrokontroler tersebut , maka dari itu port 12 dihubungkan dengan
71
Crystal 16MHz yang berfungsi untuk sumber clock pada Mikrokontroler
tersebut.
Pin Mikrokontroler 13 (XTAL1) -> Kapasitor 100nF yang masing masing
kakinya terhubung ke kapasitor lainnya dan di junction dengan Crystal 16MHz,
seperti yang saya katakan tadi port XTAL 1 dan XTAL 2 berfungsi untuk
masukan clock eksternal jadi semakin nilai crystal nya tinggi maka semakin
cepat Mikrokontroler ATMEGA16 untu mengeksekusi program yang terdapat di
dalam Mikrokontroler tersebut , maka dari itu port 12 dihubungkan dengan
Crystal 16MHz yang berfungsi untuk sumber clock pada Mikrokontroler
tersebut.
7. Port AREFF
Port AREFF berfungsi untuk tegangan referensi namun alat ini tidak menggunakan
port tersebut.
8. Port AVCC
Port AVCC berfungsi untuk pin masukan tegangan untuk ADC namun alat ini tidak
menggunakan port tersebut.
9. Port VCC
Port VCC berfungsi untuk pin masukan tegangan positif catu daya, maka dari itu
untuk penjalurannya seperti di bawah berikut :
Pin Mikrokontroler 10 (VCC) -> pin 3 DC Connector (lubang untuk
memasukan adaptor), mengapa harus dihubungkan ke pin 3 DC Connector?
Karena pin 3 bernilai positif.
72
Pin Mikrokontroler 10 (VCC) juga ter juction /terkoneksi dengan pin IN IC7805
, IC7805 berfungsi untuk meregulasi / mengkonversi tegangan yang masuk dari
Adaptor 12V menjadi 5V.
Pin Mikrokontroler 10 (VCC) juga terjunction dengan resistor, resistor berfungsi
untuk menahan tegangan arus yang masuk agar komponen dalam rangkaian alat
ini tidak mengalami kerusakan.
10. Port GND
Port GND berfungsi untuk pin masukan tegangan negatif catu daya, maka dari itu
untuk penjalurannya seperti di bawah berikut :
Pin Mikrokontroler 11 (GND) -> pin 1 DC Connector (lubang untuk memasukan
adaptor), mengapa harus dihubungkan ke pin 1 DC Connector ? karena pin 1
bernilai negatif.
Pin Mikrokontroler 11 (GND) juga ter juction /terkoneksi dengan pin IN IC7805
, IC7805 berfungsi untuk meregulasi / mengkonversi tegangan yang masuk dari
Adaptor 12V menjadi 5V.
Pin Mikrokontroler 11 (GND) juga ter junction/terkoneksi dengan pin 1 dan 2
dari Push Button.
Pin OUT IC7805 dihubungkan ke pin IN Regulator AMS 1117 yang berfungsi
untuk memberikan tegangan.
73
3. Output
Sumber: Hasil Penelitian (2019)
Gambar III.7. Skema Bagian Output
Gambar III.7. adalah skema bagian output Alat Pendeteksi Ketinggian Air, terdapat
Mikrokontroler ATMEGA16, Pin Header, LCD, Modul GSM SIM800L, Regulator AMS
1117, IC7805, dan Resistor 10k. Pin Mikrokontroler yang digunakan untuk dihubungkan
ke LCD adalah pin 29, 28, 27, 26, 24, 23, 22 dikarenakan penulis memprogram alat
tersebut dengan program arduino jadi agar LCD ingin menampilkan karakter maka pin
mikrokontroler harus dikonversikan terlebih dahulu menjadi pin digital. Jadi pin 29, 28,
27, 26, 24, 23, 22 akan dikonversikan menjadi pin digital dan berikut adalah tabel dari
hasil konversi Pin Mikrokontroler menjadi Pin Digital :
74
Sumber: https://i.pinimg.com/originals/b6/ad/89/b6ad89724b71daeee840e838987a2a95.jpg
Gambar III.8. Konversi Pin Mikrokontroler Menjadi Pin Digital
Gambar III.8. Merupakan gambar dari pinout Mikrokontroler ATMEGA16 yang
telah dikonversikan kedalam pin digital, mengapa demikian? Karena alat tersebut
menggunakan mikrokontroler sedangkan di program menggunakan program arduino,
agar mikrokontroler dapat membaca program I/O berbasis arduino maka pin
mikrokontroler harus dikonversikan terlebih dahulu menjadi pin digital, maka dari itu
pin 29 bila dikonversikan kedalam pin digital menjadi pin digital 23, pin 28 bila
dikonversikan kedalam pin digital menjadi pin digital 22, pin 27 bila dikonversikan
kedalam pin digital menjadi pin digital 21, pin 26 bila dikonversikan kedalam pin digital
menjadi pin digital 20, pin 24 bila dikonversikan kedalam pin digital menjadi pin digital
20, pin 23 bila dikonversikan kedalam pin digital menjadi pin digital 17, pin 22 bila
dikonversikan kedalam pin digital menjadi pin digital 16, dan pin 33 bila dikonversikan
kedalam pin digital menjadi pin digital 24 , pin 34 bila dikonversikan kedalam pin
75
digital menjadi pin digital 25, pin 35 bila dikonversikan kedalam pin digital menjadi pin
digital 26. Pin yang dikonversi tersebut hanyalah pin yang digunakan untuk program I/O
jadi bila di dalam alat ini pin yang dikonversi kedalam pin digital hanyalah pin yang
digunakan untuk program yang akan dikoding menggunakan software Arduino IDE
untuk penampilan karakter pada LCD dan untuk program input untuk membaca status
level ketinggian air. Jadi pin digital inilah yang akan digunakan untuk koding di dalam
software Arduino IDE dan akan di upload kedalam mikrokontroler ATMEGA16.
LCD memiliki 16 pin yaitu pin 1 (GND) berfungsi untuk ground maka dari itu pin 1
(GND) dihubungkan ke pin 16 (NC) dan ter-junction dengan pin E dari Potensiometer,
pin 2 (VCC) berfungsi untuk pemberian tegangan maka dari itu maka dari itu pin 2
(VCC) dihubungkan ke pin 15 (NC) dan ter-junction dengan pin A dari Potensiometer,
pin 3 (CONTR) berfungsi untuk pengaturan kontras display pada LCD maka dari itu pin
3 (CONTR) dihubungkan ke pin S dari Potensiometer, mengapa ada Potensiometer di
jalur VCC, GND dan CONTR? Karena fungsi dari Potensiometer itu adalah pengatur
tegangan yang dapat kita atur sendiri nilai resistansinya untuk pembacaan karakter pada
LCD cara kerja nya mudah hanya perlu di putar saja lalu pin 4 (RS) berfungsi untuk
meng-transfer data karakter dari program yang terdapat dalam Mikrokontroler maka dari
itu pin 22 (PC0) di hubungkan ke pin 4 LCD (RS), pin 5 (R/W) fungsi dan maksud dari
pin ini adalah bila R/W dalam kondisi low maka akan menulis karakter ke modul dan
bila R/W dalam kondisi high maka akan membaca data karakter dengan kata lain pin ini
berfungsi untuk menampilkan karakter yang telah pin RS baca dari Mikrokontroler maka
dari itu pin 23 (PC1) dihubungkan ke pin 5 LCD (R/W), lalu pin 6 (E) fungsinya hampir
sama dengan pin R/W yaitu sama sama untuk membaca dan menulis karakter dan
76
menampilkan nya kedalam display LCD, maka dari itu pin 24 (PC2) dihubungkan ke pin
6 LCD (E), lalu ada pin 7-14 (D0-D7) berfungsi sebagai jalur data antara
mikrokontroler dan LCD namun penulis hanya memakai pin D4 sd D7 saja maka dari itu
pin Mikrokontroler 29 (PC7) dihubungkan ke pin 14 LCD (D7), pin 28 (PC6)
dihubungkan ke pin 13 LCD (D6), pin 27 (PC5) dihubungkan ke pin 12 LCD (D5), pin
26 (PC4) dihubungkan ke pin 11 LCD (D4), lalu pin 15 (NC) berfungsi untuk diberikan
supply tegangan VCC (+) untuk menyalakan backlight (lampu latar belakang LCD) dan
pin 16 (NC) berfungsi untuk diberikan tegangan GND (-) untuk menyalakan backlight
(lampu latar belakang LCD).
Sedangkan Modul GSM SIM800L memiliki 6 pin yaitu pin 1 (GND), pin 2
(TXD), pin 3 (RXD), pin 4 (RST), pin 5 (Vcc), pin 6 (NET). pin 1 (GND) yang telah
ter-junction dengan port Pin Header 4 di hubungkan ke pin GND Regulator AMS
1117 3,3V yang mana fungsi Regulator AMS itu sendiri adalah sebagai penurun
tegangan DC to DC yang bersifat tetap, output tegangan keluaran nya dapat dilihat
dari kode voltase dibelakang nya bila kode voltase nya 3,3V berarti output tegangan
keluaran nya adalah 3,3V komponen ini fungsinya hampir mirip dengan IC7805
yaitu sama sama berfungsi untuk penurun tegangan agar tidak terjadi kerusakan pada
komponen yang berada di rangkaian tersebut.
Lalu pin 2 (TX) dihubungkan dengan pin 15 (PD1) dan pin 3 (RX) dihubungkan
dengan pin 14 (PD0) yang berfungsi untuk Modul GSM SIM800L melakukan
komunikasi serial kepada Mikrokontroler agar dapat memberikan output berupa SMS
ketika ketinggian air telah terdeteksi oleh sensor Pin Header.
77
1.4. Cara Kerja Alat
Cara kerja Alat Pendeteksi Ketinggian Air Dengan Water Level System Dan SMS
Gateway Berbasis ATMEGA8 adalah ketika alat sudah diberikan daya oleh Adaptor
sebesar 12V maka layar LCD akan menyala dan akan menampilkan output “configure
SMS” pada LCD ini menandakan bahwa alat sudah ON dan sedang mengecek kartu SIM
yang berada pada Modul GSM SIM800L memiliki pulsa yang cukup atau tidak untuk
mengetest signal SMS Gateway. Jika pulsa cukup untuk mengetest signal SMS gateway
maka handphone akan menerima SMS masuk berupa “sending untuk mengetest signal
SMS Gateway.by Water Level SMS” yang memiliki arti bahwa kartu SIM di alat
tersebut memiliki pulsa yang cukup serta memiliki sinyal yang normal untuk
mengirimkan SMS . Jika sudah maka LCD akan menampilkan output “Water Level
SMS.by GENK” yang menandakan bahwa alat siap digunakan untuk mendeteksi
ketinggian air.
Setelah alat dalam keadaan menyala, dan air telah menyentuh kaki sensor ke 2
setinggi 3 cm maka akan mengirimkan sinyal ataupun indikator kepada ATMEGA8 lalu
kemudian ATMEGA8 akan memberikan sinyal perintah untuk LCD agar menampilkan
output berupa “Status saat ini : SIAGA” pada layar LCD lalu Modul GSM SIM800L juga
akan diberikan sinyal perintah oleh ATMEGA8 untuk mengirimkan SMS “Status dalam
keadaan SIAGA.by Water Level SMS” kedalam handphone kita sebagai petanda bahwa
banjir telah datang. Banjir dengan ketinggian 3 cm di dalam alat ini dikategorikan
kedalam level 2 dengan status siaga.
78
Bila ketinggian air terus meningkat hingga menyentuh kaki sensor Pin Header ke
3 setinggi 5 cm maka akan mengirimkan sinyal ataupun indikator kepada ATMEGA8
kemudian ATMEGA8 akan memberikan sinyal perintah untuk LCD agar menampilkan
output berupa “ Status saat ini : BAHAYA” pada layar LCD lalu Modul GSM SIM800L
juga akan diberikan sinyal perintah oleh ATMEGA8 untuk mengirimkan SMS “Status
dalam keadaan BAHAYA.by Water Level SMS” kedalam handphone kita sebagai
petanda bahwa banjir telah datang. Banjir dengan ketinggian 5 cm di dalam alat ini
dikategorikan kedalam level 3 dengan status bahaya.
Dan bila kondisi air surut terus menerus hingga menyentuh kaki sensor Pin
Header ke 1 setinggi 0 cm maka akan mengirimkan sinyal ataupun indikator kepada
ATMEGA8 kemudian ATMEGA8 akan memberikan sinyal perintah untuk LCD agar
menampilkan output berupa “ Status saat ini : A M A N” pada layar LCD lalu Modul
GSM SIM800L juga akan diberikan sinyal perintah oleh ATMEGA8 untuk mengirimkan
SMS “Status dalam keadaan AMAN.by Water Level SMS” kedalam handphone kita
sebagai petanda bahwa banjir telah surut. ketinggian 0 cm di dalam alat ini
dikategorikan kedalam level 1 dengan status aman.
79
1.5. Flowchart Program
Sumber: Hasil Penelitian (2019)
Gambar III.9. Flowchart Program
80
Penjelasan dari flowchart pada Gambar III.9. adalah ketika alat pendeteksi banjir
di nyalakan maka alat akan memproses dan menginisialisasi program mikrokontroler
yang sudah ter-koding di dalam IC ATMEGA16 tersebut, lalu mikrokontroler pada alat
tersebut akan berkomunikasi dengan modul GSM dan jika komunikasi tersebut berhasil
modul GSM akan berkomunikasi dengan kartu SIM untuk mengecek apakah jaringan
nya memadai dan pulsanya mencukupi, jika kartu SIM memiliki pulsa yang cukup dan
jaringan yang memadai maka alat akan mengirimkan SMS untuk testing dan
memberikan indikator bahwa alat siap digunakan untuk mendeteksi ketinggian air
namun jika tidak ada jaringan dan pulsa yang tidak mencukupi maka akan stuck di
dalam proses configure SMS, lalu jika air berada di ketinggian 0 cm / kondisi dalam
keadaan surut menjadi 0 cm maka dinyatakan bahwa status dalam kondisi aman dengan
output LCD bertuliskan “Status saat ini : A M A N” dan Modul GSM SIM800L akan
mengirimkan output SMS “Status dalam keadaan AMAN.by Water Level SMS” sebagai
reminder bahwa banjir telah surut dan status nya sudah aman.
Jika kondisi air terus naik hingga berada di ketinggian 3 cm maka dinyatakan
bahwa status dalam kondisi siaga dengan output LCD bertuliskan “Status saat ini:
SIAGA” dan Modul GSM SIM800L akan mengirimkan output SMS “Status dalam
keadaan SIAGA.by Water Level SMS” sebagai reminder bahwa banjir dalam status
siaga, dan jika kondisi air terus naik hingga berada di ketinggian 5 cm maka dinyatakan
bahwa status dalam kondisi bahaya dengan output LCD bertuliskan “Status saat ini:
BAHAYA” dan Modul GSM SIM800L akan mengirimkan output SMS “Status dalam
keadaan BAHAYA.by Water Level SMS” sebagai reminder bahwa banjir dalam status
bahaya.
81
3.6. Konstruksi Sistem (Coding)
Alat Pendeteksi Ketinggian Air Dengan Water Level System Dan SMS Gateway
Berbasis ATMEGA8 memiliki konstruksi sistem berbasis bahasa C yang semua proses
pengkompilan dan pembuatan program nya dilakukan di dalam software Arduino IDE
sebagai sarana pembuatan program untuk alat tersebut, metode yang dilakukan untuk
memasukan program ke dalam IC Atmega 8 tersebut adalah dengan menggunakan
metode programmer USB Asp dengan menggunakan Board Arduino NG/Older.
Dibawah ini penulis akan menjelaskan konstruksi coding initialisasi, input, main
program dan output yang ada di dalam alat tersebut.
3.6.1. Initialisasi
#include <LiquidCrystal.h> //library untuk LCD
#include <SoftwareSerial.h> // library untuk modul GSM
LiquidCrystal lcd (16, 17, 20, 21, 22, 23); //pin ATMEGA16 22, 23, 26, 27, 28, 29 yang
digunakan untuk LCD yang telah dikonversi menjadi pin digital
SoftwareSerial SIM800L (2, 3); //pemanggilan RX dan TX untuk komunikasi serial
Modul GSM untuk melakukan testing SMS
boolean aman = false; //pembuatan variabel aman
boolean siaga = false; //pembuatan variabel siaga
boolean bahaya = false; //pembuatan variabel bahaya
void setup() { //untuk menginisialisasi variabel
SIM800L.begin(9600); // mengaktifkan komunikasi serial menuju modul GSM
Serial.println("Configure sms"); // menampilkan tulisan tersebut kedalam LCD
82
delay(30000);//mengatur waktu tulisan diatas pada LCD selama 30 detik
Serial.println("Sending sms untuk mengetest signal SMS Gateway.by Water Level
SMS"); //isi pesan yang dikirim ketika proses testing berhasil
SIM800L.write("AT+CMGS=\"081542886084\"\r\n"); //mengirimkan SMS testing ke
nomor tersebut
delay(1000); //waktu jeda untuk proses mengirimkan SMS selama 1 detik
lcd.begin(16, 2); //menggunakan LCD 16x2
lcd.setCursor(0, 0); //mengatur posisi tulisan “Water Level SMS.by GENK” pada kolom
0 baris 0 pada LCD
lcd.print(" Water Level SMS.by GENK" ); //menampilkan tulisan tersebut kedalam LCD
delay(500000); //mengatur waktu tulisan diatas pada LCD selama 5 menit
}
void loop() { //logika untuk perulangan
lcd.setCursor(0, 0); //mengatur posisi tulisan “Status saat ini” pada kolom 0 baris 0 pada
LCD
lcd.print(" Status saat ini : "); //untuk mencetak tulisan "Status saat ini:" pada LCD
boolean a = digitalRead(24); //pembuatan logika untuk pembacaan status aman
menggunakan pin 33 ATMEGA bila dikonvers kedalam pin digital menjadi pin digital
(24)
boolean b = digitalRead(25); //pembuatan logika untuk pembacaan status siaga
menggunakan pin 34 ATMEGA bila dikonversi kedalam pin digital menjadi pin digital
(25)
boolean c = digitalRead(26); //pembuatan logika untuk pembacaan status bahaya
menggunakan pin 35 ATMEGA bila dikonversi kedalam pin digital menjadi pin digital
(26)
Serial.println("AT+CMGF=1"); //perintah untuk mengaktifkan mode SMS
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
83
lcd.setCursor(0, 1); //mengatur posisi tulisan (AMAN/SIAGA/BAHAYA) pada kolom 0
baris 1 pada LCD
if (!c && !b && !a) { //logika pembacaan sensor dalam status bahaya
lcd.print("BAHAYA"); //display output LCD saat dalam kondisi bahaya
delay(500000); //mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!bahaya) { //logika perulangan untuk status bahaya
Serial.println("AT+CMGS=\"+6281542886084\"\r"); // penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan diatas selama 1 detik
Serial.println("Status dalam keadaan BAHAYA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi bahaya
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
Serial.println((char)26); //mengirimkan karakter di nomor 26
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
bahaya = true; //variabel bahaya bernilai benar
siaga = false; //variabel siaga bernilai salah
aman = false; //variabel aman bernilai salah
}
}
else if (!b && !a) { //logika pembacaan sensor dalam status siaga
lcd.print("SIAGA"); //display output LCD saat dalam kondisi siaga
delay (500000); // mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!siaga) { //logika perulangan untuk status siaga
Serial.println("AT+CMGS=\"+6281542886084\"\r"); //penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
Serial.println("Status dalam keadaan SIAGA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi siaga
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
84
Serial.println((char)26); //mengirimkan karakter di nomor 26
delay(10000); //waktu jeda untuk pemrosesan di atas selama 10 detik
siaga = true; //variabel siaga bernilai benar
aman = false; //variabel aman bernilai salah
bahaya = false; //variabel bahaya bernilai salah
}
}
else if (!a) { //logika pembacaan sensor dalam status aman
lcd.print("A M A N"); //display output LCD saat dalam kondisi aman
delay(500000); //mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!aman) { //logika perulangan untuk status aman
Serial.println("AT+CMGS=\"+6281542886084\"\r"); //penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
Serial.println("Status dalam keadaan AMAN.by Water Level SMS"); // isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi aman
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
Serial.println((char)26); //mengirimkan karakter di nomor 26
delay(10000); //waktu jeda untuk pemrosesan di atas selama 10 detik
aman = true; //variabel aman bernilai benar
siaga = false; //variabel siaga bernilai salah
bahaya = false; //variabel bahaya bernilai salah
}
}
85
3.6.2. Input
boolean aman = false; //pembuatan variabel aman
boolean siaga = false; //pembuatan variabel siaga
boolean bahaya = false; //pembuatan variabel bahaya
boolean a = digitalRead(24); //pembuatan logika untuk pembacaan status aman
menggunakan pin 33 ATMEGA bila dikonvers kedalam pin digital menjadi pin digital
(24)
boolean b = digitalRead(25); //pembuatan logika untuk pembacaan status siaga
menggunakan pin 34 ATMEGA bila dikonversi kedalam pin digital menjadi pin digital
(25)
boolean c = digitalRead(26); //pembuatan logika untuk pembacaan status bahaya
menggunakan pin 35 ATMEGA bila dikonversi kedalam pin digital menjadi pin digital
(26)
Serial.println("AT+CMGS=\"+6281542886084\"\r"); //penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
3.6.3. Main Program
//Main program level bahaya
if (!c && !b && !a) { //logika pembacaan sensor dalam status bahaya
lcd.print("BAHAYA"); //display output LCD saat dalam kondisi bahaya
delay(500000); //mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!bahaya) { //logika perulangan untuk status bahaya
Serial.println("AT+CMGS=\"+6281542886084\"\r"); // penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan diatas selama 1 detik
Serial.println("Status dalam keadaan BAHAYA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi bahaya
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
Serial.println((char)26); //mengirimkan karakter di nomor 26
86
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
bahaya = true; //variabel bahaya bernilai benar
siaga = false; //variabel siaga bernilai salah
aman = false; //variabel aman bernilai salah
}
}
//Main program level siaga
else if (!b && !a) { //logika pembacaan sensor dalam status siaga
lcd.print("SIAGA"); //display output LCD saat dalam kondisi siaga
delay (500000); // mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!siaga) { //logika perulangan untuk status siaga
Serial.println("AT+CMGS=\"+6281542886084\"\r"); //penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
Serial.println("Status dalam keadaan SIAGA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi siaga
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
Serial.println((char)26); //mengirimkan karakter di nomor 26
delay(10000); //waktu jeda untuk pemrosesan di atas selama 10 detik
siaga = true; //variabel siaga bernilai benar
aman = false; //variabel aman bernilai salah
bahaya = false; //variabel bahaya bernilai salah
}
}
//Main program level aman
else if (!a) { //logika pembacaan sensor dalam status aman
lcd.print("A M A N"); //display output LCD saat dalam kondisi aman
87
delay(500000); //mengatur waktu tulisan di atas pada LCD selama 5 menit
if (!aman) { //logika perulangan untuk status aman
Serial.println("AT+CMGS=\"+6281542886084\"\r"); //penginputan nomor handphone
untuk modul GSM untuk mengirimkan SMS
delay(1000); //waktu jeda untuk pemrosesan di atas selama 1 detik
Serial.println("Status dalam keadaan AMAN.by Water Level SMS"); // isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi aman
delay(100); //waktu jeda untuk pemrosesan pengiriman SMS selama sepersepuluh detik
Serial.println((char)26); //mengirimkan karakter di nomor 26
delay(10000); //waktu jeda untuk pemrosesan di atas selama 10 detik
aman = true; //variabel aman bernilai benar
siaga = false; //variabel siaga bernilai salah
bahaya = false; //variabel bahaya bernilai salah
}
}
3.6.4. Output
//Output level bahaya
lcd.print("BAHAYA "); //output tulisan pada LCD dalam status bahaya
Serial.println("Status dalam keadaan BAHAYA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi bahaya
//Output level siaga
lcd.print("Status saat ini : BAHAYA”); //output tulisan pada LCD dalam status siaga
Serial.println("Status dalam keadaan SIAGA.by Water Level SMS"); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi siaga
//Output level aman
lcd.print("Status saat ini : A M A N "); //output tulisan pada LCD dalam status aman
Serial.println("Status dalam keadaan AMAN.by Water Level SMS."); //isi pesan yang
dirikim melalui modul GSM ketika dalam kondisi aman
88
3.7. Hasil Percobaan
Ada beberapa kendala dan kesulitan yang penulis alami saat membuat alat
pendeteksi ketinggian air ini, disini penulis akan menjabarkan kendala dan kesulitan
yang penulis alami selama pembuatan alat yaitu sebagai berikut :
1. Kendala saat pencetakan skema kedalam papan PCB dikarenakan skema yang
digunakan pada alat ini menggunakan skema doube layer jadi mau tidak mau tidak
boleh sampai tertukar untuk skema bagian atas dan skema bagian bawah nya dan
tidak boleh salah dalam melakukan mirroring skema, seharusnya bagian skema yang
harus di mirror adalah bagian skema bawah namun penulis melakukan mirroring
skema pada bagian atas nya, jadi untuk sementara waktu alat tersebut di jumper
untuk simulasi, troubleshooting dan mengetest alat tersebut apakah ada error atau
tidak mulai dari jalur yang tidak terhubung atau komponen yang rusak ataupun
permasalahan lainnya, jika sudah tidak ada masalah sudah ter atasi maka penulis
akan mencetak ulang skema di papan PCB yang baru.
2. Kendala lubang di skema yang terlalu kecil dan jarak nya yang terlalu berdekatan
sehingga komponen sudah untuk dimasukan sehingga komponen tidak terlihat
presisi.
3. Kendala saat memasukan program ke dalam IC ATMEGA8 melalui software
Arduino IDE, ketika saat memasukan program menggunakan programmer USB Asp
instruksi nya bertuliskan uploading success tetapi ketika IC sudah di solder di board
PCB, LCD tidak menampilkan tulisan/karakter hal tersebut dialami selama 2x dalam
pembuatan alat jadi penulis harus membongkar dan memasang kembali IC tersebut
89
ke board PCB, setelah di telusuri ternyata di laptop penulis tidak terdeteksi port
COM berapa yang digunakan oleh laptop sebagai interface untuk memasukan
program melalui USB Asp, sedangkan syarat untuk memasukan program melalui
metode USB Asp adalah selain kita harus memilih board Arduino NG/Older dan
memilih IC ATMEGA8 kita juga harus memilih port COM mana yang ingin kita
tuju sebagai interface dalam memasukan program ke dalam IC (biasanya hal ini
sudah terdeteksi dengan default namun di laptop penulis tidak terdeteksi jadi harus
meng install ulang driver USB Asp di laptop).
4. LCD dan Modul GSM SIM800L tidak dapat dijalankan secara bersamaan,
dikarenakan port ATMEGA8 tidak mendukung kedua device Modul GSM SIM800L
dan LCD untuk berjalan bersamaan selain itu juga dikarenakan kurangnya port I/O
di dalam ATMEGA8 jadi yang seharusnya ada beberapa port I/O tersebut digunakan
untuk LCD tetapi malah terpakai untuk Modul GSM SIM800L jadi bila ingin tetap
menggunakan ATMEGA8 harus memilih salah satu device saja selain itu
ATMEGA8 tidak dapat mendukung kedua device LCD dan Modul GSM SIM800L
bekerja secara bersamaan dikarenakan ATMEGA8 tidak support untuk perbedaan
gelombang frekuensi dari LCD dengan trigger SMS dari Modul GSM SIM800L bila
tetap dipaksakan maka hanya ada salah satu saja yang menyala dari kedua device.
Masalah ini baru diketahui setelah 3 hari pendaftaran judul TA, terkait dengan
masalah ini penulis berkonsultasi dengan dosen pembimbing dan memutuskan untuk
menggunakan ATMEGA16 dikarenakan ATMEGA16 memiliki 40 port dan support
untuk mendukung kedua device LCD dan Modul GSM SIM800L untuk berjalan
secara bersamaan tanpa harus kekurangan port dan menginterupsi port port lainnya.
90
4.7.1. Hasil Input
Sumber: Hasil Penelitian (2019)
Gambar III.10. Hasil Penginputan Air Dalam Status Aman
Gambar III.10. merupakan proses input debit air dimana status dalam kondisi
aman, yang dimana air berkisar antara 0 cm dan belum mendeteksi adanya banjir lalu
LCD akan menampilkan output bertuliskan “Status saat ini : A M A N” maka dari itu di
dalam status aman, alat ini belum memberikan peringatan berupa SMS kedalam
handphone kecuali ketika kondisi banjir telah surut dari bahaya ke aman maka Modul
GSM SIM800L akan memberikan SMS sebagai penanda bahwa banjir telah surut.
91
Sumber: Hasil Penelitian (2019)
Gambar III.11. Hasil Penginputan Air Dalam Status Siaga
Gambar III.11. merupakan proses input debit air dimana air sudah menyentuh
sensor Pin Header kedua yang menandakan bahwa status dalam kondisi siaga dimana
air berkisar antara 3 cm dan sudah mendeteksi adanya banjir lalu LCD akan
menampilkan output bertuliskan “Status saat ini: S I A G A” maka dari itu di dalam
status siaga, alat ini sudah memberikan peringatan berupa SMS kedalam handphone
yang bertuliskan “ Status dalam keadaan SIAGA.by Water Level SMS”.
92
Sumber: Hasil Penelitian (2019)
Gambar III.12. Hasil Penginputan Air Dalam Status Bahaya
Gambar III.12. merupakan proses input debit air dimana air sudah menyentuh
sensor Pin Header ketiga yang menandakan bahwa status dalam kondisi bahaya dimana
air berkisar antara 5 cm dan sudah mendeteksi adanya banjir lalu LCD akan
menampilkan output bertuliskan “Status saat ini : B A H A Y A ” maka dari itu di dalam
status bahaya, alat ini sudah memberikan peringatan berupa SMS kedalam handphone
yang bertuliskan “ Status dalam keadaan BAHAYA.by Water Level SMS”.
93
3.7.2. Hasil Output
Sumber: Hasil Penelitian (2019)
Gambar III.13. Hasil Output SMS Dalam Status Siaga
Gambar III.13. merupakan output berupa SMS yang dikirim dari alat tersebut
melalui Modul GSM SIM800L kedalam handphone kita yang bertuliskan “Status dalam
keadaan SIAGA.by Water Level SMS” Yang menandakan bahwa banjir telah mencapai
kaki sensor Pin Header ke 2 dengan ketinggian 3 cm dan status dalam kondisi siaga.
Penulis memberikan output peringatan berupa SMS dikarenakan lebih efisien dan efektif
serta cepat dalam memberikan informasi peringatan bila banjir datang.
94
Sumber: Hasil Penelitian (2019)
Gambar III.14. Hasil Output SMS Dalam Status Bahaya
Gambar III.14. merupakan output berupa SMS yang dikirim dari alat tersebut
melalui Modul GSM SIM800L kedalam handphone kita yang bertuliskan “Status dalam
keadaan BAHAYA.by Water Level SMS” Yang menandakan bahwa banjir telah
mencapai kaki sensor Pin Header ke 3 dengan ketinggian 5 cm dan status dalam kondisi
bahaya. Penulis memberikan output peringatan berupa SMS dikarenakan lebih efisien
dan efektif serta cepat dalam memberikan informasi peringatan bila banjir datang.
95
Sumber: Hasil Penelitian (2019)
Gambar III.15. Hasil Output SMS Dalam Status Aman
Gambar III.15. merupakan output berupa SMS yang dikirim dari alat tersebut
melalui Modul GSM SIM800L kedalam handphone kita yang bertuliskan “Status dalam
keadaan AMAN.by Water Level SMS”. Yang menandakan bahwa banjir telah surut dan
menyentuh kaki sensor Pin Header ke 1 dengan status kondisi aman. Penulis
memberikan output peringatan berupa SMS dikarenakan lebih efisien dan efektif serta
cepat dalam memberikan informasi peringatan bila banjir telah surut.
96
3.7.3. Hasil Keseluruhan Alat
Tabel III.1.
Tabel Hasil Keseluruhan Alat Pendeteksi Ketinggian Air
Level Ketinggian
Air
Mewakili
Berapa
Meter
Status Output
LCD SMS
Level
1
0 cm
0 meter
Aman
Status Saat
Ini:
A M A N
Status dalam
keadaan
AMAN.by Water
Level SMS
Level
2
3 cm
1,5 - 2
meter
Siaga
Status Saat
Ini:
S I A G A
Status dalam
keadaan
SIAGA.by Water
Level SMS
Level
3
5 cm
> 2 meter
Bahaya
Status Saat
Ini:
B A H A Y A
Status dalam
keadaan
BAHAYA.by
Water Level SMS
Sumber: Hasil Penelitian (2019)