Definisi Mikrokontroller
Mikrokontroler adalah sebuah chip berupa IC (integrated circuit) yang dapat menerima sinyal input, memprosesnya, dan memberikan sinyal output sesuai dengan program yang dimuat ke dalamnya. Ini dirancang untuk melakukan tugas atau operasi tertentu. Pada dasarnya, sebuah IC mikrokontroler terdiri dari satu atau lebih inti prosesor (CPU), memori (RAM dan ROM), dan perangkat input dan output yang dapat diprogram. Dalam penerapannya, Micro Controller, disebut Microcontroller dalam bahasa Inggris, digunakan pada produk atau peralatan yang dikendalikan secara otomatis seperti sistem kontrol mesin mobil, peralatan medis, remote control, mesin, peralatan listrik, mainan, dan peralatan yang menggunakan sistem tertanam lainnya.
Mikrokontroler adalah suatu perangkat keras komputer mini (mikro) yang dikemas dalam satu chip tunggal IC (Integrated Circuit) dan memiliki program operasi tertentu.
Perbedaan Mikroprocessor dan Mikrokontroller
Mikroprocessor
Mikroprosesor hanya memiliki satu CPU dan beberapa IC dalam chip IC-nya. Berbeda dengan mikrokontroler, chip IC mikroprosesor tidak mengandung ROM, RAM, I/O dan periferal, sehingga mikroprosesor membutuhkan komponen eksternal tambahan dan interkoneksi antar komponen untuk bekerja. Umumnya mikroprosesor digunakan untuk keperluan umum yang memerlukan perhitungan yang rumit.
Mikrokontroller
Mikrokontroler dirancang untuk melakukan tugas-tugas tertentu. Jika dibandingkan, mikrokontroler dapat dilihat sebagai mikrokomputer dalam sebuah chip IC. Umumnya, mikrokontroler digunakan untuk proyek yang memerlukan kontrol pengguna langsung. Karena memiliki komponen penting seperti RAM, ROM, I/O dan perangkat periferal komputer secara bersamaan dalam satu IC, perangkat periferal dan rangkaian tambahan tidak diperlukan lagi untuk membuat mikrokontroler bekerja. Inilah alasan mengapa mikrokontroler banyak digunakan dalam aplikasi embedded system.
Contoh Contoh Mikrokontroller
- Mikrokontroller AVR.
- Mikrokontroller MCS 51.
- Mikrokontroller PIC.
- Mikrokontroller ARM.
- Mikrokontroller Arduino
Software Yang Digunakan Mikrokontroller
- AVR-Dude.
- Ponyprog.
- Khazama.
- Extreme Burner.
- Sinaprog.
- ATmel Studio.
Implementasi Mikrokontroller
- Sistem pengatur ketepatan cetak dan potong pada mesin pengganda media kertas seperti koran dan majalah. Tanpa koreksi dari sistem mikroprosesor, selain hasil yang kurang rapi, alat pemotong atau pencetak harus sering disetting ulang dan ini sangat tidak realistis. Kita dapat lihat, pada setiap halaman koran atau majalah ada terdapat mark atau tanda, baik tanda untuk warna maupun tanda untuk alat potong.
- Kalkulator, Fungsi ALU dalam microcontroler adalah membentuk operasi-operasi hitungan dan nalar terhadap operand-operand. Operand-operand tersebut disimpan sementara dalam register-register. Setelah operasi, ALU juga menempatkan hasilnya dalam register. Pada beberapa mikroprosesor hasil ditempatkan pada suatu register khusus yang disebut akumulator (Accumulator). Jenis Operasi ditentukan oleh CU yang me decode (memecah sandi) suatu instruksi yang dipungut dan selanjutnya membangkitkan sinyal-sinyal kendali yang sesuai kepada ALU.
- Sistem keamanan ruangan menggunakan sensor passive infra red (PIR) KC7783R dengan Mikrokontroler AT89S51. Alarm akan aktif setiap waktu jika da gerakan manusia. Sistem ini bekerja setelah PIR sensor KC7783R mendeteksi gerakan manusia, maka PIR sensor KC7783R akan mengirim sinyal ke mikrokontroler, kemudian mikrokontroler menyalakan alarm yang diwakili oleh buzzer. Sistem ini telah terealisasi dan dapat dijadikan sistem keamanan dengan membunyikan alarm secara otomatis. Apabila ada orang yang mendekat pada saat yang tidak diinginkan, maka alarm akan berbunyi.
- Pengendali Penerangan Ruangan Berbasis Mikrokontroler ATMEGA8535Sebagai pengendali utama pada sistem menggunakan miktokontroller ATmega8535 dengan input dari sensor cahaya (LDR). Output dari pendendali selanjutnya ditampilkan LCD M1632 sebagai penampil dan sebagai input rangkaian pengatur tegangan. Sistem ini bekerja di dalam ruangan (in door) menggunakan maket rumah dengan tiga ruangan sebagai model. Dalam pengujian perangkat keras dan lunak, diketahui bahwa system pengendalian penerangan ruangan ini dapat menghemat energi. Dari pengujian sensor cahaya diperoleh hubungan antara luminansi dan tegangan yang mendekati linier, sehingga pengendalian dengan mikrokontroler ATmega8535 dapat bekerja dengan baik.
Fitur Mikrokontroler
Sebuah mikrokontroler akan memiliki prosesor sebagai otaknya. Prosesor mikrokontroler memiliki beberapa ukuran berbeda dalam satuat bit. Ukuran bit prosesor mikrokontroler berkisar dari 4-bit, 8-bit, atau 16-bit, ini merupakan ukuran yang sederhana. Prosesor mikrokontroler 32-bit atau 64-bit disebut dengan ukuran yang kompleks. Dalam hal memori, mikrokontroler dapat memiliki Random Access Memory (RAM), memori flash, EPROM atau EEPROM. Secara umum, mikrokontroler dirancang agar mudah digunakan tanpa komponen komputasi tambahan karena dirancang dengan memori onboard yang memadai serta menawarkan pin untuk operasi I/O, sehingga mereka dapat langsung berinteraksi dengan sensor dan komponen lainnya.
Arsitektur mikrokontroler dapat didasarkan pada arsitektur Harvard atau arsitektur von Neumann. Kedua arsitektur tersebut memiliki teknik tertentu pada metode pertukaran data antara prosesor dan memori. Pada arsitektur Harvard, bus dan instruksi data terpisah, memungkinkan untuk transfer simultan. Pada arsitektur Von Neumann, satu bus digunakan untuk data dan instruksi.
Prosesor mikrokontroler dapat didasarkan pada komputasi Complex Instruction Set Computing (CISC) atau Reduced Instruction Set Computing (RISC). CISC umumnya memiliki sekitar 80 instruksi sementara RISC memiliki sekitar 30. CISC memiliki lebih banyak mode pengalamatan yaitu 12-24 lebih banyak dibandingkan dengan RISC yang hanya 3-5. CISC dapat lebih mudah diimplementasikan dan memiliki penggunaan memori yang lebih efisien, tapi akan mengalami penurunan kinerja karena semakin banyak jumlah siklus clock yang diperlukan untuk menjalankan instruksi. RISC yang lebih menekankan pada perangkat lunak, seringkali memberikan kinerja yang lebih baik daripada prosesor CISC, yang lebih menekankan pada perangkat keras, karena set instruksi yang disederhanakan, tetapi karena penekanannya pada perangkat lunak, perangkat lunak dapat menjadi lebih kompleks. Pilihan ISC mana yang digunakan bervariasi tergantung pada aplikasi yang akan diterapkan.
Ketika pertama kali tersedia, mikrokontroler hanya menggunakan bahasa khusus yaitu assembly. Saat ini sudah banyak bahasa pemrograman yang dapat diterapkan pada mikrokontroler diantaranya adalah bahasa pemrograman C dan Python. Contoh fisik dari mikrokontroler yang ada adalah Raspberry Pi dan Arduino. Mikrokontroler saat ini digunakan sebagai komponen utama pada Internet of Things (IoT) Environments.
Dalam dunia komputer dan elektronika terdapat sebuah chip yang biasa disebut mikrokontroler. Mikrokontroler berbeda dengan mikroprosessor atau CPU. Pada umumnya mikrokontroler merupakan suatu chip yang berisi semua komponen dan fungsi CPU. Bisa disebut juga mikrokontroler adalah mini komputer, karena semua fitur dan komponennya hampir sama fungsinya dengan komputer.
Mikrokontroler bisa ditemukan di kendaraan, robot, mesin kantor, peralatan medis, vending machines, dan perangkat lainnya.
salah satu contoh mikrokontroler yaitu Arduino.
Arduino adalah platform elektronik open source berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Papan arduino dapat membaca inputan. Untuk menggunakan arduino memakai bahasa pemrograman arduino dan ada kode editor khusus untuk arduino yakni arduino IDE.
Arduino sebagai Mikrokontroler
Jenis-jenis Arduino
- Arduino UNO
Arduino Uno termasuk yang paling banyak digunakan, terutama untuk pemula sangat disarankan untuk menggunakan Arduino ini. Arduino versi terbaru menggunakan ATMEGA328 sebagai mikrokontrolernya. Untuk pemrogramannya Arduino Uno menggunakan USB type A to B.
- Arduino Due
Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Untuk pemrogramannya menggunakan micro USB.
- Arduino Mega
Arduino Mega hampir sama dengan Arduino Uno hanya saja Arduino Mega menggunakan chip yang lebih tinggi yakni ATMEGA2560.
- Arduino Leonardo
Arduino Leonardo juga sama dengan Arduino Uno hanya berbeda pada pemrogramannya menggunakan micro USB.
- Arduino Fio
Arduino Fio memiliki bentuk socket XBee sehingga membuat Arduino Fio dapat digunakan untuk keperluan projek yang berhubungan dengan wireless.
- Arduino Lilypad
Arduino Lilypad memiliki bentuk yang melingkar, sehingga membuat Arduino jenis ini dapat digunakan untuk membuat projek unik.
- Arduino Nano
Arduino Nano memiliki ukuran yang kecil, sangat sederhana dan menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemrograman lewat micro USB.
- Arduino Mini
Arduino Mini hanya memiliki ukuran 30 mm x 18 mm dan memiliki fasilitas yang sama dengan Arduino Nano. Hanya saja tidak dilengkapi dengan micro USB untuk pemrogramannya.
- Arduino Micro
Arduino Micro berbentuk lebih panjang dari Arduino Nano dan Arduino Mini.
- Arduino Ethernet
Arduino Ethernet sama seperti namanya arduino ini merupakan arduino yang sudah dilengkapi dengan fasilitas ethernet, sehingga dapat berhubungan melalui jaringan LAN pada komputer.
- Arduino Esplora
Arduino Esplora memiliki bentuk khas dengan adanya joystick.
- Arduino Robot
Seperti namanya Arduino Robot ini merupakan paket komplit dari arduino yang sudah berbentuk robot.
Kelebihan Arduino sebagai Mikrokontroler
- Harga yang Terjangkau bagi pemula
Harga Arduino ada di kisaran 125 – 400 ribu rupiah saja. Dengan harga yang terjangkau ini, kita dapat membuat sebuah sistem IoT murah dengan bermacam fungsi.
- Mudah Dipelajari
Arduino menggunakan bahasa pemrograman C yang cenderung sangat sederhana dan dilengkapi dengan library. Sehingga bagi pemula bisa lebih mudah mempelajari.
- Menggunakan Port USB
Arduino tidak lagi membutuhkan port khusus untuk melakukan pemrogramannya. Hal ini karena arduino sudah dilengkapi dengan Port USB.
- Memiliki Banyak Library Gratis
Pada Arduino IDE sudah disedikan library yang bisa diunduh secara gratis sehingga kita hanya perlu mengimportnya dan menambahkan kode khusus sesuai kebutuhan projek yang diinginkan.
- Bersifat Open Source
Arduino bersifat open source yang artinya kita dapat membuat dan merakit projek buatan kita sendiri. Pada situs resminya arduino.cc kita sudah bisa membaca dokumntasi lengkapnya dan mulai melakukan projek.
- Software Arduino IDE Dapat DIjalankan Pada Berbagai Sistem Operasi
Arduino IDE dapat dijalankan pada berbagai jenis operasi sistem pada komputer seperti Windows, Macintosh dan Linux.
- Dilengkapi Tombol dan Pin Reset
Ardino juga dilengkapi dengan tombol reset yang memungkinkan kita untuk membangun ulang program kita kembali.
Apa saja aplikasi dari Arduino?
- Dalam IoT Sistem
Arduino sudah banyak diimplementasikan dalam kehidupan sehari-hari. Arduino dapat diterapkan pada projek sederhana dan projek yang rumit sekalipun. Sehingga bagi pemula sudah bisa menggunakannya untuk kebutuhan projeknya.
Berikut beberapa contoh penerapan Arduino dalam sistem IoT :
- IoT Arduino Kontrol Relay WiFi Android
- IoT Arduino Kontrol Servo via Internet
- IoT Arduino Monitoring Suhu dan Kelembaban via Internet
- Kendali dan Monitoring Posisi Kendaraan via Website
- Kontrol Lampu via Android
- Kontrol Kecerahan LED via Android
- Kontrol Robot Arm via Android
- Kontrol Running Text via Android
- Kontrol Volume Tangki via Website
- Monitoring Kebakaran Berbasis Website dan Android, etc.
- Dalam Sistem Non IoT
Adapun penerapan Arduino yang Non IoT artinya implementasi arduino yang tidak menggunakan Internet untuk komunikasi antar device . Adapaun contohnya antara lain sebagai berikut :
- Alarm Kebakaran dengan Sensor Api dan Asap
- Alarm Kebocoran Gas dengan Sensor MQ2
- Kontrol Lampu dengan Tepuk Tangan
- Alarm Pintu Rumah dengan Sensor Magnet
- Alarm Pendeteksi Ketinggian Air
- Dll.