BAB II LANDASAN TEORI Dalam menunjang pengerjaan tugas akhir ini, tentu pemahaman terhadap teori akan sangat membantu dalam menemukan solusi terhadap permasalahan yang dihadapi. Beberapa pokok bahasan yang akan di jabarkan untuk pembuatan Roll Banner adalah sebagai berikut : 2.1. Banner Banner, biasanya digunakan sebagai pemberitahuan, atau sebagai informasi dan periklanan. Dengan perkembangan jaman, teknologipun ikut serta di dalamnya. Berbagai macam banner dilihat dari bentuk dan fungsinya, di antaranya, xbaner dengan tampilan satu halaman serta tiga kaki untuk berdiri dan dapat dilihat pada Gambar 2.1, spin banner light box dengan dua halaman depan belakang bergerak berputar searah jarum jam dan dapat dilihat pada Gambar 2.2, roll banner two page slide dengan dua halaman menampilkan satu halaman berputar vertikal bergantian dan dapat dilihat pada Gambar 2.3. Gambar 2.1. X Baneer (Sumber : http://digicolours.indonetwork.co.id/826124/x-banner.htm ) 6 7 Gambar 2.2. Spin Banner light box ( Sumber :http://www.aliexpress.com/product-fm/410755791-public-advertising spin-light-box-Acrylic-rotating-light-box-wholesalers.html ) Gambar 2.3. Roll banner two page slide (Sumber:http://www.motekarbandung.com/index.php/dig-printing/roll banner.html ) 8 2.2. IC sn754410ne sn754410ne dapat dilihat pada Gambar 2.4. merupakan driver motor DC. IC ini merupakan Dual H-Bridge driver yang didisain untuk menghasilkan putaran 1 arah maupun 2 arah dengan arus continue, yang digunakan untuk mengontrol motor DC. Salah satu keuntungan dari penggunaan sn754410ne adalah kemampuan beroperasi sampai 36 Volt, total arus keluaran yang mencapai 1A. IC ini dirancang untuk mendorong beban induktif seperti relay, solenoid, dc dan bipolar stepping motor. Driver motor merupakan komponen yang berfungsi sebagai interface antara mikrokontroler dengan motor DC. Pada dasarnya gerakan motor DC diatur dan dikontrol oleh mikrokontroler, akan tetapi output dari mikrokontroler tidak bisa digunakan secara langsung untuk menggerakkan motor DC karena tegangan dan arus keluaran dari mikrokontroler terlalu kecil. Maka dari itu, digunakan driver motor sebagai interface tambahan antara keduanya. Driver motor memiliki kemampuan untuk menerjemahkan sinyal keluaran dari mikrokontroler yang berupa tegangan yang mempunyai logika “0” dan ”1” ke tegangan referensi yang diperlukan oleh motor DC agar dapat bekerja dengan baik. Selain itu driver motor juga memiliki kemampuan untuk mengubah polaritas tegangan sesuai dengan logika yang dikeluarkan oleh sinyal keluaran komputer sehingga motor DC dapat berputar bolak-balik. Selain itu, dengan menggunakan driver ini, memungkinkan untuk mengonrol kecepatan motor DC menggunakan PWM dengan memanfaatkan pin enable pada driver motor. 9 Gambar 2.4. Koneksi pin IC sn754410ne IC sn754410ne dapat digunakan untuk mengatur kerja 2 buah motor DC secara dua arah. Contoh koneksinya dapat dilihat pada Gambar 2.5. Gambar 2.5. rangkaian motor driver sn754410ne 1 A Dual H-Bridge (Sumber: http://www.innovativeelectronics.com/innovative_electronics/ download_ files/manual/EMS_1A_DHBridge.pdf ) 2.3. Motor DC Motor DC adalah merupakan motor yang memiliki kecepatan putar tinggi. Dengan tambahan gearbox, maka motor ini dapat digunakan untuk menggerakkan 10 bagian-bagian sistem yang membutuhkan torsi besar seperti pada bagian untuk menjalankan sistem tersebut. Fisik motor DC dapat dilihat pada Gambar 2.6. Gambar 2.6. Motor DC ( Sumber : http://www.asia.ru/en/ProductInfo/893614.html ) Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen dan dapat dilihat pada Gambar 2.7. 11 Gambar 2.7. Motor D.C Sederhana (Sumber:http://hades.mech.northwestern.edu/index.php/Brushed_DC_Motor The ory) Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet. 2.4. Sensor infra red Infra merah adalah cahaya yang mempunyai radiasi dibawah batas penglihatan manusia, sehingga cahaya tersebut tidak tampak oleh mata, seperti frekwensi suara tidak terlihat tapi dapat didengarkan, dan bentuk fisik dapat dilihat pada Gambar 2.8. Sistem sensor infra merah pada dasarnya menggunakan infra merah sebagai media untuk komunikasi data antara receiver dan transmitter. Sistem akan bekerja jika sinar infra merah yang dipancarkan terhalang oleh suatu benda yang mengakibatkan sinar infra merah tersebut tidak dapat terdeteksi oleh penerima. Keuntungan atau manfaat dari sistem ini dalam penerapannya antara lain sebagai 12 pengendali jarak jauh, alarm keamanan, otomatisasi pada sistem.Pemancar pada sistem ini tediri atas sebuah LED infra merah yang dilengkapi dengan rangkaian yang mampu membangkitkan data untuk dikirimkan melalui sinar infra merah, sedangkan pada bagian penerima biasanya terdapat foto transistor, fotodioda, atau inframerah module yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar. Sensor infrared ini penulis gunakan pada sensor jarak (GP2D120). Gambar 2.8 infrared sensor (Sumber:http://theonlinetutorials.com/what-is-an-infrared-sensor.html) 2.5. Transmiter & reciver (photodiode dan LED) Komponen ini mempunyai sensitivitas yang lebih baik jika dibandingkan dengan dioda peka cahaya. Hal ini disebabkan karena electron yang ditimbulkan oleh foto cahaya pada junction ini diinjeksikan di bagian Base dan diperkuat di bagian kolektornya. Namun demikian,waktu respons dari transistor foto secara umum akan lebih lambat dari pada dioda peka cahaya, dapat dilihat pada Gambar 2.9. Jika photodioda tidak terkena cahaya, maka tidak ada arus yang mengalir ke rangkaian pembanding, jika photodioda terkena cahaya maka photodiode akan 13 bersifat sebagai tegangan, sehingga Vcc dan photodioda tersusun seri, akibatnya terdapat arus yang mengalir ke rangkaian pembanding. Diode peka cahanya Photodiode Gambar 2.9. Transmiter & reciver (Sumber:http://irwanpanarobost.blogspot.com/2011/06/membuat-robot-line follower-sederhana.html) 2.5.1 Photodiode Photodioda dapat dilihat pada Gambar 2.10, yaitu digunakan sebagai komponen pendeteksi ada tidaknya cahaya maupun dapat digunakan untuk membentuk sebuah alat ukur akurat yang dapat mendeteksi intensitas cahaya dibawah 1pW/cm2 sampai intensitas diatas 10mW/cm2. Photo dioda mempunyai resistansi yang rendah pada kondisi forward bias, kita dapat memanfaatkan photo dioda ini pada kondisi reverse bias dimana resistansi dari photo dioda akan turun seiring dengan intensitas cahaya yang masuk. Dioda peka cahaya adalah jenis dioda yang berfungsi mendektesi cahaya. Berbeda dengandioda biasa, komponen elektronika ini akan mengubah menjadi arus listrik. Cahaya yang dapatdideteksi oleh dioda peka cahaya ini mulai dari cahaya inframerah, cahaya tampak, ultra ungusampai dengan sinar-X. Aplikasi dioda peka cahaya mulai dari penghitung kendaraan di jalanumum secara otomatis, pengukur cahaya pada kamera serta beberapa peralatan dibidang medis. 14 Alat yang mirip dengan dioda peka adalah transistor foto (phototransistor). Transistorfoto ini pada dasarnya adalah jenis transistor bipolar yang menggunakan kontak (junction) base-collector untuk menerima cahaya. Komponen ini mempunyai sensitivitas yang lebih baik jika dibandingkan dengan diodapeka cahaya. Hal ini disebabkan karena electron yang ditimbulkan oleh foton cahaya padajunction ini diinjeksikan di bagian Base dan diperkuat di bagian kolektornya. Namun demikian,waktu respons dari transistor foto secara umum akan lebih lambat dari pada dioda peka cahaya. Jika photo dioda tidak terkena cahaya, maka tidak ada arus yang mengalir ke rangkaian pembanding, jika photo dioda terkena cahaya maka photodiode akan bersifat sebagai tegangan, sehingga Vcc dan photo dioda tersusun seri, akibatnya terdapat arus yang mengalir ke rangkaian pembanding. Gambar 2.10. photo diode (Sumber : http://www.scribd.com/doc/29846109/Photo-Dioda) 15 2.5.2 Light Emitting Diode (LED) Light Emitting Diode atau Light Emitting Device (LED) merupakan piranti yang vital dalam teknologi electroluminescent seperti untuk aplikasi teknologi display (tampilan), sensor, dan lain-lainnya. Teknologi electroluminescent didasarkan pada konsep pancaran cahaya yang dihasilkan oleh suatu piranti sebagai akibat dari adanya medan listrik yang diberikan kepadanya. Dalam perkembangannya piranti LED telah dibuat dengan desain menggunakan bahan organik yang disebut dengan Organic Light Emitting Device (OLED). Pada dasarnya LED memiliki dua buah kaki Anoda dan Katoda yang dimana untuk mengaktifkan LED tersebut Anoda kita beri VCC dan Katoda kita hubungkan ke Ground. Struktur LED dapat dilihat pada Gambar 2.11. Gambar 2.11. Light-emitting diode (LED) (Sumber: http://shatomedia.com/2009/11/light-emitting-diodes-leds/) 2.6. Komparator Komparator dapat dilihat pada Gambar 2.12. adalah sebuat rangkaian yang dapat membandingkan besar tegangan masukan. Komparator biasanya 16 menggunakan Op-Amp sebagai piranti utama dalam rangkaian.Vref di hubungkan ke +V supply, kemudian R1 dan R2 digunakan sebagai pembagi tegangan, sehingga nilai tegangan yang di referensikan pada masukan + op-amp adalah sebesar :V = [R1/(R1+R2) ] Vsupply Op-amp tersebut akan membandingkan nilai tegangan pada kedua masukannya, apabila masukan (-) lebih besar dari masukan (+) maka, keluaran op-amp akan menjadi sama dengan – Vsupply, apabila tegangan masukan (-) lebih kecil dari masukan (+) maka keluaran op-amp akan menjadi sama dengan + Vsupply. Jadi dalam hal ini jika Vinput lebih besar dari V maka keluarannya akan menjadi – Vsupply, jika sebaliknya, Vinput lebih besar dari V maka keluarannya akan menjadi + Vsupply. Untuk op-amp yang sesuai untuk di pakai pada rangkaian op-amp untuk komparator biasanya menggunakan op-amp dengan tipe LM339 yang banyak di pasaran. Komparator merupakan rangkaian elektronik yang akan membandingkan suatu input dengan referensi tertentu untuk menghasilkan output berupa dua nilai (high dan low). Suatu komparator mempunyai dua masukan yang terdiri dari tegangan acuan (Vreference) dan tegangan masukan (Vinput) serta satu tegangan output (Voutput). Dalam operasinya opamp akan mempunyai sebuah keluaran konstan yang bernilai "low" saat Vin lebih besar dari Vrefferensi dan "high" saat Vin lebih kecil dari Vrefferensi atau sebaliknya. Nilai low dan high tersebut akan ditentukan oleh desain dari komparator itu sendiri. Keadaan output ini disebut sebagai karakteristik output komparator. 17 kerja dari komparator hanya membandingkan Vin dengan Vref-nya maka dengan mengatur Vref, kita sudah mengatur kepekaan sensor terhadap perubahan tingkat intensitas cahaya yang terjadi. Dimana semakin rendah Vref semakin sensitif komparator terhadap perubahan tegangan Vin yang diakibatkan oleh perubahan intensitas cahaya. Gambar 2.12. Rangkaian komparator (Sumber: http://ionozer.blogspot.com/2010/07/pembanding-komparator.html) 2.7. Mikrokontroler ATMega8535 Mikrokontroler AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah 18 memori, peripheral, dan fungsinya. Untuk mikrokontroler AVR yang berukuran lebih kecil, Anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog. Mikrokontroler AVR memiliki arsitektur RISC 8 Bit, sehingga semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam satu siklus instruksi clock. Dan ini sangat membedakan sekali dengan instruksi MCS-51 (Berarsitektur CISC) yang membutuhkan siklus 12 clock. RISC adalah Reduced Instruction Set Computing sedangkan CISC adalah Complex Instruction Set Computing. Berikut istilah-istilah dalam mikrokontroler AVR: a. Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler. b. RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running c. EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running. d. Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program. e. Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa. f. UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous. 19 g. PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa h. ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu. i. SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous. j. ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal. 2.7.1. Arsitektur ATMega8535 Arsitektur Mikrokontroler AVR ATMega8535 dapat diperhatikan pada Gambar 2.13. Gambar 2.13. Arsitektur ATMega8535 (Sumber: http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf ) 20 Berikut keterangan arsitektur ATMega8535 : a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D b. ADC 10 bit sebanyak 8 Channel c. Tiga buah timer atau counter dengan kemampuan pembanding d. 32 register e. Watchdog Timer dengan oscilator internal f. SRAM sebanyak 512 byte g. Memori Flash sebesar 8 kb h. Sumber Interrupt internal dan eksternal i. Port SPI (Serial Pheriperal Interface) j. EEPROM on board sebanyak 512 byte k. Komparator analog l. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter) untuk komunikasi serial. 2.7.2. Fitur ATMega8535 a. Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. b. Ukuran memori flash 8KB, SRAM sebesar 512 byte, EEPROM sebesar 512 byte. c. ADC internal dengan resolusi 10 bit sebanyak 8 channel. d. Port komunikasi serial USART dengan kecepatan maksimal 2.5 Mbps e. Mode Sleep untuk penghematan penggunaan daya listrik 21 2.7.3. Konfigurasi Pin ATMega8535 Pin-pin mikrokontroler ATMega8535 dapat dilihat pada Gambar 2.14. Gambar 2.14. Pin-pin ATMega8535 (Sumber : http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf ) Berikut keterangan pin ATMega8535: a. Port A (PA0 - PA7) Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor atau dapat diatur per bit. Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus diatur atau disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi ADC. 22 b. Port B (PB0 - PB7) Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor atau dapat diatur per bit. Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus diatur atau diatur terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam Tabel 2.1. Tabel 2.1. Keterangan Port B ATMega8535 Port Pin Fungsi Khusus PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock c. Port C (PC0 - PC7) Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor atau dapat diatur per bit. Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus diatur atau diatur terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, 23 dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer atau counter 2. d. Port D (PD0 - PD1) Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor atau dapat diatur per bit. Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus diatur atau diatur terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam Tabel 2.2. Port Pin PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 Tabel 2.2. Keterangan Port D ATMega8535 Fungsi Khusus RDX (UART input line) TDX (UART output line) INT0 (external interrupt 0 input) INT1 (external interrupt 1 input) OC1B (timer/counter1 output compareB match output) OC1A (timer/counter1 output compareA match output) ICP (timer/counter1 input capture pin) OC2 (timer/counter2 output compare match output) e. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan direset. 24 f. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit. g. XTAL2 XTAL2 adalah output dari inverting oscillator amplifier. h. AVCC Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. i. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. j. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah. 2.7.4. Peta Memori ATMega8535 ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal. Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus 25 digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Memory data AVR ATMega8535L terlihat pada Gambar 2.15. Gambar 2.15. Memory data AVR ATMega8535 (Sumber : http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf ) Memori program yang terletak pada Flash Perom tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit. AVR ATMega8535 memiliki 4KByte x 16 Bit Flash Perom dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi Flash. Memory data program AVR ATMega8535 terlihat pada Gambar 2.16. 26 Gambar 2.16. Memory data program ATMega8535 ( Sumber : http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf ) Selain itu AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. 2.7.5. Status Register ATMega8535 Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler. Status register ATMega8535 terlihat pada Gambar 2.17. Gambar 2.17. Status Register ATMega8535 ( Sumber : http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf ) Keterangan Status Register ATMega8535: a. Bit7 I (Global Interrupt Enable), Bit harus di Set untuk mengenable semua jenis interupsi. 27 b. Bit6 T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD. c. Bit5 H (Half Cary Flag) d. Bit4 S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif) dan flag V (komplemen dua overflow). e. Bit3 V (Two's Component Overflow Flag) Bit ini berfungsi untuk mendukung operasi matematis. f. Bit2 N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi matematis menghasilkan bilangan negatif. g. Bit1 Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi matematis menghasilkan bilangan 0. h. Bit0 C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi menghasilkan carry. (Sumber : http://www.ittelkom.ac.id/library/Mikrokontroler-AVR-ATMega8535) 2.7.6. Minimum System ATMega8535 Sistem minimum (minimum system) mikrokontroler adalah rangkaian elektronik minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR, seri 8535 adalah salah satu seri yang sangat banyak digunakan. 28 Untuk membuat rangkaian sistem minimum Atmel AVR 8535 diperlukan beberapa komponen yaitu: a. IC mikrokontroler ATMega8535L. b. 1 XTAL 4 MHz atau 8 MHz (XTAL1). c. kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4). d. 1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10 Kohm (R3). e. 1 tombol reset pushbutton (PB1). Selain itu tentunya diperlukan power supply yang bisa memberikan tegangan 5V DC. Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC) di port A. Rangkaian dapat diperhatikan pada Gambar 2.18. Gambar 2.18. Rangkaian Minimum System ATMega8535 (Sumber: http://student.eepis-its.edu/~ulopens/Tutorial/Mikrokontroller) 29 2.8. CodeVision AVR CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang di desain untuk microcontroller buatan Atmel seri AVR.CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, XP dan vista. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded. File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program kedalam chip microcontroller setelah sukses melakukan kompilasi secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATCPU/Mega2000 programmers/development boards. CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut: a. Set-up akses memori eksternal b. Identifikasi sumber reset untuk chip 30 c. Inisialisasi port input/output d. Inisialisasi interupsi eksternal e. Inisialisasi Timer/Counter f. Inisialisasi Watchdog-Timer g. Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi h. Inisialisasi Pembanding Analog i. Inisialisasi ADC j. Inisialisasi Antarmuka SPI k. Inisialisasi Antarmuka Two-Wire l. Inisialisasi Antarmuka CAN m. Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 n. dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307 o. Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20 p. Inisialisasi modul LCD Tampilan CodeVisionAVR dapat dilihat pada Gambar 2.19. Gambar 2.19. Tampilan CodeVisionAVR (Sumber : http://deatronik.com/berkenalan-dg-codevision-avr) 31 2.9. Definisi PWM Pwm adalah singkatan dari Pulse Width Modulation dapat dilihat pada Gambar 2.20, merupakan suatu metode yang digunakan untuk mengontrol daya yang berkaitan dengan power supply, Contohnya power supply pada komputer. Selain fungsi pwm yang digunakan untuk mengontrol daya power supply, pwm juga dapat difungsikan sebagai pengatur gerak perangkat elektronika, misalnya pada motor servo. Sesuai dengan namanya Pulse Width Modulation, maka dalam penerapannya sinyal tegangan-lah yang di rubah lebarnya. Dan sinyal pwm, frekuensi gelombangnya adalah konstan (tetap) namun duty cycle bervariasi antara 0% hingga 100%, menurut amplitudo sinyal aslinya. Karena hanya ada 2 kondisi amplitudo sinyal PWM (yaitu low dan high ) maka dapat juga dikatakan bahwa sinyal pwm adalah sinyal informasinya terletak pada lebar pulsa. Gambar 2.20. Tegangan PWM 32 2.9.1 Prinsip dasar PWM PWM (Pulse Width Modulation ) dicapai/diperoleh dengan bantuan sebuah gelombang kotak yang mana siklus kerja (duty cycle) gelombang dapat diubah-ubah untuk mendapatkan sebuah tegangan keluaran yang bervariasi yang merupakan nilai rata-rata dari gelombang tersebut. Lebih jelasnya bisa dilihat pada Gambar 2.21. Gambar 2.21. Gelombang kotak (pulsa) (Sumber : http://www.scribd.com/doc/58672500/Pengenalan-PWM ) Ton adalah waktu dimana tegangan keluaran berada pada posisi tinggi (baca: high atau1) dan,Toff adalah waktu dimana tegangan keluaran berada pada posisi rendah (baca: low atau 0 ).Anggap Ttotal adalah waktu satu siklus atau penjumlahan antara Ton dengan Toff, biasa dikenal dengan istilah "periode satu gelombang" Siklus kerja atau duty cycle sebuah gelombang didefinisikan sebagai, 33 Tegangan keluaran dapat bervariasi dengan duty cycle dan dapat dirumuskan sebagai berikut, Apabila Ton adalah 0, Vout juga akan 0, Apabila Ton adalah Ttotal maka Vout adalah Vin atau bisa dibilang nilai maksimum. (sumber : http://www.scribd.com/doc/58672500/Pengenalan-PWM ) 2.10. LCD LCD 16 x 2 digunakan sebagai tampilan dari mikrokontroler. LCD memiliki 16 pin dengan informasi, dapat dilihat pada Tabel 2.3. Tabel 2.3. Deskirpsi pin LCD Pin 1 2 3 4 Deskripsi VCC GND Tegangan kontras LCD Register select, 0 = Register Command, 1 = Register Data 5 6 7 8 9 10 11 12 13 14 15 16 1 = Read, 0 = Write Enable Clock LCD Data Bus 0 Data Bus 1 Data Bus 2 Data Bus 3 Data Bus 4 Data Bus 5 Data Bus 6 Data Bus 7 Tegangan positif backlight Tegangan negatif backlight Interface LCD merupakan sebuah parallel bus, di mana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke 34 LCD. Kode ASCII yang ditampilkan sepanjang 8 bit dikirim ke LCD secara 4 atau 8 bit pada satu waktu. LCD dapat ditunjukkan seperti pada Gambar 2.22. Gambar 2.22. Interface Modul LCD 2 x16 (Sumber: http://www.lcd-module.de/eng/pdf/doma/dip162-de.pdf ) 2.11. Tombol push button Salah satu jenis perangkat antar muka yang umum dijumpai pada sistem embedded (atau sistem microcontroller) adalah Keypad matrik 4x4 atau 3x4. Walaupun penggunaannya sangat intensive, tetapi kenyataannya sangat jarang perangkat lunak pengembang yang menyediakan fungsi standar untuk pengaksesan keypad tersebut (sejauh pengetahuan penulis). Walaupun nampaknya sepele, tetapi fungsi pengaksesan keypad ini justru menjadi faktor kunci kenyamanan pengguna sistem embedded yang kita rancang. Fungsi pengaksesan keypad disusun oleh penulis dengan bahasa C (compiler: CodeVisionAVR) untuk microcontroller AVR. Layout dan interkoneksi serta kode fungsi dapat di lihat di Gambar 2.23. Gambar 2.23. Contoh layout keypad 4x4 dan interkoneksi pada microcontroller (Sumber : http://iwan.blog.undip.ac.id/files/2009/06/keypad.pdf ) 35 2.12. Fuzzy Logic Kontroller logika fuzzy dikategorikan dalam kontrol cerdas (intelligent control). Unit logika fuzzy memiliki kemampuan menyelesaikan masalah perilaku sistem yang komplek, yang tidak dimiliki oleh kontroller konvensional. Berbeda dengan sistem kontrol biasa, dimana harga yang dihasilkan diolah dan didefinisikan secara pasti, atau dengan istilah lain hanya mengenal logika 0 dan 1 atau bekerja pada daerah ON dan OFF, sehingga didapatkan perubahan yang kasar. Pada sistem logika fuzzy, nilai yang berada antara 0 dan 1 dapat didefinisikan, sehingga kontroler dapat bekerja seperti sistem syaraf manusia yang bisa merasakan lingkungan eksternalnya , kemudahan-kemudahan yang tidak dimiliki oleh sistem kontrol konvensional. Logika fuzzy yang kami gunakan untuk pengaturan kecepatan agar kecepatan putar motor DC tetap stabil sesuai dengan set point pada saat menentukan kecepatan. dan metode fuzzy terdiri dari 3 metode yaitu, “kurang, agak, biasa dan, sangat”, atau bahkan pengaburannya bisa lebih dari kategori tersebut dengan menambah faktor linguistik yang terhimpun dalam pengaburan derajat keanggotaan. Jadi dengan menggunakan kontroler logika fuzzy akan diperoleh A. Metode Tsukamoto Setiap konsekuen pada aturan yang berbentuk IF-THEN harus direpresentasikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas berdasarkan α-predikat. Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot dan dapat dilihat pada Gambar 2.24. 36 Gambar 2.24. Inferensi dengan menggunakan Metode Tsukamoto B. Metode Mamdani Metode Mamdani sering juga dikenal dengan nama Metode MaxMin.Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan: 1. Pembentukan himpunan fuzzy 2. Aplikasi fungsi implikasi (aturan) 3. Komposisi aturan 4. Penegasan (defuzzy) C. Metode Sugeno Penalaran dengan metode SUGENO hampir sama dengan penalaran MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. 37 1. Model fuzzy sugeno Orde-Nol Secara umum bentuk model fuzzy SUGENO Orde-Nol adalah: IF (x1 is A1) • (x2 is A2) • (x3 is A3) • ...... • (xN is AN) THEN z=k dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (tegas) sebagai konsekuen. 2. Model fuzzy sugeno Orde-Satu Secara umum bentuk model fuzzy SUGENO Orde-Satu adalah: IF (x1 is A1) • ...... • (xN is AN) THEN z = p1*x1 + … + pN*xN + q dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen. Apabila komposisi aturan menggunakan metode SUGENO, maka deffuzifikasi dilakukan dengan cara mencari nilai rata-ratanya. (Sumber : www.wordpress.com/2008/12/bab-7-logika-fuzzy.pdf )