analisa system sms gateway dengan tiga sensor
DESCRIPTION
Analisa System SMS Gateway Dengan Tiga SensorTRANSCRIPT
Analisa System SMS Gateway dengan Tiga Sensor
1. Mikrokontroler AVR
Arsitektur mikrokontroler jenis AVR (Alf and Vegard RISC) pertama kali
dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of
Technology yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler AVR kemudian
dikembangkan lebih lanjut oleh Atmel. Seri pertama AVR yang dikeluarkan adalah
mikrokontroler 8 bit AT90S8515, dengan konfigurasi pin yang sama dengan mikrokontroler
8051, termasuk address dan data bus yang termultipleksi.
Mikrokontroler AVR menggunakan teknologi RISC (Reduced Instruction Set
Computer) dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode
pengalamatannya. Pada awal era industri komputer, bahasa pemrograman masih menggunakan
kode mesin dan bahasa assembly. Untuk mempermudah dalam pemrograman para desainer
komputer kemudian mengembangkan bahasa pemrograman tingkat tinggi yang mudah
dipahami manusia. Namun akibatnya, instruksi yang ada menjadi semakin komplek dan
membutuhkan lebih banyak memori. Dan tentu saja siklus eksekusi instruksinya menjadi
semakin lama. Dalam AVR dengan arsitektur RISC 8 bit, semua instruksi berukuran 16 bit dan
sebagian besar dieksekusi dalam 1 siklus clock. Berbeda dengan mikrokontroler MCS-51 yang
instruksinya bervariasi antara 8 bit sampai 32 bit dan dieksekusi selama 1 sampai 4 siklus
mesin, dimana 1 siklus mesin membutuhkan 12 periode clock.
Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx,
ATMega, AT86RFxx dan ATTiny. Pada dasarnya yang membedakan masing-masing varian
adalah kapasitas memori dan beberapa fitur tambahan saja.
2. Central Processing Unit (CPU)
Unit pemrosesan pusat (Central Processing Unit, CPU) Terdiri dari dua unit yaitu unit
pengendali (Control Unit, CU) dan unit aritmatika dan logika (Aritmetic and Logical Unit,
ALU). Unit aritmatika dan logika melaksanakan operasi aritmatika untuk data yang melaluinya.
Fungsi aritmatika yang lazim termasuk logika AND, logika OR dan Operasi pergeseran.
Fungsi utama sebuah unit pengendali adalah mengambil, mengkode dan melaksanakan
urutan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali mengatur
urutan operasi sebuah sistem. Khususnya unit ini menghasilkan dan mengatur sinyal pengendali
yang diperlukan untuk mensinkronkan seluruh operasi sebuah sistem, selain itu juga aliran data
dan instruksi program di dalam dan di luar ALU.
3. Memori
Setiap sistem mikrokontroler memerlukan memori untuk dapat menyimpan program dan
data. Pada mikrokontroler sendiri sudah terdapat memori data dan memori program, ada
beberapa tingkatan memori diantaranya adalah register internal, memori utama dan memori
masal. Register internal adalah memori di dalam ALU. Waktu akses register ini sangat cepat
umumnya kurang dari 100ns.
Ada dua tipe logika memori, tergantung dari kemungkinan aksesnya, yaitu yang
dihubungkan secara acak ( Random Access Memory, RAM) yang bisa dibaca atau ditulisi, dan
memori yang hanya untuk dibaca saja (Read Only Memory, ROM). Dalam mikrokontroler, RAM
itu disebut sebagai memori data (Data Memory), sedangkan ROM dikenal sebagai memori
program (Program Memory). Random Access Memory (RAM) adalah memori yang dapat dibaca
atau ditulisi. Data dalam RAM akan terhapus (volatile) bila catu daya dihilangkan. Karena sifat
RAM yang volatile, maka program mikrokontroler tidak tersimpan dalam RAM. RAM hanya
digunakan untuk menyimpan data secara sementara. Terdapat dua teknologi yang dipakai untuk
membuat RAM yaitu RAM Statik dan RAM Dinamik. Dalam RAM statik satu bit informasi
tersimpan dalam sebuah flip-flop. RAM statik tidak memerlukan penyegar dan penangannya
tidak terlalu rumit. Isi RAM tetap selama catu daya diberikan. Sedangkan RAM Dinamik
menyimpan bit informasi sebagai muatan. Sel memori elementer dibuat dari kapasitansi gerbang
substrat transistor MOS.
4. Input/Output
Input/output diperlukan untuk berkomunikasi dengan dunia luar. Modul masukan
menyediakan informasi bagi ALU atau memori. Alat masukan yang khas seperti keyboard
(keypad) atau sensor (transducer). Modul keluaran menyajikan data yang datang dari ALU atau
melaksanakan perintah-perintah. Modul keluaran yang khas adalah printer, satu set lampu, atau
mekanisme pengendali motor stepper, relay, LED ( Ligh Emmitting Diode), atau LCD (Liquid
Crystal Display). Dalam mikrokontroler ATmega328 terdapat input output atau yang disebut pin
mapping seperti ditunjukkan gambar berikut ini :
5. Arsitektur Mikrokontroler ATmega328
Mikrokontroler ATmega328 bekerja dengan level tegangan TTL, dalam hal ini
digunakan tegangan sebesar 5 volt. Semua port yakni digital pin 0 samapi dengan 13 dan pin
analog 0 sampai 5 bersifat bi-directional I/O dengan internal pull-up.
Untuk membangkitkan frekuensi kerja pada perancangan ini menggunakan osilator
kristal sebesar 16 MHz. Berdasarkan data sheet ATmega328 besar nilai kapasitor yang
digunakan harus berada pada 33 + 10 pF, pada perancangan ini digunakan kapasitor 22 pF.
Dengan demikian maka dapat dihasilkan waktu mendekati 1 mikrodetik setiap satu siklus mesin.
Reset (Pin 1) bekerja pada saat berlogika tinggi, transisi logika dari rendah ke tinggi akan
mereset sistem minimum ATmega328. Untuk menghasilkan sinyal tersebut digunakan kapasitor,
tahanan dan sebuah saklar push bottom. Rangkaian sistem minimum ATMEGA328 dapat
digambarkan seperti Gambar 4. 16
Gambar 4.16 Rangkaian Mikrokontroler ATMEGA328
Penyemat X1 dan X2 dihubungkan dengan kristal yang berfungsi sebagai pembentuk
sebuah isolator bagi mikrokontroler. Kristal 16 MHz ini didukung dua capasitor keramik C1 dan
C2 yang nilainya sama sebesar 22pF. Apabila terjadi beda potensial pada kedua kapasitor
tersebut maka kristal akan berosilasi. Pulsa yang keluar adalah berbentuk gigi gergaji dan akan
dikuatkan oleh rangkaian internal pembangkit rangkaian pulsa pada mikrokontroler sehingga
akan berubah menjadi pulsa clock. Untuk pembagian dari frekuensi internal mikrokontroler itu
sendiri yang diinisialisasi dengan program.
Penyemat Reset dihubungkan dengan saklar yang digunakan untuk me-Reset
mikrokontroller. Karena kaki reset ini aktif berlogic tinggi maka diperlukan Resistor R1 yang
nilainya 10K yang dihubungkan dengan tegangan 0 Volt untuk memastikan penyemat Reset
berlogic rendah saat sistem ini bekerja. Kapasitor C1=10F berfungsi untuk meredam adanya
kesalahan akibat penekanan saklar Reset.
6. Pewaktu CPU
Agar dapat mengeksekusi program, mikrokontroler membutuhkan pulsa clock. Pulsa ini
dapat dihasilkan dengan memasang rangkaian resonator pada pin XTAL1 dan XTAL2. Frekuensi
kerja maksimum ATmega328 adalah 16 MHz. Mikrokontroler ATmega328 memiliki osilator
internal (on-chip oscillator) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk
menggunakan osilator internal diperlukan sebuah kristal atau resonator keramik antara pin
XTAL1 dan XTAL2 dan kapasitor yang dihubungkan ke ground. Jadi clock yang diperoleh CPU
berasal dari sinyal yang diberikan dari sebuah kristal. Penggunaan kristal dengan frekuensi dari 6
MHz sampai 16 MHz, sedangkan untuk kapasitor dapat bernilai 27 pF sampai 33 pF. Hubungan
oscilator untuk ATmega328 dapat dilihat pada gambar 4.17
Gambar 4.17 crystal 16 Mhz
Dalam mikrokontroler dikenal istilah Machine Cycle (MC) / Siklus Mesin, dimana :
1 MC = 6 state = 12 periode clock
ATmega328
XTAL 2
XTAL 1
Crystaloscilator
ATmega328
XTAL 2
XTAL 1
Jika frekuensi crystal yang digunakan adalah 12 MHz maka 1 MC = 12/frekuensi crystal = 12/12
MHz =1uS
Gambar 4.18 Siklus Mesin
7. Sistem Kerja Keseluruhan
Terdapat tiga buah sensor pada alat ini yaitu sensor suhu dengan menggunakan LM35
kemudian ada sensor gerak menggunakan sensor passive infra merah (PIR) dan yang terakhir
berupa sensor Asap dengan sensor MQ-5. Mula-mula alat akan mendeteksi suhu ruangan
disekitar alat ini, yang memilikik batas ambang antara 28C sampai 34C apabila di atas batas
ambang tersebut maka kondisi ini dikatakan dalam keadaan tidak wajar dan system akan
mengirim perintah sms melalui modem serial ke nomor handphone tujuan. Begitu juga ketika
terdapat konsentrasi asap melebihi nilai ambang yang sebelumnya sudah kita tentukan maka alat
akan mengirim sms ke nomor tujuan dan buzzer akan menyala sebagai indicator pada alat
tersebut. Selanjutnya bila terdapat gerakan pada ruangan di dekat alat ini diletakkan maka system
kembali akan mengirim perintah sms ke nomor tujuan yang sudah ditentukan sebelumya.
Dalam system SMS gateway ini memanfaatkan dua buah driver relay ,Rangkaian driver
yang digunakan penulis berupa konfigurasi transistor jenis NPN. Ini dimaksudkan agar
mikrokontroler tidak mengalami kelebihan beban apabila mencatu sebuah beban yang besar
dalam kasus ini adalah lampu 12 volt dengan arus hingga 1 ampere. Sehingga dibutuhkan sebuah
rangkaian driver seperti tampak pada gambar 3.7
Gambar 3.7 Rangkaian Driver Relay
Untuk dapat mengaktifkan relay ini mikrokontroler harus mengirimkan data sinyal ‘1’.
Dioda berfungsi untuk menahan tegangan balik dari relay pada saat perubahan dari kondisi aktif
ke kondisi tidak aktif. Saat transistor BC548 berada dalam keadaan saturasi, tegangan pada
kolektor-emitor mendekati nol. Dari data sheet β sebesar 165 (typical). Tahanan relay setelah
diukur sebesar 100 Ω. Maka dapat dihitung sebagai berikut :
Port2.0
Dari perhitungan tersebut didapatkan IB>IBSAT, maka transistor benar menjadi saturasi.
Sehingga dalam rangkaian driver line ini digunakan Rb sebesar 10K.
Untuk supply tegangan yang dipakai pada system ini menggunakan tegangan sebesar 12
volt DC. Tegangan ini diperoleh dari transformator universaldengan tegangan 12 volt, dengan
arus 1.2 Ampere. Karena pada masing-masing rangkaian membutuhkan tegangan sebesar 5 volt
maka untuk itu dibuatkan rangkaian regulator agar mendapatkan tegangan sebesar 5 volt.
Gambar 4.8
Rangkaian Power
Supply
Pada rangkaian ini digunakan IC regulator 7805 untuk mendapatkan tegangan sebesar 5 volt.
Pada Gambar 3.7 merupakan skema rangkaian supply untuk ke masing-masing bagian
diantaranya tegangan 5 volt ke board minimum system ATMega8.
Perencanaan Program bahasa C pada system SMS gateway
Penulisan program C menggunakan software Arduino-21. Software tersebut berfungsi
untuk membuat listing program yang akan dimasukkan ke dalam mikrokontroler nantinya.
Tampilan software Arduino-21 dan cara bagaimana memasukkan program ke dalam
mikrokontroler dapat dilihat pada gambar 3.11.
Gambar 3.11 tampilan awal program
Untuk membuat bahasa C, pertama kita membuat file baru dengan cara mengklik new.
Kemudian kita ketikkan bahasa C pada kolom yang sudah tersedia. Namun kita juga dapat
membuka file program yang sudah dibuat sebelumnya dengan klik file kemudian klik
sketchbook dan selanjutnya pilih file program tersebut seperti terlihat Pada gambar 3.12.
Gambar 3.12 Membuka File Program
Selanjutnya adalah meng-compile program C dengan cara klik toolbar sebelah kiri jendela
program dan apabila tidak terdapat error maka program sudah siap untuk di upload ke rangkaian
mikrokontroler. Seperti terlihat dalam gambar 3.11. Status error dapat terjadi apabila dalam
penulisan program tidak sesuai dengan tata cara penulisan program dalam bahasa C yang sudah
ada, ini dapat diperbaiki dengan cara meng-klik file program yang error kemudian mengecek
dimana letak kesalahannya. Kemudian di-compile sekali lagi, jika tidak terdapat error maka
program sudah siap dimasukkan ke mikrkontroler.
Gambar 3.13 Proses Compile
Apabila tidak terdapat error pada proses compiler maka akan terlihat tulisan done compiling
pada program bagian bawah, itu menandakan bahwa program yang sudah dibuat sebelumnya
tidak mengalami kesalahan penulisan program. Selanjutnya adalah meng-upload program yang
sudah dibuat ke dalam mikrokontroler namun, sebelum meng-upload program terlebih dahulu
mengatur board yang digunakan dan serial port seperti terlihat pada gambar 3.14 .
Gambar 3.14 Mengatur board yang Digunakan
Untuk memilih mikrokontroler yang akan digunakan maka cukup meng-klik tool kemudian pilih
board selanjutnya pilih Arduino NG older w/ATmega8. Hal ini dilakukan karena mikrokontroler
yang digunakan adalah ATmega8. Selanjutnya adalah mengatur port serial yang digunakan agar
proses pemprograman dapat berjalan. Gambar 3.15 memperlihatkan proses pengaturan port
serial.
Gambar 3.15 Pemilihan port serial
Yang terakhir adalah proses uploading program ke dalam mikrokontroler dengan meng-klik
tombol upload pada toolbar sebelah kanan seperti terlihat pada gambar 3.16 apabila proses
uploading berhasil maka ditandai dengan tulisan done uploading. Maka mikrokontroler sudah
selesai diporgram.
Gambar 3.16 Program Selesai di-uploading