Rabu, 09 Juli 2014

Ada Cinta Dibalik Kerumitan ...

Walau kita menggemari elektronika... kita tidak egois.. kita tidak kaku...
kita bukan tanpa rasa humor... atau tanpa keinginan bersosialita
Sebaliknya, kita dipenuhi rasa seni, cinta dan kasih sayang....



Selasa, 08 Juli 2014

Memprogram Arduino Menggunakan MATLAB Simulink

Pada artikel sebelumnya, kita telah membahas bagaimana menghubungkan MATLAB dengan Arduino. Pada kesempatan kali ini, kita akan membahsa bagaimana memprogram Arduino menggunakan MATLAB Simulink. Simulink adalah bahasa pemrograman blok. Kita merangkai logika pemrograman dalam bentuk blok-blok yang memiliki fungsi tertentu. Untuk pembahasan lebih lengkap, kita bisa membaca HELP yang telah disediakan pada MATLAB. Simulink sangat populer untuk mendesain suatu project tertentu, terutama pada pemahaman mengenai aliran data, dsb.
 
Pada pembahasan kali ini, kita akan menggunakan MATLAB 2014a. Pada MATLAB ini, telah disediakan Hardware Support Packages untuk beberapa board yang populer saat ini, misalnya Arduino, BeagleBoard, Gumstix Overo, LEGO, PandaBoard, Raspberry Pi, bahkan Samsung Galaxy. Nah, agar dapat menggunakannya, kita harus menginstal support packages menggunakan koneksi internet. Caranya cukup mudah. Mari kita simak pembahasan berikut...

Syarat utama yang harus kita miliki adalah sebuah papan Arduino beserta kabel USB untuk dikoneksikan ke komputer. Syarat lainnya adalah MATLAB kita harus terinstal Simulink. Selanjutnya, pastikan komputer kita terkoneksi internet. Bukalah program MATLAB, dan amati pada bagian kanan atas terdapat pilihan Add-Ons, dan klik kanan. Pilihlah Get Hardware Support Packages, dan tunggu instruksi selanjutnya.
 
 
 
 
Selanjutnya, terdapat opsi pada jendela Support Package Installer. Pilihlah Install From Internet, lalu Next. Selanjutnya, akan ada opsi untuk memilih paket apa yang akan kita install. Pilihlah Arduino Uno/Nano/Mega2560, kemudian ikuti saja langkah selanjutnya.  



Ketika sudah berhasil, ada baiknya kita restart MATLAB kita dengan mengetikkan exit pada Command Window, kemudian jalankan ulang lagi program MATLAB.
Langkah berikutnya setelah program MATLAB dibuka lagi adalah menjalankan program Simulink. Ketikkan sintaks simulink pada Command Window.
 
simulink
 
Selanjutnya akan muncul jendela Simulink Library Browser. Pastikan pada bagian bawah terdapat Simulink Support Package for Arduino Hardware. Ini menandakan bahwa paket untuk Arduino telah terinstal pada MATLAB. Selanjutnya, klik simbol New Model pada bagian kiri atas dan akan tampil jendela baru untuk membuat model kita. 
 
 
 
Pada pembahsan kali ini, kita akan membuat proyek yang sederhana dulu, yaitu menyalakan dan mematikan led internal yang dimiliki oleh Arduino (pada pin 13) secara bergantian dengan durasi tiap-tiap keadaan (menyala/padam) selama 1 detik. Nah, sekarang kembali ke Simulink Library Browser. Ekspansi Simulink Support Package for Arduino Hardware dan pilihlah Common. Selanjutnya, pilihlah Digital Output pada jendela sebelah kanan. 
 
 
 
Kita berpindah ke jendela model kita yang masih 'untitled'. Pada jendela ini, telah terdapat blok Digital Output. Klik kanan dua kali pada blok tersebut, dan gantilah pin 9 menjadi pin 13, seperti pada gambar di bawah ini.  



Selanjutnya, kembali ke Simulink Library Browser. Pilihlah Simulink --> Sources -->Pulse Generator, seperti gambar di bawah ini. Kirimkan ke project 'untitled' kita.
 
 
 
Blok Pulse Generator akan muncul di jendela 'untitled' kita. Klik dua kali dan ubahlah propertis-nya. Ubahlah Pulse Type menjadi Sample Based dan ubah juga Sample Time menjadi 0.1, seperti pada gambar di bawah ini.  



Selanjutnya, hubugkanlah blok Pulse Generator dengan Digital Out, dan simpanlah project kita, misalnya kita beri nama arduinoSim.slx. Selanjutnya, kita harus mengkoneksikan Arduino ke komputer melalui kabel serial USB. Klik Deploy to Hardware pada bagian kanan atas jendela, dan tunggulah proses selanjutnya. Pada pembahasan kita saat ini, papan Arduino yang kita gunakan adalah Arduino UNO.
 
 
 
 
Tunggulah sampai proses kompilasi selesai. Jika lancar, maka led internal pada Arduino akan berkedip...

Yuppp... semoga pembahsan kali ini bermanfaat... sampai jumpa pada pembahsan berikutnya.. Terima kasih..

Senin, 07 Juli 2014

Mendeteksi Objek Berdasarkan Warna Menggunakan MATLAB

Halloo semua... pada kesempatan kali ini kita akan membahas bagaimana caranya mendeteksi objek berdasarkan warnanya menggunakan MATLAB. Untuk menjalankannya, kita harus memiliki Image Processing Toolbox pada MATLAB. Namun, jika kita ingin mengambil gambar langsung dari webcam, kita harus memiliki Image Acquisition Toolbox. Pembahasan mengenai penggunaan webcam telah kita bahas sebelumnya disini.Untuk pembahasan kali ini, kita akan menggunakan file citra yang sudah kita buat sebelumnya, bukan hasil tangkapan kamera.

Walaupun sederhana, konsep deteksi warna yang akan kita bahas kali ini dapat menjadi dasar dari robot vision, yaitu robot yang menggunakan sensor visi (kamera) dalam operasinya. Nah, bagimana langkah-langkahnya? Mari kita simak uraiannya, sebagai berikut:

Pertama, buatlah sendiri gambar kita, misalnya di program Paint (pada OS Windows). Misalnya gambar kita adalah kumpulan beberapa objek dengan warna dan bentuk yang berbeda, seperti berikut:




Pada Gambar di atas, kita akan mencoba mendeteksi warna merah (murni merah), yaitu objek yang berbentuk bintang. Pastikan bahwa ini murni warna merah. Caranya, jika kita menggunakan  Paint (atau software lainnya), Pastikan nilai RGB-nya. Dalam hal ini, kita nol-kan komponen G dan B, dan buatlah R memiliki nilai penuh (misal 255, jika menggunakan 8-bit). Amati gambar di bawah ini:



Selanjutnya,kita simpan gambar kita, misalnya dengan nama warnawarni.bmp. Kita simpan di folder default MATLAB, yaitu di Documents\MATLAB.

Jalankan program MATLAB. Buatlah script baru, misalnya kita beri nama deteksiMerah.m, sebagai berikut:

 function [merah]=deteksiMerah(gambar)  
  [m,n,~]=size(gambar);  
  merah=zeros(m,n);  
  for i=1:m  
   for j=1:n  
     if(gambar(i,j,1)==255 && gambar(i,j,2)==0 && gambar(i,j,3)==0)       
       merah(i,j)=1;        
     end  
   end  
 end  

Selanjutnya, panggil gambar warnawarni.bmp pada Command Window dengan perintah imread, dan tampilkan hasilnya menggunakan perintah imshow, sebagai berikut:

 >> I = imread('warnawarni.bmp');  
 >> imshow(I)  


Kemudian, jalankan fungsi kita yaitu deteksiMerah.m dan amati hasilnya.


 >> ObjekMerah = deteksiMerah(I);  
 >> imshow(ObjekMerah);  


Yuppp... menarik, bukan? selanjutnya kita bisa mencoba mendeteksi warna lainnya, dengan cara mengatur nilai pada sintaks:

 if(gambar(i,j,1)==255 && gambar(i,j,2)==0 && gambar(i,j,3)==0)  


Misalnya, untuk mendeteksi objek berwarna hijau saja, kita bisa gunakan sintaks, sebagai berikut:

 if(gambar(i,j,1)==0 && gambar(i,j,2)==255 && gambar(i,j,3)==0)  




Kita juga bisa kombinasikan warna apapun yang kita suka untuk mendetaksi suatu benda. Yuppp.. demikian pembahasan kita kali ini... semoga bermanfaat.

Minggu, 06 Juli 2014

Menghubungkan Arduino dengan MATLAB [Part I]

Arduino adalah prototyping platform yang sudah sangat populer dikalangan pelajar, profesional, dan umum. Banyak sekali proyek yang dapat  dibuat menggunakan Arduino. Yang lebih menarik lagi, telah terdapat berbagai contoh di internet yang dapat kita gunakan untuk mengerjakan proyek kita. Salah satu jenis Arduino yang paling banyak digunakan adalah Arduino UNO. Arduino UNO memanfaatkan kemampuan mikrokontroler Atmel ATmega328. Lihat laman berikut untuk informasi lebih lanjut: www.arduino.cc. Disisi lain, MATLAB adalah software yang sangat tangguh untuk aplikasi yang melibatkan proses pengolahan data maupun visualisasi. Kunjungi laman berikut untuk informasi lebih lanjut: www.mathworks.com. Akan menjadi hal yang menarik ketika kemampuan kedua tools ini dapat kita gabungkan. Nah, pada kesempatan kali ini, kita mencoba membahas langkah yang paling sederhana dalam menghubungkan Arduino dan MATLAB.

Untuk pembahasan kali ini, diasumsikan bahwa kita telah mengenal sedikit dasar-dasar Arduino dan MATLAB. Syarat yang harus kita miliki untuk percobaan kali ini adalah sebuah papan Arduino dan software MATLAB yang telah terinstal pada komputer kita. Untuk pembahasan kali ini, kami menggunakan Arduino UNO dan MATLAB 2014a. Selanjutnya, bagaimana mereka bisa saling berkomunikasi? Arduino dan MATLAB dapat saling berhubungan melalui komunikasi serial.
Mari kita Ikutilah langkah-langkah berikut:
 
Koneksikan Arduino dengan komputer menggunakan kabel USB. Selanjutnya, buka MATLAB dan ketikkan sintaks instrhwinfo ('serial'). Asumsi nama objek kita adalah serial

 >> serial = instrhwinfo ('serial')  
 serial =   
          AvailableSerialPorts: {6x1 cell}  
             JarFileVersion: 'Version 3.5'  
     ObjectConstructorName: {6x1 cell}  
             SerialPorts: {6x1 cell}  

Cek port serial berapa saja yang available dengan mengetik serial.AvailableSerialPorts

 >> serial.AvailableSerialPorts  
 ans =   
   'COM1'  
   'COM3'  
   'COM26'  
   'COM43'  
   'COM44'  
   'COM45'  

Ini menandakan bahwa port-port inilah yang bisa terdeteksi oleh MATLAB. Namun demikian, kita harus pilih port mana yang digunakan oleh Arduino. Caranya, cek serial berapa yang digunakan oleh Arduino pada komputer kita. Caranya, kita bisa cek di device manager (untuk OS Windows). Pada Windows 7, device manager dapat dicari dengan mengklik kiri lambang START, kemudian klik kanan Computer, dan pilih  Manage. Amati gambar berikut:



Selanjutnya, jendela Computer Management akan terbuka. Pilihlah Devide Manager, dan amati port yang dipakai di bagian Ports(COM &LPT). Asumsi port yang terpakai adalah COM26, seperti gambar di bawah. Ini menandakan bahwa informasi yang diberikan oleh MATLAB dan komputer kita telah sesuai.



Untuk merealisasikan percobaan kita kali ini, kita harus memprogram baik di sisi Arduino dan MATLAB. Nah, sekarang bukalah Arduino IDE, dan ketikkan sintaks berikut:

 int led = 13;  
 int InputData = 0;  
 void setup() {  
  pinMode(led, OUTPUT);  
  Serial.begin(9600);   
 }  
 void loop() {  
  while (Serial.available() > 0) {    
   InputData = Serial.read();  
   }  
   if (InputData == '1') digitalWrite(led, HIGH);    
   if (InputData == '0') digitalWrite(led, LOW);  
 }  


Prinsip pemrograman Arduino di atas sangatlah sederhana. Arduino UNO telah memiliki led internal yang diletakkan pada pin 13. Jadi, untuk saat ini kita tidak memerlukan led tambahan. Jika Arduino menerima data '1' melalui komunikasi serial dengan MATLAB, maka led akan menyala, sedangkan jika menerima data '0' makan akan memadamkan led tersebut. Sederhana, bukan? Yup, kembali ke MATLAB. Mari kontrol led kita dengan sintaks MATLAB. Ikutilah langkah-langkah berikut dengan megetikkan sintaks pada Command Window.

Buatlah objek untuk komunikasi serial kita menggunakan perintah serial. Beri nama s1, sebagai contoh. Selanjutnya, perintah fopen() digunakan untuk membuka komunikasi serial dengan Arduino. Setelah komunikasi dibuka, perintah fwrite() berfungsi untuk menuliskan data '1' dan mengirimkannya ke Arduino. Amati bahwa setelah perintah ini dikirim, maka led pada Arduino akan menyala. Untuk mematikan, cukup kirim data '0' menggunakan sintaks yang sama. Setelah selesai semuanya, kita bisa menutup dengan perintah fclose().

 >> s1 = serial('COM26','BaudRate',9600)  
 >> fopen(s1);  
 >> fwrite(s1,'1');  
 >> fwrite(s1,'0');  
 >> fclose(s1);  

Yuuppp.... sederhana, bukan? semoga bermanfaat :)

Jumat, 04 Juli 2014

Menggunakan Webcam pada MATLAB

Seperti yang kita ketahui bersama, webcam adalah alat standar yang biasa digunakan pada komputer ketika kita ingin melibatkan video dalam aktivitas kita. Kegiatan ini misalnya chating menggunakan Skype, Yahoo Messager, dan sebagainya. Untuk keperluan dibidang robotika, webcam dapat dijadikan sebagai sensor visual pada robot vision. Salah satu perangkat lunak yang tangguh untuk proses pengolahan citra yang melibatkan video adalah MATLAB. Nah, pada kesempatan ini, kita akan membahas bagaimana cara mengaktifkan webcam menggunkan MATLAB.

Pada kesempatan ini, kita akan menggunakan MATLAB 2014a untuk mengaktifkan webcam. Syarat utama yang harus kita lakukan adalah memastikan MATLAB kita telah mengikutkan Image Acquisition Toolbox. Syarat kedua adalah memastikan bahwa adaptor webcam telah terinstal pada MATLAB. Pada MATLAB versi 2014a, adaptor ini belum terinstal secara otomatis. Oleh karena itu, kita harus menginstalnya terlebih dahulu. Proses instalasi telah kita bahas pada ulasan sebelumnya. Yup.... langsung saja kita ikuti langkah-langkah berikut:

Pastikan adaptor kita telah terinstal pada MATLAB dengan mengetikan sintaks imaqhwinfo pada Command Window dan amati respon dari MATLAB

>> imaqhwinfo
ans =
    InstalledAdaptors: {'winvideo'}
        MATLABVersion: '8.3 (R2014a)'
          ToolboxName: 'Image Acquisition Toolbox'
       ToolboxVersion: '4.7 (R2014a)'

Amati bahwa nama adaptor yang terinstal adalah winvideo. Ini adalah adaptor standar yang ketika kita menggunakan webcam berbasis sistem operasi Windows. Selanjutnya, mari kita buat perintah yang spesifik daripada perintah sebelumnya.

>> dev = imaqhwinfo('winvideo')
dev = 

AdaptorDllName: 'C:\MATLAB\SupportPackages\R2014a\genericvideo\adapt...'
    AdaptorDllVersion: '4.7 (R2014a)'
          AdaptorName: 'winvideo'
            DeviceIDs: {1x0 cell}
           DeviceInfo: [1x0 struct]

Setiap keterangan yang diberikan oleh MATLAB dapat ditelusuri lebih jauh dengan menuliskan tanda titik (.) setelah nama objek ingin dicari dan diikuti dengan keterangan tambahan pada jawaban yang diberikan oleh MATLAB sebelumnya. Contoh, pada respon di atas, penelusuran terhadap objek dev dapat dilakukan misalnya dengan mengetikkan dev.AdaptorDllName, dev.AdaptorDllVersion, dev.AdaptorName dan sebagainya. Nah, untuk saat ini, mari kita gunakan dev.DeviceInfo:

>> dev.DeviceInfo
ans =
             DefaultFormat: 'YUY2_160x120'
       DeviceFileSupported: 0
                DeviceName: 'USB2.0 Camera'
                  DeviceID: 1
     VideoInputConstructor: 'videoinput('winvideo', 1)'
    VideoDeviceConstructor: 'imaq.VideoDevice('winvideo', 1)'
          SupportedFormats: {1x5 cell}


Amati bahwa format default dari webcam adalah 'YUY2_160x120'. Informasi ini berarti bahwa webcam anda menggunakan format YUY2 untuk ekoding format warna pada gambar yang diambil untuk meghasilkan video. Contoh format lain misalnya RGB24 dan YUYV. Keterangan 160x120 menunjukkan ukuran piksel video Anda. Mari kita coba membuat objek video berdasarkan keterangan sebelumnya dengan menggunakan sintaks videoinput dan lihat hasilnya dengan sintaks preview.

>> vid = videoinput('winvideo');
>> preview(vid)


 

Sudah kita duga bersama bahwa video yang dihasilkan cukup kecil, yaitu 160x120. Nah, sekarang mari kita perbesar. Kembali ke object dev yang di atas. Mari kta cari apa saja format yang disuport oleh webcam kita selain ukuran 160x120:

>> dev.DeviceInfo.SupportedFormats
ans =
  Columns 1 through 4
    'YUY2_160x120'    'YUY2_176x144'    'YUY2_320x240'    'YUY2_352x288'
  Column 5
    'YUY2_640x480' 

Ternyata formatnya cukup banyak juga. Mari kita mencoba frame yang lebih besar, misalnya 320x240. Namun sebelum itu, coba amati berapa ID dari device kita. Berdasarkan keterangan sintaks kedua yang telah kita ketikkan, yaitu dev = imaqhwinfo('winvideo'), kita ketahui bahwa ID dari webcam kita adalah 1. Mari kita mengubah ukuran frame kita. Oya, jangan lupa ditutup dulu video kita dengan perintah: closepreview(vid).

>> closepreview(vid)
>> vid = videoinput('winvideo',1,'YUY2_320x240');
>> preview(vid)






Yup, gambarnya sudah cukup besar. Jika kita masih bingung menggunakan sintaks videoinput, kami sarankan untuk membeca keterangan lebih lanjut pada MATLAB Help. Nah, kira-kira apa yang bisa kita lakukan selanjutnya? Mari kita capture satu gambar dari video kita. Kita gunakan webcam sebagai kamera untuk mengambil gambar. Gunakan perintah getsnapshot untuk mengambil gambar, dan perlihatkan hasilnya menggunakan sintaks imshow, seperti berikut: 

>> gambar = getsnapshot(vid);
>> imshow(gambar)





Mmmm... amati bahwa hasil yang ditampilkan tidak sesuai dengan harapan kita. Ini adalah pengaruh format YUY2 yang telah kita bahas sebelumnya. Jika kita menggunakan format lain, seperti RGB24, mungkin hasilnya sudah sesuai dengan harapan kita, jadi tidak perlu kita ubah lagi. Untuk saat ini, mari kita ubah format warna agar sesuai yang kita inginkan. Gunakan sintaks ycbcr2rgb untuk mengubahnya, dan jalan lupa kita tutup dulu gambar sebelumnya dengan perintah close.

>> close
>> gambarRGB = ycbcr2rgb(gambar);
>> imshow(gambarRGB)







Oke... gambar sudah sesuai dengan apa yang kita inginkan. Sekarang, mari kita simpan gambar kita. Misalnya, saya mau menyimpannya menggunakan format .PNG. Pada MATLAB, sintaks yang digunakan untuk menyimpan data menjadi citra/gambar adalah imwrite. Kita simpan data sebelumnya, yaitu gambarRGB dengan nama gambarku.png.

>> imwrite(gambarRGB,'gambarku.png');

Secara default, gambar akan tersimpan pada folder  \Documents\MATLAB. Jika ingin menyimpan di lokasi lain, misalnya di direktori D:\ , bisa kita ubah menggunakan sintaks berikut:

>> imwrite(gambarRGB,'D:\gambarku.png');

RANGKUMAN
Mari kita rangkum pembahasan kita. Jika kita telah mengetahui format webcam kita, maka kita dapat rangkum sintaks yang telah kita bahas sebelumnya:

>> vid = videoinput('winvideo',1,'YUY2_320x240');
>> preview(vid)
>> gambar = getsnapshot(vid);
>> gambarRGB = ycbcr2rgb(gambar);
>> imwrite(gambarRGB,'gambarku.png');


Okay.... selesai sudah pembahasan kita pada kesempatan kali ini... semoga bermanfaat wink



Instalasi Paket Adaptor untuk Image Acquisition Toolbox MATLAB



Jika Anda ingin menggunakan webcam pada MATLAB, maka Anda harus menginstal Image Acquisition Toolbox. Toolbox ini khusus diperuntukkan jika ingin memanfaatkan fasilitas untuk menampilkan dan mengolah citra yang melibatkan video. Toolbox ini juga sangat erat kaitannya dengan Image Processing Toolbox, serta Toolbox lainnya. Mari kita fokuskan pembahasan kita kali ini pada cara mengintal adaptor untuk keperluan webcam.

Agar webcam Anda dapat terbaca oleh MATLAB, maka Anda harus menginstal adaptor untuk webcam Anda. Sayangnya, versi MATLAB mulai 2014a hadir dengan TIDAK menyertakan adaptor secara otomatis. Oleh karena itu, Anda harus menginstalnya sendiri. Biasanya, untuk sistem operasi Windows, adaptor ini dikenal dengan nama winvideo. Untuk sistem operasi Mac dan Linux, adaptor ini masing-masing dikenal dengan nama macvideo dan linuxvideo. Berikut akan saya bahas bagaimana menginstal adaptor untuk webcam.

  • Pastikan MATLAB Anda sudah menyertakan Image Acquisition Toolbox. Jika belum Anda harus menginstalnya menggunakan CD MATLAB yang Anda punya, atau mencoba versi trial dari situs resmi: www.mathworks.com
  • Pastikan saat ini komputer Anda terkoneksi dengan internet.
  • Jalankan program MATLAB, kemudian ketikkan sintaks berikut pada jendela Command Window:
 supportPackageInstaller

  • Selanjutnya, akan tampil jendela Support Pakage Installer. pilih Install from Internet, dan selanjutnya klik Next



  • Pada jendela berikutnya, pilihlah OS Generic Video Interface dan lanjutkan dengan Next
  •  Jangan lupa untuk menyetujui lisensi pada jendela berikutnya


  • Saatnya untuk instalasi. Klik Install dan ikuti saja tahapan selanjutnya.

  • Setelah selesai proses instalasi, ujilah apakah paket yang kita inginkan sudah terinstal dengan mengetik sintaks:
imaqhwinfo
  • Amati respon yang diberikan oleh MATLAB, sebagai berikut: 
  InstalledAdaptors: {'winvideo'}
        MATLABVersion: '8.3 (R2014a)'
                       ToolboxName: 'Image Acquisition Toolbox'
       ToolboxVersion: '4.7 (R2014a)'
  • Yuppp... selesai... amati bahwa keterangan yang telah diberikan oleh MATLAB pada baris paling atas:InstalledAdaptors: {'winvideo'}. Ini menunjukkan bahwa adaptor untuk webcam Anda sudah terinstal.

Mikrokontroler dan Arduino ... Samakah?

Apakah Arduino adalah sebuah mikrokontroler? Mungkin diantara kita masih banyak yang akan mengatakan, “ya!”. Namun, Jika kita merujuk pada pemahaman yang benar, maka Arduino tidak tepat jika dikatakan sebagai mikrokontroler. Mari kita ambil pengertian dari situs resmi Arduino (www.arduino.cc) sebagai berikut:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.
Jika kita berangkat dari pengertian tersebut, Arduino bisa dikatakan sebagai prototyping platform. Prototype jika kita artikan dalam Bahasa Indonesia adalah purwarupa. Maknanya lebih kurang adalah alat yang biasa digunakan untuk menghasilkan berbagai karya cipta dalam tahapan desain. Namun, jika kita mengemasnya dengan baik, Arduino tidak hanya digunakan pada tahapan desain, tetapi juga untuk produk jadi. kita bisa berkreasi apapun yang kita inginkan menggunakan Arduino. kita dapat membuat aplikasi di bidang robotika, atau aplikasi-aplikasi embedded system lainnya. Arduino memberikan kita kemudahan dengan segera untuk merealisasikan karya-karya kita. Arduino sudah menyediakan lingkungan pengembangan (IDE, Intergrated Development Environment) untuk menuliskan program aplikasi kita. Untuk board Arduino sendiri, Arduino sudah menyediakan header berbentuk female, sehingga kita dengan mudah dapat menggunakan kabel jumper untuk merealisasikan karya kita.



Sekarang, mengapa Arduino berbeda dengan mikrokontroler? Berdasarkan pemahaman sebelumnya, Arduino adalah prototyping platform. Arduino adalah papan elektronik yang menggunakan mikrokontroler jenis tertentu. Ambil salah satu contoh jenis Arduino yang paling banyak digunakan, yaitu Arduino UNO. Jenis ini menggunakan mikrokontroler keluaran Atmel, yaitu seri ATmega328. Secara mudahnya, dapat kita katakan bahwa Arduino menawarkan sebuah paket berupa papan elektronik dan lingkungan pengembangan (IDE) yang memanfaatkan kemampuan mikrokontroler tertentu. Jadi, jika ingin mengetahui fitur apa saja yang ditawarkan oleh Arduino, ada baiknya kita memahami fitur apa saja yang dimiliki oleh mikrokontroler yang digunakannya. Untuk aplikasi yang profesional (misalnya untuk produk komersial), para pengguna biasanya hanya memanfaatkan kemampuan mikrokontrolernya saja, bukan berupa papan Arduino. Mereka akan membuat alur sirkuit elektronik sendiri berupa PCB (Printed Circuit Board) untuk menghubungkan kaki-kaki mikrokontroler. Dengan demikian, produk yang tercipta diharapkan lebih menghemat ukuran dan fitur-fitur mikrokontroler dapat dimanfaatkan dengan optimal sesuai dengan aplikasi yang dibuat.