BAB II
LANDASAN TEORI
2.1 Sistem otomatis
Sistem otomatis dapat didefinisikan sebagai suatu teknologi yang dapat menggerakkan sebuah perangkat alat dengan sendirinya tanpa ada bantuan dari luar. Sistem ini berkaitan dengan aplikasi mekanik, elektronik dan sistem yang berbasis mikrokontroler (PLC atau komputer). Semuanya bergabung menjadi satu untuk memberikan fungsi terhadap sistem rancangan penggerak (mekanik) sehingga akan memiliki fungsi tertentu.
Dalam sistem otomatis mikrokontroler memiliki fungsi yang sangat penting yaitu sebagai pengendali dalam sistem otomatis tersebut. Mikrokontroler diprogram agar dapat mengendalikan aplikasi mekanik sedangkan aplikasi elektronik digunakan untuk mikrokontroler agar dapat bekerja.
2.1.1 Elemen dasar sistem otomatis
Terdapat tiga elemen dasar yang menjadi syarat mutlak bagi sistem otomatis, yaitu sumber tegangan (power), Instruksi program (program of instruction) dan kontrol sistem, yang kesemuanya untuk mendukung proses dari sistem otomatis tersebut.
a. Sumber tegangan atau Power
Sumber tegangan atau bisa dikatakan sumber energi dari sistem otomatis berfungsi untuk menggerakan semua komponen dari sistem otomatis. Sumber energi bisa menggunakan energi listrik, baterai, ataupun Accu, semuanya tergantung dari tipe sistem otomatis itu sendiri.
b. Baris – baris program
Proses kerja dari sistem otomatis mutlak memerlukan sistem kontrol baik menggunakan mekanis, elektronik ataupun komputer. Untuk program instruksi / perintah pada sistem kontrol mekanis maupun rangkaian elektronik tidak menggunakan bahasa pemrograman dalam arti sesungguhnya, karena sifatnya yang analog. Untuk sistem kontrol yang menggunakan mikrokontroler dan keluarganya (PLC maupun komputer) bahasa pemrograman merupakan hal yang wajib ada.
Bahasa pemrograman akan memberikan perintah pada mikrokontroler dengan perantara driver sebagai penguat tegangan. Perintah seperti “out”, “outport” ,”out32” sebenarnya hanya memberikan perintah untuk sekian millidetik berupa arus pada penggerak yang kemudian akan diperkuat tegangannya.
dirancang, Bahasa program ini merupakan antarmuka antara pengguna dengan sistem. Translator atau kompiler untuk bahasa pemrograman tertentu akan mengubah statemen-statemen dari pemrogram menjadi informasi yang dapat dimengerti oleh komputer.
Instruksi komputer merupakan perintah yang digunakan perangkat keras mikrokontroler agar bekerja sesuai dengan rancangan. Mikrokontroler menggunakan instruksi tersebut untuk mendefinisikan urutan operasi yang akan dieksekusi. Sistem operasi berfungsi untuk mengkoor-dinasi interaksi program, mengatur kerja dari perangkat lunak yang digunakan untuk memprogram dari perangkat keras yang bervariasi, serta operasi dari unit masukan/keluaran.
Mikrokontroler merupakan salah satu produk teknologi tinggi yang dapat melakukan hampir semua pekerjaan, tetapi mikrokontroler merupakan barang mati tanpa adanya bahasa pemrograman untuk menggambarkan apa yang kita kerjakan, sistem bilangan untuk mendukung komputasi, dan matematika untuk menggambarkan prosedur komputasi yang kita kerjakan.
c. Sistem kontrol (Mikrokontroler)
Sistem kontrol sederhana dapat ditemukan dari berbagai macam peralatan yang dijumpai, diantaranya:
Setiap toilet memiliki mekanisme kontrol untuk mengisi ulang tangki air
dengan pengisian sesuai dengan kapasitas dari tangki tersebut. Mekanisme sistem kontrol tersebut menggunakan peralatan mekanis yang disusun sedemikian rupa sehingga membentuk sistem otomatis.
AC atau air conditioner merupakan sistem otomatis yang menggunakan
sistem kontrol mikrokontroler atau yang sering disebut komputer sederhana. Robot assembly contoh sistem otomatis yang menggunakan kontrol sistem
komputer atau keluarganya. Sistem kontrol tersebut akan memberikan pengaturan pada gerakan-gerakan tertentu untuk menyusun suatu peralatan pada industri.
2.2 Arduino
Arduino merupakan perangkat keras modul yang di rangkai untuk dapat mengontrol sesuatu kegiatan. Arduino merupakan kumpulan komponen yang terdiri dari mikrokontroler sebagai komponen utama. Arduino dikatakan sebagai sebuah platform dari physical computing yang bersifat open source. Arduino tidak hanya sebuah alat pengembangan, tetapi kombinasi dari hardware, bahasa pemrograman Integrated Development Environment (IDE) yang canggih.
modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan Arduino.
Komponen utama di dalam papan Arduino adalah sebuah mikrokontroler 8 bit dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan ATmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan ATmega2560. Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah mikrokontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari mikrokontroler ATmega328 (dipakai pada Arduino Uno).
Gambar 2.1 Diagram Blok arduino board Blok-blok diatas dijelaskan sebagai berikut:
Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka
yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.
UART (antar muka serial)
2KB RAM (memory
kerja)
32KB Flash memory (program)
1KB EEPROM
2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan),
digunakan oleh variable-variabel di dalam program.
32KB flash memory bersifat non-volatile, digunakan untuk flash memory
juga menyimpan bootloader. Bootloader adalah program inisialisasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan.
1KB EEPROM bersifat non-volatile.
Piranti input/output, piranti untuk menerima data (input) digital atau analog,
dan mengeluarkan data (output) digital atau analog.
Software Arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan Arduino. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari:
Editor program, sebuah window yang memungkinkan pengguna menulis dan
mengedit program dalam bahasa Processing.
Compiler, sebuah modul yang mengubah kode program (bahasa program C)
menjadi kode biner. Bagaimanapun sebuah mikrokontroller tidak akan bisa memahami bahasa C. Yang bisa dipahami oleh mikrokontroller adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.
Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam
2.2.1 Aduino Uno
Arduino Uno adalah board berbasis mikrokontroler pada ATmega328 .Board ini memiliki 28 piranti yaitu 14 digital input / output, 6 input / output analog , 6 piranti power. Berikut merupakan table piranti Arduino:
Piranti Arduino Fungsi
0,1 Serial data transmiter (Rx, Tx)
3, 4, 5, 6, 9, 10, 11, Serial data PWM 2, 7, 8 12, 13 Serial data digital
A0 – A5 Analog (ADC)
Power 3,3V, 5V, 2 piranti GND, Vin, Reset
Khusus (Piranti memiliki fungsi khusus yang digunakan untuk modul tambahan) terdiri dari 6 piranti
IO Reff, AReff
Gambar 2.2.1 Tabel piranti Arduino
Gambar 2.2. Arduino Uno Board
mendukung mikrokontroler. Untuk menggunakannya arduino dihubung ke komputer dengan kabel USB atau sumber tegangan yang bisa didapat dari adaptor AC-DC atau baterai. Berikut merupakan table dari mikrokontroler yang ada pada arduino.
Mikrokontroller Atmega328 Input Voltage
(Rekomendasi)
7-12 V
Input Voltage (limits)
6-20 V
I/O 14 piranti (6 piranti untuk PWM)
Arus 50 mA
Flash Memory 32KB
Bootloader SRAM 2 KB
EEPROM 1 KB
Kecepatan 16 Mhz
Operasi Voltage 5V
Tabel 2.2.2 Spesifikasi Atmega328-P
Arduino uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Eksternal (non- USB) daya berasal dari AC-DC adaptor atau baterai. Adaptor ini dapat dihubungkan dengan cara menghubungkannya ke external daya konektor yang ada pada board arduino yaitu jack power dengan ukuran 2,1mm. Keluaran dari baterai atau adaptor dapat diperoleh dari piranti Gnd dan Vin dari konektor Power. Board dapat beroperasi pada daya 6 - 20 volt, Jika diberikan daya kurang dari 7V piranti 5V akan menyuplai kurang dari 5 volt dan board mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak board. Rentang yang dianjurkan adalah 7 - 12 volt. Berikut merupakan beberapa hal yang ada pada board arduino:
VIN
Tegangan input ke board Arduino ketika menggunakan sumber daya eksternal dapat ditambah dengan menggunakan piranti ini. Sambungkan piranti ini dengan sumber tegangan lain sehingga tegangan output arduino dapat meningkat.
5V
Merupakan output 5V dari power arduino yang dapat digunakan untuk komponen lain seperti sensor, motor dan dll. Output ini berasal dari vin USB atau power adaptor external arduino juga dari piranti vin.
3,3V
Merupakan output 3,3Volt yang digunakan untuk menghidupkan komponen dengan tegangan rendah seperti led, diver motor dll. pasokan yang dihasilkan oleh regulator on-board dan Menarik arus maksimum adalah 50 mA.
GND
Memory
ATmega328 ini memiliki 32 KB dengan 0,5 KB digunakan untuk loading file. Atmega ini juga memiliki 2 KB dari SRAM dan 1 KB dari EEPROM
Input & Output
Masing-masing dari 14 piranti digital pada Arduino Uno dapat digunakan sebagai input atau output, menggunakan fungsi portMode(), digitalWrite(), dan digitalRead(). Mereka beroperasi di 5 volt. Setiap piranti dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal dari 20-50 K.
Berikut beberapa penjelasan piranti beserta fungsi khususnya: Serial
0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) data TTL serial. piranti ini terhubung ke piranti yang sesuai dari chip ATmega8U2 USB-to-Serial TTL.
Eksternal Interupsi
2 dan 3. piranti ini dapat dikonfigurasi untuk memicu interupsi pada nilai yang rendah, pada programnya dideklarasikan dengan attachInterrupt ().
PWM
3, 5, 6, 9, 10, dan 11. Menyediakan 8-bit output PWM dengan analogWrite () fungsi.
SPI
LED
Ada built-in LED terhubung ke piranti digital 13. Ketika piranti bernilai TINGGI, LED menyala, ketika piranti bernilai RENDAH, itu off.
TWI (Two wire interface)
A4 atau SDA piranti dan A5 atau SCL piranti. Mendukung komunikasi TWI Aref
Referensi tegangan untuk input analog. Digunakan dengan analogReference (). Reset
Digunakan untuk merest program yang dijalankan arduino kembali keawal program.
Otomatis Software Reset
Tombol reset Uno Arduino dirancang untuk menjalankan program yang tersimpan didalam mikrokontroller dari awal. Tombol reset terhubung ke Atmega328 melalui kapasitor 100nf.
Arduino uno memiliki 6 input analog, diberi label A0 sampai A5, yang terdiri dari 6 piranti dan Secara default sistem memiliki tegangan 5 volt.
akan dikirim ke board Arduino. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke komputer. ATmega328 ini juga mendukung komunikasi I2C (TWI) dan SPI. Fungsi ini digunakan untuk melakukan komunikasi inteface pada sistem.
Uno Arduino dapat diprogram dengan perangkat lunak Arduino. Pilih Arduino Uno dari Tool lalu sesuaikan dengan mikrokontroler yang digunakan. Pada ATmega328 pada Uno Arduino memiliki bootloader yang memungkinkan untuk meng-upload program baru untuk itu tanpa menggunakan programmer hardware eksternal. Ini berkomunikasi menggunakan protokol dari bahas C. Sistem dapat menggunakan perangkat lunak FLIP Atmel (Windows) atau programmer DFU (Mac OS X dan Linux) untuk memuat firmware baru. Atau Anda dapat menggunakan header ISP dengan programmer eksternal.
Beberapa fungsi tombol pada software programming arduino:
Verify : tombol yabg berfungsi untuk melihat error pada code program yang telah dibuat sebelum diupload
Upload : Tombol yang berfungsi untuk mengkomplike code program dan mengisikan ke micro Arduino
New : Tombol untuk membuat tampilan baru dari Sketch untuk menulis code program
Open : Tombol yang digunakan untuk membuka file yang berisi program dasar Arduino
Save : Digunakan untuk save code program yang telah ditulis.
Serial monitor : Membuka serial monitor yang dapat digunakan untuk melihat hasil jalannya program yg dibuat.
Lingkungan open-source Arduino memudahkan untuk menulis kode dan meng-upload ke board Arduino. Ide ini berjalan pada Windows, Mac OS X, dan Linux. Berdasarkan Pengolahan, avr-gcc, dan perangkat lunak sumber terbuka lainnya.
2.3 Dfrduino Ethernet shield
secara simultan. Untuk memprogramnya digunakan library Ethernet agar dapat terhubung ke internet. Shield Ethernet ini terhubung ke sebuah papan Arduino dengan menempelkannya diatas arduino tersebut. Walaupun begitu piranti arduino tetap dapat digunakan.
Pada ethernet shield terdapat sebuah slot micro-SD, yang dapat digunakan untuk menyimpan file yang dapat diakses melalui jaringan. Onboard micro-SD card reader diakses dengan menggunakan SD library.
Gambar 2.5 Piranti out Ethernet Shield pada Arduino
Piranti digital 10 digunakan untuk memilih W5100 dan piranti digital 4 digunakan untuk memilih SD card. Piranti yang sudah disebutkan sebelumnya tidak dapat digunakan untuk input/output umum ketika kita menggunakan ethernet shield.
Karena W5100 dan SD card berbagi bus SPI, hanya salah satu yang dapat aktif pada satu waktu. Jika kita menggunakan kedua perangkat dalam program, hal ini akan diatasi oleh library yang sesuai.
Jika tidak menggunakan salah satu perangkat SD card atau SPI dalam program, perlu secara eksplisit men-deselect-nya. Untuk melakukan hal ini pada SD card, set piranti 4 sebagai output dan logika tinggi, sedangkan untuk W5100 yang digunakan adalah piranti 10.
DFRduino Ethernet shield adalah sebuah clone dari arduino Ethernet shield yang dibuat oleh DFRobot. Penampakan DFRduino Ethernet shield dapat dilihat pada Gambar.
Gambar 2.7 DFRduino Ethernet shield
Hal – hal mengenai Ethernet Shield:
Shield ini menyediakan ethernet jack RJ45 standar.
Tombol reset pada shield Ethernet dapat digunakan untuk mereset W5100
dan Arduino.
Shield Ethernet berisi sejumlah informasi LED:
PWR : mengindikasikan bahwa Shield Ethernet ON atau OFF
LINK : menunjukkan adanya hubungan jaringan dan berkedip ketika
Shield mentransmisikan atau menerima data
FULLD: menunjukkan bahwa koneksi jaringan full duplex 100M : mengindikasikan adanya Mb / s koneksi jaringan
2.4433 Mhz RF KYL 1020
reciver dan transmitter. Serial RF transceiver ini menggunakan data serial dan memiliki multichannel yang support TTL, RS232, RS458 dan untuk menggunakan tinggal pilih salah satunya, untuk gambar dapat dilihat dibawah ini.
Gambar 2.8 piranti out 433Mhz RF kit Fungsi dari tiap piranti :
Piranti 1 = GND/ Power Ground
Piranti 2 = VCC./ Power DC (3V – 5,5V)
Piranti 3 = RXD / TTL (Data Receive/ TTL Level) Piranti 4 = TXD / TTL (Data Transmission/ TTL Level) Piranti 5 = DGND (Sinyal Ground)
Piranti 6 = A(TXD) RS485 A or TXD of RS-232 Piranti 7 = B(RXD) RS485 B or RXD of RS-232 Piranti 8 = Sleep Kontrol
Piranti 9 = Test (Internel Testing)
2.5LCD (Liquid Crystal Display)
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.
LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan LCD memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.
Dalam modul LCD (Liquid Cristal Display) terdapat mikrokontroler yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). Mikrokontroler pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register. Memori yang digunakan microcontroler internal LCD adalah:
DDRAM (Display Data Random Access Memory) merupakan memori
CGRAM (Character Generator Random Access Memory) merupakan
memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.
CGROM (Character Generator Read Only Memory) merupakan memori
untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.
Register control yang terdapat dalam suatu LCD adalah:
Register perintah yaitu register yang berisi perintah-perintah dari
mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.
Register data yaitu register untuk menuliskan atau membaca data dari atau
Piranti, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah:
Piranti data adalah jalur untuk memberikan data karakter yang ingin
ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
Piranti RS (Register Select) berfungsi sebagai indikator atau yang
menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
Piranti R/W (Read Write) berfungsi sebagai instruksi pada modul jika low
tulis data, sedangkan high baca data.
Piranti E (Enable) digunakan untuk memegang data baik masuk atau
keluar.
Piranti VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana
piranti ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
2.6Sensor Inframerah
Metode langsung, dimana infrared langsung dibiaskan layaknya rangkaian
led biasa
Metode dengan pemberian pulsa, metode ini mengacu pada kurva
karateristik infrared tersebut.
Metode kedua masih rentan terhadap gangguan frekuensi dari luar, untuk dapat menggunakannya dibuat menggunakan teknik modulasi dimana ada dua frekuensi yang digunakan yaitu frekuensi untuk pembawa dan frekuensi data.
2.6.1 Adjustable Infrared
Merupakan sensor inframerah yang di dalam modulnya terdapat penerima dan pemancar inframerah. Sensor ini memiliki jarak jangkau adjustable (dapat disesuaikan) yaitu antara 3cm – 80cm dengan sistem kerja akan menghasilkan nilai tinggi atau 1 ketika tidak terkena hambatan dan akan bernilai rendah atau 0 ketika terkena hambatan pada aliran cahayanya.
Gambar 2.10 Adjustable Infrared
2.7Motor DC servo
Motor DC merupakan perangkat yang berfungsi merubah besaran listrik
menjadi besaran mekanik. Prinsip kerja motor didasarkan pada gaya elektromagnetik.
Motor DC bekerja bila mendapatkan tegangan searah yang cukup pada kedua
kutubnya. Tegangan ini akan menimbulkan induksi elektromagnetik yang
menyebabkan motor berputar. Secara umum, kecepatan putaran poros motor DC akan
meningkat seiring dengan meningkatnya tegangan yang diberikan. Motor DC tidak
dapat dikendalikan langsung oleh mikrokontroler, karena kebutuhan arus yang besar
sedangkan keluaran arus dari mikrokontroler sangat kecil. Driver motor merupakan
alternatif yang dapat digunakan untuk menggerakkan motor DC.
2.8 Driver motor DC
Driver motor adalah sirkuit elektronika yang memungkinkan tegangan dan arus mengalir ke arah beban atau motor DC secara benar artinya dapat mengatur arah putaran motor DC sesuai dengan keinginan. Di dalam IC driver motor berisi empat buah driver-H yang berfungsi sebagai pengatur arus listrik secara dua arah. Berikut jenis IC yang berfungsi sebagai driver motor.
IC L298D IC L293D
mengatur arah putar dan disediakan piranti untuk input yang berasal dari PWM untuk mengatur kecepatan motor DC.
2.8.1 IC L293D
Merupakan IC driver untuk motor DC yang paling bayak dipasaran dan digunakan. IC ini memiliki kemampuan untuk mengendalikan dua motor. Memiliki 16 kaki piranti yang 4 diantaranya adalah untuk GND dan VCC dari tiap motor DC yang dikendalikan, memiliki kemampuan 600mA arus keluaran, memiliki arus keluaran tertinggi 1,2A , input tegangan logika “0” sampai dengan 1,5V. Gambar dan spesifikasi maximum dari IC dapat dilihat dibawah ini.
Simbol Parameter Value Unit
VS Supply Voltage 36 V
VSS Logic Supply
Voltage
36 V
Vi Input Voltage 7 V
Ven Enable Voltage 7 V
Io Peak Output Current
(100 ms non
repetitive)
1.2 A
Ptot Total Power
Dissipation at Tpins
= 90 °C
4 W
Tstg, Tj Storage and Junction
Temperature
– 40 to 150 °C
Gambar 2.11 piranti IC L293D Fungsi dari tiap piranti:
1,2 EN, 3,4 EN: digunakan untuk mengaktifkan motor yang akan dikontrol 1A, 2A, 3A, 4A : digunakan untuk input sinyal kendali motor
Vcc1, Vcc2 : digunakan untuk member tegangan pada IC dan Motor GND, Head Sink : merupakan Ground dan dapat dihubungkan ke