• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEOR

2.3. Motor Stepper

Pada Motor DC biasa, akan berputar dan berputar terus selama power

supply ada. Tidak ada rangkaian cerdas tertentu yang diperlukan untuk

mengendalikan motor tersebut, kecuali hanya memperlambat putaran atau

membalik putaran, dengan menerapkan polaritas balik. Motor stepper adalah

sangat berbeda. Jika anda memberikan power pada motor ini, maka motor ini akan

berada dalam keadaan diam, agar motor dapat berputar, anda harus merubah

sinyal yang masuk ke motor.

Sebagai ilustrasi, dapat dibayangkan sebuah kompas dengan

elektromagnet disekitarnya. Sebagaimana digambarkan pada Gambar 2.14.,

apabila power yang diberikan pada elektromagnet diganti, maka akan merubah

posisi jarum dari kompas (Triwiyanto, www.mytutorialcafe.com). Gambar 2.14 Bentuk Fisik Motor Stepper

Dengan empat buah elektromagnet maka gerakan akan melompat secara kasar.

Sekarang bayangkan susunan yang sama dengan 100 elektromagnet yang

mengitari kompas. Dengan mangatur energi yang mengalir pada setiap

elektromagnet dalam berurutan, maka jarum akan memerlukan sebanyak 100

langkah untuk melakukan satu kali putaran. Tetapi dengan pengaturan 100

elektromagnet secara individu, akan memerlukan elektronika yang kompleks.

Gambar 2.16 Ilustrasi Motor Stepper Dengan Jarum Kompas Dengan Elektromagnet

Pada ilustrasi tersebut, huruf-huruf yang melingkar mewakili elektromagnet.

Semua magnet dengan huruf yang sama berada dalam keadaan koneksi. Ketika

anda memberi arus pada rangkaian tersebut, maka semua elektromagnet dengan

huruf yang sama akan on pada saat itu, untuk menggerakkan kompas, maka

elektromaget berikutnya harus dialiri arus, sehingga akan menimbulkan gerakan.

Table 2.8. Full Step Mode (Triwiyanto, 2004).

A B C D Comment

1 0 0 0 Take a step clock wise 0 1 0 0 Another step clock wise 0 0 1 0 Another step clock wise 0 0 0 1 Another step clock wise 0 0 0 1 No step take

Mode Half Steps

Dengan menghidupkan dua koil pada waktu yang bersamaan maka

motor akan berada dalam posisi diantaranya.

Gambar 2.17 Half step mode

Berikut adalah (Tabel 2.9 Half Step Mode) table uji dari motor stepper

model Half Step Mode.

Table 2.9. Half Step Mode (Triwiyanto, 2004)

A B C D Comment

1 0 0 0 Take a step clock wise 1 1 0 0 Half a step clock wise

0 1 0 0 The complete full step clock wise

0 1 1 0 Another half step clock wise 0 0 1 0 The complete full step clock

wise

0 0 1 1 Another half step clock wise 0 0 0 1 The complete full step clock

wise

1 0 0 1 Another half step clock wise 1 0 0 0 Start position

2.4 Limit Switch.

Limit Switch adalah sensor peraba yang bersifat mekanis dan mendeteksi

sesuatu setelah terjadi kontak fisik. Penggunaan sensor ini biasanya digunakan

untuk membatasi gerakan maksimum sebuah mekanik. Contohnya pada

penggerak lengan dimana limit switch akan aktif dan memberikan masukan pada

Mikro untuk menghentikan gerak motor di saat lengan sudah ditarik maksimum.

Sensor ini juga seringkali digunakan untuk sensor cadangan bilamana sensor yang

lain tidak berfungsi. Contohnya pada bagian pinggir dari sebuah robot, pada saat

sensor infrared gagal berfungsi untuk mendeteksi adanya halangan, maka limit

switch akan mendeteksi dan memerintahkan motor untuk berhenti saat terjadi

kontak fisik.

. Gambar 2.18. Limit Switch

2.5 Sensor Gerak

Sensor Passive Infra Red merupakan alat elektronik yang mengukur

radiasi sinar infra merah dari suatu objek dalam cakupan tertentu. Berbeda dengan

sensor biasa yang menggunakan modul transmitter unutk memancarkan

gelombang tersebut, sensor Passive Infra red hanya terdiri dari 1 modul penerima

saja. Sesuai dengan sifatnya yang pasif, sensor ini hanya merespon energi dari

pancaran sinar inframerah pasif yang dimilki setiap benda yang terdeteksi

(Rifqy,2008). Benda tersebut merupakan benda yang memiliki perbedaan

Gambar 2.19 Cara Kerja Sensor

Seperti yang ditunjukkan pada Gambar 2.19, ketika ada sebuah objek melewati

sensor, pancaran radiasi infra merah pasif yang dihasilkan akan dihasilkan akan

dideteksi oleh sensor. Energi panas yang dibawa oleh sinar infra merah pasif ini

menyebabkan aktifnya material pyroelektric di dalam sensor yang kemudian

menghasilkan arus listrik.

Perancangan hardware ini menggunakn modul sensor Passive Infra Red

KC7783R Sistem ini telah terealisasi dan dapat menggerakkan pintu secara

otomatis Jika ada orang mendekati pintu dan terdeteksi oleh sensor PIR KC7783R

maka pintu akan bergerak membuka dan menutup kesamping kanan atau kiri,

sensor passive infrared (PIR) telah banyak dimanfaatkan dalam alat-alat yang

memerlukan sensor pendeteksi gerakan. Sebagai contoh yang sudah banyak kita

jumpai adalah sistem pintu otomatis yang terpasang disupermarket, mall-mall dan

perkantoran, pintu tersebut akan terbuka jika ada orang yang mendekatinya.

Sensor PIR akan bekerja dengan mendeteksi radiasi infra merah yang terjadi

lingkunga sekitarnya. Sensor PIR yang digunakan disini adalah PIR KC7783R.

PIR KC7783R merupakan sensor infrared yang menjadi perangkat keras utama

dari sistem ini. Sensor infrared ini merupakan jenis PIR (Passive Infrared) dengan

harga yang relatif murah. PIR KC7783R merupakan sensor pendeteksi yang

berfungsi normal pada tegangan 4,7 – 12 volt DC dan akan mengeluarkan output

dengan level high antara 4,9-6 volt.

Di dalam sensor PIR ini terdapat bagian-bagian yang mempunyai perannya

masing-masing, yaitu Fresnel Lens, IR Filter, Pyroelectric sensor, amplifier, dan

comparator. Sensor PIR ini bekerja dengan menangkap energi panas yang

dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan

suhu benda diatas nol mutlak. Seperti tubuh manusia yang memiliki suhu tubuh

kira-kira 32 derajat celcius, yang merupakan suhu panas yang khas yang terdapat

pada lingkungan. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh

Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga

menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat

dan litium tantalate menghasilkan arus listrik. Mengapa bisa menghasilkan arus

listrik Karena pancaran sinar inframerah pasif ini membawa energi panas.

Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari

mengenai solar cell. Berikut Gambar 2.20 blok diagram sensor PIR:

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. Adapun beberapa fitur yang dimilki sensor KC7783R

adalah:

a. Menggunakan output digital

b. Memiliki amfliefier di dalamnya sehingga dapat dengan mudah

dikoneksikan dengan perangkat mikrokontroler.

c. Mendeteksi gerakan dari objek seperti manusia hingga gerakan kecil

sekalipun. Kemampuan mendeteksi gerakan dengan baik dalam jarak

kurang lebih 5 meter dari sensor. Karena dia bertipe slight motion

detection dan dapat mendeteksi gerakan mulai dari kurang lebih 20 cm

(7,847).

d. Dapat bekerja pada suhu -200C hingga 500C (anonim,2007)

2.6 Bahasa C

Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin

Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson

yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970.

Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie

sekitar tahun 1972-an di Bell Telephone Laboratories Inc. ( sekarang adalah

AT&T Bell Laboratories).

Gambar 2.22 Sejarah Bahasa C

Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk

komputer mikro. Untuk membuat versi-versi tersebut standar, ANSI (American

National Standards Institute) kemudian menetapkan standar ANSI untuk bahasa

C. Standar ANSI ini didasarkan dari standar UNIX yang diperluas (Suyanto,

2009).

Standar ANSI menetapkan sebanyak 32 buah kata-kata kunci (keyword)

standar. Ke 32 kata kunci ini adalah :

Pemrograman Bahasa C untuk AVR Bahasa C luas digunakan untuk

pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini

sudah merupakan high level language, dimana memudahkan programmer

menuangkan algoritmanya. Untuk mengetahui dasar bahasa C dapat dipelajari

sebagai berikut (prince Arthas, www.google/ Programming Mikrokontroler AVR

dengan C/).

1. Struktur penulisan program #include < [library1.h] > // Opsional #include < [library2.h] > // Opsional #define [nama1] [nilai] ; // Opsional #define [nama2] [nilai] ; // Opsional [global variables] // Opsional [functions] // Opsional

void main(void) // Program Utama

{ [Deklarasi local variable/constant] [Isi Program Utama] }

2. Tipe data

char : 1 byte ( -128 s/d 127 )

unsigned char : 1 byte ( 0 s/d 255 )

int : 2 byte ( -32768 s/d 32767 )

unsigned int : 2 byte ( 0 s/d 65535 )

long : 4 byte ( -2147483648 s/d 2147483647 )

unsigned long : 4 byte ( 0 s/d 4294967295 )

float : bilangan decimal

3. Deklarasi variabel & konstanta

Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.

Penulisan : [tipe data] [nama] = [nilai] ;

Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah.

Penulisan : const [nama] = [nilai] ;

Tambahan: Global variabel/konstanta yang dapat diakses di seluruh bagian

program. Lokal variabel/konstanta yang hanya dapat diakses oleh fungsi

tempat dideklarasikannya.

4. Statement

Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [

;] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ]

untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ].

Statement yang tidak dieksekusi disebut juga comments / komentar. Contoh:

suhu=adc/255*100; //contoh rumus perhitungan suhu

5. Function Function

adalah bagian program yang dapat dipanggil oleh program utama. Penulisan :

[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) {

[statement] ; }

6. Conditional statement dan looping if else digunakan untuk penyeleksian kondisi

if ( [persyaratan] ) { [statement1]; [statement2]; } else { [statement3];

[statement4]; }

for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2];

}

while : digunakan untuk looping jika dan salama memenuhi syarat tertentu while ( [persyaratan] ) { [statement1]; [statement2]; }

do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun minimal 1 kali.

do { [statement1]; [statement2]; } while ( [persyaratan] )

switch case : digunakan untuk seleksi dengan banyak kondisi

switch ( [nama variabel] ) { case [nilai1]: [statement]; break; case [nilai2]:

[statement]; break; }

7. Operasi logika dan biner Logika AND :&&

NOT : !

OR : ||

Biner AND : &

OR : |

XOR : ^

Shift right: >>

Shift left : <<

Komplemen : ~

8. Operasi relasional (perbandingan) Sama dengan : ==

Tidak sama dengan : !=

Lebih besar sama dengan : >=

Lebih kecil : <

Lebih kecil sama dengan : <=

9. Operasi aritmatika

+ , - , * , / : tambah,kurang,kali,bagi

+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi

dengan nilai di sebelah kanan operator

% : sisa bagi

++ , -- : tambah satu (increment) , kurang satu (decrement)

Contoh :

a = 5 * 6 + 2 / 2 -1 ;

maka nilai a adalah 30 a *= 5 ;

jika nilai awal a adalah 30, maka nilai a = 30x5 = 150. a += 3 ;

jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ;

jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a-- ;

jika nilai awal a adalah 5 maka nilai a = a-1 = 4.

2.7 CodeVision AVR

Codevision AVR merupakan software untuk membuat code program

microcontroller AVR. Ada banyak program untuk menuliskan bahasa C ini,

diantaranya CodevisionAVR. CodeVisionAVR pada dasarnya merupakan

Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini:

Compiler C, IDE dan Program generator.

Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan

pengembangnya, Compiler C yang digunakan hampir mengimplementasikan

semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur

program, jenis tipe data, jenis operator, dan library fungsi standar-berikut

penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi

komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang

disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan

(embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-

fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya),

CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat

bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang

umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting

diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC

RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan

lain sebagainya. Untuk memudahkan pengembangan program aplikasi,

CodeVisionAVR juga dilengkapi IDE yang sangat user friendly (lihat Gambar

2.23). Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat

lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat

lunak downloader (in system programmer) yang dapat digunakan untuk

mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller

Gambar 2.23 IDE Perangkat Lunak CodeVision AVR

Selain itu, CodeVisionAVR juga menyediakan sebuah tool yang dinamakan

dengan Code Generator atau CodeWizardAVR (lihat Gambar 2.23). Secara

praktis, tool ini sangat bermanfaat membentuk sebuah kerangka program

(template), dan juga memberi kemudahan bagi programmer dalam peng-

inisialisasian register-register yang terdapat pada microcontroller AVR yang

sedang diprogram. Dinamakan Code Generator, karena perangkat lunak

CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah

fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Gambar 2.24

berikut memperlihatkan beberapa penggal baris kode program yang dibangkitkan

secara otomatis oleh CodeWizardAVR. Secara teknis, penggunaan tool ini pada

dasarnya hampir sama dengan application wizard pada bahasa-bahasa

pemrograman Visual untuk komputer (seperti Visual C, Borland Delphi, dan

Gambar 2.24 Code Generator Yang Dapat digunakan Untuk Menginisialisasi Register-register Pada Microcontroller AVR.

Disamping versi yang komersil, Perusahaan Pavel Haiduc juga mengeluarkan

CodeVisionAVR versi Demo yang dapat didownload dari internet secara gratis.

Dalam versi ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain

itu tidak semua fungsi library yang tersedia dapat dipanggil secara bebas.

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini menjelaskan mengenai perancangan sistem kamera (Webcam)

pengikut gerakan baik perancangan hardware maupun software.

3.1 Diagram Blok listrik Pwr supply ATMega 16 Driver Motor Display Webcam Sensor Kanan Sensor Kiri PC

Gambar 3.1 Diagram Blok Sistem Kamera (Webcam) Pengikut Gerakan

Berikut adalah perencanaan dari penelitian prototype dari kamera pengikut

gerakan berbasis mikrokontroller (Gambar 3.1), kamera (webcam) di gerakkan

secara otomatis oleh mekanik penggerak yaitu motor stepper melalui

mikrokontroller ATMega 16 yang mendapat inputan dari sensor (PIR) yang

merespon apabila ada objek atau gerakan. Kamera hanya bergerak ke kanan dan

ke kiri berdasarkan gerakan yang tertangkap oleh sensor.

Secara keseluruhan kerja webcam sangat ditentukan oleh perangkat keras

yang diterapkan. Agar webcam dapat berjalan dengan baik dan sesuai dengan

yang diinginkan maka sangat diperlukan piranti keras dan piranti lunak sebagai

pendukungnya, antara lain webcam itu sendiri, sensor, penggerak motor serta

mikrokontroller ATMega 16. PC (Personal Computer) atau laptop disini

berrperan hanya untuk menampilkan visual dari kamera (webcam) saja. Berikut

adalah perencanaan jalannya kamera pengikut gerakan berbasis mikrokontroller

(Gambar 3.2). USB MIKROKONTROLLER ATMega 16 DRIVER MOTOR STEPPER SENSOR PIR MOTOR STEPPER

Dokumen terkait