Anda di halaman 1dari 14

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

ATmega328
XTAL 2
Crystal
oscilator

XTAL 1

Gambar 4.17 crystal 16 Mhz

Dalam mikrokontroler dikenal istilah Machine Cycle (MC) / Siklus Mesin, dimana :
1 MC = 6 state = 12 periode clock
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

Sytsem kerja keseluruhan dari alat ini terbagi menjadi empat bagian penting dari blok
skematik seperti gambar diatas yang memiliki fungsinya masing-masing. Terdiri dari :

Blok serial converter RS232 : berfungsi untuk memprogrammer mikrokontroler


ATmega8 menggunakan komunikasi serial ke computer dengan menafaatkan IC
max232 seperti yang sudah penulis jelaskan dalam bab sebelumnya.

Blok

Mikrokontroler yang berfungsi sebagai pusat pengendali input/output

seperti yang sduah penulis jelaskan pada bagian atas

Blok driver motor L293d yaitu sebuah IC yang berfungsi sebagai driver motor
stepper yang penulis gunakan untuk menggerakkan pintu otomatis tersebut.

Blok sensor PIR yaitu terdiri dari sensor gerak passive infra red (PIR) berfungsi
sebagai detector gerakan manusia yang dideteksi oleh sensor seperti yang sudah
dijelaskna pada bab sebelumnya.

System yang penulis rancang menggunakan satu buah sensor yaitu dengan menggunakan
sensor gerak passive infra merah (PIR). Proses kerja sensor ini dilakukan dengan mendeteksi
adanya radiasi panas tubuh manusia yang diubah menjadi perubahan tegangan. Dengan kata
lain modul PIR (Passive Infra Red) adalah modul pendeteksi gerakan yang bekerja dengan cara
mendeteksi adanya perbedaan/perubahan suhu sekarang dan sebelumnya. Jika lebih banyak
radiasi dipancarkan. Sensor detektor akan melihat besar kecilnya IR dari yang lain, dan output
akan berayun tinggi atau rendah. Benda yang bisa dideteksi oleh sensor ini biasanya adalah
tubuh manusia dikarenakan tubuh manusia memancarkan gelombang infra merah alami 8 hingga
14 mikron. Sensor PIR hanya bereaksi pada tubuh manusia saja, hal ini disebabkan karena
adanya IR Filter yang menyaring panjang gelombang sinar inframerah pasif. IR Filter dimodul
sensor PIR ini mampu menyaring panjang gelombang sinar inframerah pasif antara 8 sampai 14
mikrometer, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar
antara 9 sampai 10 mikrometer ini saja yang dapat dideteksi oleh sensor.

Jadi, ketika seseorang berjalan melewati sensor, sensor akan menangkap pancaran sinar
inframerah pasif yang dipancarkan oleh tubuh manusia yang memiliki suhu yang berbeda dari
lingkungan sehingga menyebabkan material pyroelectric bereaksi menghasilkan arus listrik
karena adanya energi panas yang dibawa oleh sinar inframerah pasif tersebut. Kemudian sebuah
sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian dibandingkan oleh
comparator sehingga menghasilkan output.
Ketika manusia berada di depan sensor PIR dengan kondisi diam, maka sensor PIR akan
menghitung panjang gelombang yang dihasilkan oleh tubuh manusia tersebut. Panjang
gelombang yang konstan ini menyebabkan energi panas yang dihasilkan dapat digambarkan
hampir sama pada kondisi lingkungan disekitarnya. Ketika manusia itu melakukan gerakan,
maka tubuh manusia itu akan menghasilkam pancaran sinar inframerah pasif dengan panjang
gelombang yang bervariasi sehingga menghasilkan panas berbeda yang menyebabkan sensor
merespon dengan cara menghasilkan arus pada material Pyroelectricnya dengan besaran yang
berbeda beda. Karena besaran yang berbeda inilah comparator menghasilkan output.
Jadi sensor PIR tidak akan menghasilkan output apabila sensor ini dihadapkan dengan
benda panas yang tidak memiliki panjang gelombang inframerah antar 8 sampai 14 mikrometer
dan benda yang diam seperti sinar lampu yang sangat terang yang mampu menghasilkan panas,
pantulan objek benda dari cermin dan suhu panas ketika musim panas. Jika terdapat gerakan
maka driver motor L293D akan aktif dan menggerakkan motor stepper dan pintu akan terbuka.
Demikianlah prinsip kerja dari system yang penulis rancang ini.
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

Anda mungkin juga menyukai