78
Mengenal Arduino dari Pemula Sampai Mahir Abstak Arduino merupakan sebuah alat "multi-fungsi" yang mengarahkan kita untuk mengenal teknologi Mikrokontroler AVR. Disini akan dijelaskan secara detail dari awal tentang: Apa itu Arduino, kenapa Arduino, bagaimana cara menggunakannya, dan contoh-contoh kode. Hasil dari artikel ini, pembaca dapat lebih mengenal Arduino cara kerja dan cara penggunaannya. Keyword: Arduino, Mikrokontroler AVR, Kode program Arduino Daftar Isi 1. Pengantar Arduino 2. Mengapa Arduino? 3. Produk Arduino 4. Download 5. Instalasi 6. Lingkungan dan Cara Penggunaan 7. Referensi Bahasa yang Digunakan 8. Library dan Instalasinya 9. Contoh Kode Program dan Simulasi 10. Bantuan (Saat ini belum adan masalah dari Pembaca) Referensi Hampir keseluruhan artikel termasuk link di dalamnya mengacu pada situs resmi Arduino yang beralamat di http://arduino.cc/. Penulis hanya menterjemahkan dan menambah beberapa tulisan tentang permasalahan yang dihadapi Pembaca. Apa itu Arduino (Perkenalan)

Mengenal Arduino Dari Pemula Sampai Mahir

Embed Size (px)

Citation preview

Mengenal Arduino dari Pemula Sampai Mahir

Abstak

Arduino merupakan sebuah alat "multi-fungsi" yang mengarahkan kita untuk mengenal teknologi Mikrokontroler AVR. Disini akan dijelaskan secara detail dari awal tentang: Apa itu Arduino, kenapa Arduino, bagaimana cara menggunakannya, dan contoh-contoh kode. Hasil dari artikel ini, pembaca dapat lebih mengenal Arduino cara kerja dan cara penggunaannya.

Keyword: Arduino, Mikrokontroler AVR, Kode program Arduino

Daftar Isi

1. Pengantar Arduino 2. Mengapa Arduino? 3. Produk Arduino 4. Download 5. Instalasi 6. Lingkungan dan Cara Penggunaan 7. Referensi Bahasa yang Digunakan 8. Library dan Instalasinya 9. Contoh Kode Program dan Simulasi 10. Bantuan (Saat ini belum adan masalah dari Pembaca)

Referensi

Hampir keseluruhan artikel termasuk link di dalamnya mengacu pada situs resmi Arduino yang beralamat di http://arduino.cc/. Penulis hanya menterjemahkan dan menambah beberapa tulisan tentang permasalahan yang dihadapi Pembaca.

Apa itu Arduino (Perkenalan)

Arduino adalah sebuah alat untuk membuat komputer sendiri sehingga dapat merasakan dan lebih mengontrol "dunia fisik" daripada komputer desktop. Arduino adalah sebuah platform komputasi fisik yang open-source berbasis papan/board mikrokontroler sederhana, dan pengembangan dapat menulis perangkat lunak untuk board ini.Arduino dapat digunakan untuk mengembangkan objek interaktif, mengambil masukan dari berbagai switch atau sensor, dan mengendalikan berbagai lampu, motor, dan output fisik lainnya. Proyek Arduino dapat berdiri sendiri, atau berkomunikasi dengan perangkat lunak (software) yang berjalan pada komputer Anda (misalnya Flash, Pengolahan, MaxMSP.) Board dapat dirakit dengan tangan atau dibeli; open-source IDE dapat didownload secara gratis.

Seluruh file pendukung dapat Anda download di halaman download kami.

Mengapa Harus Arduino (Beberapa Kelebihan)

Ada banyak sistem berbasis mikrokontroler lain atau platform mikrokontroler yang tersedia untuk "komputasi fisik". Parallax Basic Stamp, Netmedia yang BX-24, Phidgets, MIT Handyboard, dan banyak lagi yang lainnya menawarkan fungsionalitas yang sama. Semua alat ini mengambil rincian pemrograman mikrokontroler berantakan dan membungkusnya dalam paket yang mudah digunakan.Namun Arduino juga menyederhanakan proses pekerjaan berbasis mikrokontroler, serta menawarkan beberapa keuntungan lebih bagi guru, siswa, dan amatir yang tertarik pada sistem lain:

1. Murah

Arduino relatif murah dibandingkan dengan platform mikrokontroler lain. Versi paling mahal dari modul Arduino dapat dirakit dengan tangan, dan bahkan biaya perakitan modul Arduino kurang dari $50.

2. Cross-platform

Perangkat lunak Arduino berjalan pada Windows, Macintosh OSX, dan sistem operasi Linux. Kebanyakan sistem mikrokontroler terbatas pada Windows.

3. Sederhana

Lingkungan pemrograman Arduino mudah digunakan untuk pemula, namun cukup bagi pengguna tingkat lanjut untuk mengambil keuntungan dari fleksibilitasnya. Bagi para guru, Arduino sangat nyaman, didasarkan pada lingkungan pemrograman Processing, sehingga siswa belajar program akan terbiasa dengan tampilan dan nuansa dari Arduino.

4. Open source dan perangkat lunak yang dapat dikembangkan

Arduino diproduksi sebagai alat open source, tersedia untuk perluasan bagi programmer berpengalaman. Bahasa dapat diperluas melalui perpustakaan C++, dan orang-orang yang ingin memahami rincian teknis dapat membuat program lompatan dari Arduino ke bahasa pemrograman berbasis C AVR. Demikian pula, Anda dapat menambahkan kode C AVR langsung ke dalam program Arduino.

5. Open source dan hardware dapat dikembangkan

Arduino didasarkan pada Atmel mikrokontroler ATMEGA8 dan ATmega168. Perencanaan/ Rancangan modul diterbitkan di bawah lisensi Creative Commons, sehingga desainer sirkuit yang berpengalaman dapat membuat versi mereka sendiri, memperluas dan meningkatkan sistem Arduino. Bahkan pengguna yang relatif tidak berpengalaman dapat membangun versi breadboard untuk memahami cara kerjanya dan menghemat uang.

List/ Daftar Produk Arduino (Lebih Detail)

Disini penulis akan memaparkan produk board Arduino yang sering atau pun jarang dipakai oleh kebanyakan penghobi Mikrokontroler. Sampai saat ini penulis belum mencoba semua produk Arduino, tetapi tidak ada salahnya jika dibahas dengan referensi yang telah disediakan oleh website resmi Arduino (http://arduino.cc/).

Gambar 1: Produk Arduino

Berikut beberapa produk Board yang diproduksi Arduino:1. Arduino Uno

Mengenal Arduino Uno Lebih Rinci

Abstrak

Arduino Uno adalah board mikrokontroler berbasis ATmega328. Uno memiliki 14 pin digital input / output (dimana 6 dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Uno dibangun berdasarkan apa yang diperlukan untuk mendukung mikrokontroler, sumber daya bisa menggunakan power USB (jika terhubung ke komputer dengan kabel USB) dan juga dengan adaptor atau baterai.Arduino Uno berbeda dari semua papan sebelumnya dalam hal tidak menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega16U2 (Atmega8U2 sampai versi R2) diprogram sebagai konverter USB-to-serial. Revisi 2 dari Uno memiliki resistor pulling 8U2 HWB yang terhubung ke tanah, sehingga lebih mudah untuk menggunakan mode DFU.

Gambar 1: Arduino Uno

Papan Arduino Rev 3 memiliki fitur baru seperti berikut: Pertama adalah pinout: ada penambahan pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin

RESET, IOREF yang memungkinkan shield untuk beradaptasi dengan tegangan yang disediakan dari papan / board. Di masa depan, shield akan kompatibel dengan kedua papan yang menggunakan AVR, yang beroperasi dengan 5V dan dengan Arduino yang beroperasi 3.3V. Kedua adalah pin tidak terhubung, yang dicadangkan untuk tujuan masa depan.

Reset sirkuit yang sangat kuat Atmega16U2 menggantikan Atmega8U2

"Uno" dalam bahasa Italia berarti satu, alasan diberi nama tersebut adalah untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino, dan akan terus berkembang.

Daftar Isi

Ringkasan Spesifikasi Skema dan Referensi Desain Sumber Daya / Power Memori Input dan Output Komunikasi Pemrograman Perlindungan Arus USB Karakteristik Fisik

Ringkasan Spesifikasi

Mikrokontroler ATmega328Operasi tegangan 5VoltInput tegangan disarankan 7-11VoltInput tegangan batas 6-20VoltPin I/O digital 14 (6 bisa untuk PWM)Pin Analog 6Arus DC tiap pin I/O 50mAArus DC ketika 3.3V 50mAMemori flash 32 KB (ATmega328) dan 0,5 KB digunakan oleh bootloaderSRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)Kecepatan clock 16 MHz

Skema dan Referensi Desain

File EAGLE: Arduino-uno-Rev3-referensi-design.zip (CATATAN: dapat berjalan pada Elang 6.0 dan yang lebih baru)Skema: Arduino-uno-Rev3-schematic.pdfCatatan: referensi desain Arduino dapat menggunakan Atmega8, 168, atau 328, Model-model terbaru menggunakan ATmega328, tetapi Atmega8 ditunjukkan dalam skema untuk referensi. Konfigurasi pin identik untuk ketiga prosesor tersebut.

Sumber Daya / Power

Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Untuk sumber daya Eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor ini dapat dihubungkan dengan memasukkan 2.1mm jack DC ke colokan listrik board. Baterai dapat dimasukkan pada pin header Gnd dan Vin dari konektor DAYA.

Board dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt. Jika Anda menggunakan tegangan kurang dari 6 volt mungkin tidak akan stabil. Jika menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak papan. Rentang yang dianjurkan adalah 7 sampai 12 volt.

Pin listrik yang tersedia adalah sebagai berikut: VIN. Input tegangan ke board Arduino ketika menggunakan sumber daya eksternal. Anda dapat menyediakan tegangan melalui pin ini, atau, jika

Anda ingin memasok tegangan melalui colokan listrik, gunakan pin ini. 5V. Pin ini merupakan output 5V yang telah diatur oleh regulator papan Arduino. Board dapat diaktifkan dengan daya, baik dari colokan listrik DC

(7 - 12V), konektor USB (5V), atau pin VIN board (7-12V). Jika Anda memasukan tegangan melalui pin 5V atau 3.3V secara langsung (tanpa melewati regulator) dapat merusak papan Arduino. Penulis tidak menyarankan itu.

Tegangan pada pin 3V3. 3.3Volt dihasilkan oleh regulator on-board. Menyediakan arus maksimum 50 mA. GND. Pin Ground. IOREF. Pin ini di papan Arduino memberikan tegangan referensi ketika mikrokontroler beroperasi. Sebuah shield yang dikonfigurasi dengan benar

dapat membaca pin tegangan IOREF sehingga dapat memilih sumber daya yang tepat agar dapat bekerja dengan 5V atau 3.3V.

Memori

ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega328 juga memiliki 2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan / library EEPROM).

Input dan Output

Masing-masing dari 14 pin digital Uno dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Mereka beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal (terputus secara default) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi spesial:

Serial: pin 0 (RX) dan 1 (TX) Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL. Pin ini terhubung dengan pin ATmega8U2 USB-to-Serial TTL.

Eksternal Interupsi: Pin 2 dan 3 dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah (low value), rising atau falling edge, atau perubahan nilai. Lihat fungsi attachInterrupt() untuk rinciannya.

PWM: Pin 3, 5, 6, 9, 10, dan 11 Menyediakan 8-bit PWM dengan fungsi analogWrite() SPI: pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) mendukung komunikasi SPI dengan menggunakan perpustakaan SPI LED: pin 13. Built-in LED terhubung ke pin digital 13. LED akan menyala ketika diberi nilai HIGH

Arduino Uno memiliki 6 input analog, berlabel A0 sampai A5, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default mereka mengukur dari ground sampai 5 volt, perubahan tegangan maksimal menggunakan pin AREF dan fungsi analogReference(). Selain itu, beberapa pin tersebut memiliki spesialisasi fungsi, yaitu TWI: pin A4 atau SDA dan A5 atau SCL mendukung komunikasi TWI menggunakan perpustakaan Wire.Ada beberapa pin lainnya yang tertulis di board:

AREF. Tegangan referensi untuk input analog. Dapat digunakan dengan fungsi analogReference(). Reset. Gunakan LOW untuk me-reset mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset.

Komunikasi

Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Pada ATmega16U2 saluran komunikasi serial melalui USB dan muncul sebagai com port virtual untuk perangkat lunak pada komputer. Firmware 16U2 menggunakan standar driver USB COM, dan tidak ada driver eksternal diperlukan. Namun, pada Windows, diperlukan file .inf. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data tekstual sederhana akan dikirim ke dan dari papan Arduino. RX dan TX LED di papan akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).

The ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Wire berfungsi menyederhanakan penggunaan bus I2C. Untuk komunikasi SPI, menggunakan perpustakaan SPI.

Pemrograman

Arduino Uno dapat diprogram dengan software Arduino baca: Download Software Arduino untuk Berbagai OS. Pilih "Arduino Uno dari menu Tools > Board (sesuai dengan mikrokontroler pada papan). Untuk rincian, silahkan baca: Mengenal Arduino dari Pemula Sampai Mahir.

Perlindungan Arus USB

Arduino Uno memiliki polyfuse reset yang melindungi port USB komputer Anda dari arus pendek atau berlebih. Meskipun kebanyakan komputer memberikan perlindungan internal sendiri, sekering menyediakan lapisan perlindungan tambahan. Jika lebih dari 500 mA, sekering otomatis bekerja.

Karakteristik Fisik

Panjang maksimum dan lebar PCB Uno masing-masing adalah 2,7 dan 2,1 inci, dengan konektor USB dan colokan listrik yang melampaui dimensi tersebut. Empat lubang sekrup memungkinkan board harus terpasang ke permukaan. Perhatikan bahwa jarak antara pin digital 7 dan 8 adalah 0,16", tidak seperti pin lainnya.

2. Arduino Leonardo3. Arduino Due4. Arduino Yun5. Arduino Tre6. Arduino Micro7. Arduino Robot8. Arduino Esplora9. Arduino Mega ADK10. Arduino Ethernet11. Arduino Pro Mini12. Arduino Pro13. Arduino Mega 256014. Arduino Mega15. Arduino Duemilanove16. Arduino Fio17. Arduino Diecimila18. Lilypad Arduino19. Arduino NG (Nuova Generazione)20. Arduino Extreme21. Arduino USB22. Arduino Nano23. Arduino Serial24. Arduino Mini25. Arduino Singel Side Serial26. Arduino Shields

Download Software Arduino untuk Berbagai OS

Arduino adalah software open source yang memudahkan anda untuk menulis kode program dan meng-upload-nya ke board Arduino. Software Arduino dapat berjalan pada Windows, Mac OS X, dan Linux. Software ini ditulis dalam bentuk Java dan berbasis processing, avr-gcc, dan perangkat lunak open source lainnya.

Sebelum download software Arduino, harap diperhatikan beberapa persyaratan berikut:

"THE ARDUINO SOFTWARE IS PROVIDED TO YOU "AS IS," AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES."

"PERANGKAT LUNAK ARDUINO DISEDIAKAN UNTUK ANDA "SEBAGAIMANA ADANYA," DAN KAMI TIDAK MEMBUAT JAMINAN TERSURAT ATAU TERSIRAT APA PUN YANG BERKAITAN DENGAN FUNGSI TERSEBUT, PENGOPERASIAN, ATAU PENGGUNAAN, TERMASUK, TIDAK TERBATAS , JAMINAN TERSIRAT DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, ATAU PELANGGARAN. KAMI SECARA TEGAS MENOLAK TANGGUNG JAWAB APAPUN ATAS KERUSAKAN LANGSUNG, TIDAK LANGSUNG, SEBAGAI AKIBAT, INSIDENTAL ATAU KHUSUS, TERMASUK, TIDAK TERBATAS, PENDAPATAN HILANG, KEHILANGAN KEUNTUNGAN, KERUGIAN AKIBAT GANGGUAN USAHA ATAU HILANGNYA DATA, TANPA BENTUK TINDAKAN ATAU TEORI HUKUM YANG BERTANGGUNG JAWAB, BAHKAN JIKA DIBERITAHU TENTANG KEMUNGKINAN KERUSAKAN TERSEBUT."

Dengan men-download perangkat lunak dari halaman ini, Anda setuju dengan persyaratan yang ditentukan.

Halaman ini berisi link download ke-terbaru software Arduino (IDE), catatan rilis, dan perangkat lunak tambahan yang tidak disertakan dengan IDE seperti sistem untuk Yun.

1. Arduino 1.0.5o Windows Installer o Windows dengan file tipe .zip o Mac OS X o Linux: 32 bit o Linux: 64 bit o Source

2. Arduino 1.5.6-r2 BETA (dengan dukungan untuk Arduino Yun dan Arduino Due)

Jika memiliki Arduino Yun, Anda harus men-download versi 1.5.6. Versi 1.5.6 dapat menyebabkan masalah dengan monitor serial, namun dalam versi 1.5.6-r2 masalah tersebut telah teratasi.

o Windows Installer o Windows dengan file tipe .zip o Mac OS X o Linux: 32 bit o Linux: 64 bit o Source

3. Nightly Buildso Windows o Mac OS X o Linux: 32 bit o Linux: 64 bit

Untuk rilis Arduino sebelumnya dan beberapa software pendukung lain, silahkan kunjungi situs resmi Arduino (kembali ke Daftar isi dan lihat di Referensi kami).

Mari Mulai Menggunakan Arduino di Windows

Artikel ini menjelaskan bagaimana cara menghubungkan papan (board) Arduino ke dalam komputer dan meng-upload sketsa (sketch) pertama Anda. Silahkan ikuti instruksi-instruksinya dengan teliti.

Daftar Isi

Dapatkan papan (board) Arduino dan kabel USB Download Software Arduino Hubungkan papan Arduino ke Komputer

Instal driver Membuka Software Arduino Buka contoh blink Pilih board yang anda pakai Pilih Port Serial Upload Program

Dapatkan papan (board) Arduino dan kabel USB

Dalam tutorial ini, Penulis asumsikan Anda menggunakan Arduino Uno, Arduino Duemilanove, Nano, Arduino mega 2560, atau Diecimila. Jika Anda memiliki papan lain, silahkan baca yang sesuai saja dari halaman ini.

Gambar 1: Arduino dan Kabel USB

Anda juga perlu kabel USB standar: jenis yang sama ketika Anda akan menghubungkan komputer ke printer USB.

Download Software Arduino

Dapatkan versi terbaru dari halaman download yang tersedia, baca: Download Software Arduino untuk Berbagai OS.Setelah download selesai, unzip file yang didownload (jika Anda mendownload file tipe .zip). Pastikan untuk mempertahankan struktur folder. Klik dua kali pada folder untuk membukanya, dan akan ada beberapa file dan sub-folder di dalam.

Hubungkan papan Arduino ke Komputer

Arduino Uno, Mega Duemilanove dan Arduino Nano otomatis mengambil listrik dari salah satu koneksi USB komputer atau power supply eksternal. Jika menggunakan Arduino Diecimila, Anda harus memastikan bahwa papan dikonfigurasikan untuk mengambil daya dari koneksi USB. Sumber daya dipilih dengan jumper, plastik kecil yang terdapat antara USB dan jack listrik. Periksa apakah jumper diatur pada dua pin paling dekat dengan port USB atau tidak. Hubungkan papan Arduino ke komputer menggunakan kabel USB. LED indikator daya hijau (berlabel PWR) akan menyala.

Instal Driver

Untuk menginstal driver Arduino di Windows 7, Vista, dan XP, silahkan baca: Cara Manual Instal Driver di Windows Lewat Device Manager.

Membuka Software Arduino

Klik dua kali aplikasi Arduino. (Catatan: jika software Arduino dalam bahasa yang salah, Anda dapat mengubahnya dalam dialog preferensi)

Buka contoh blink

Buka LED berkedip contoh sketsa: File > Examples > 1.Basics > Blink.

Gambar 2: Contoh Blink LED

Pilih Board yang Anda pakai

Anda harus memilih entri dalam menu Tools > Board yang sesuai dengan Arduino Anda.

Gambar 3: Memilih Board

Contoh diatas, user memilih Arduino Uno. Untuk papan Duemilanove dengan ATmega328 (periksa teks pada chip di papan), pilih Arduino Duemilanove atau Nano w / ATmega328. Sebelumnya, Arduino datang dengan ATmega168, pilih Arduino Diecimila, Duemilanove, atau Nano w / ATmega168.

Pilih port serial Anda

Pilih perangkat serial Arduino dari menu Tools | Serial Port. Biasanya Port akan otomatis terdeteksi, jika masih bingung untuk mengetahuinya, Anda dapat memutuskan papan Arduino dan buka kembali menu Tools | Serial Port. Entri yang hilang merupakan papan Arduino. Hubungkan kembali papan dan pilih port serialnya.

Gambar 4: Memilih Port

Upload Program

Sekarang, cukup klik tombol "Upload". Tunggu beberapa detik - Anda akan melihat led RX dan TX pada papan berkedip.

Gambar 5: Upload

Jika proses upload berhasil, akan muncul pesan "Selesai meng-upload". Beberapa detik setelah selesai upload, Anda akan melihat pin 13 (L) LED di papan mulai berkedip (oranye). Selamat! Anda sudah sukses menjalankan Arduino.

Mengenal dan Menulis Sketsa/ Sketch Arduino

Software/ Program yang ditulis menggunakan Arduino disebut sketsa. Sketsa ini ditulis dalam editor teks. Sketsa disimpan dengan ekstensi file .ino, yang memiliki fitur untuk meng-cut, meng-copy, mem-paste, mencari/ mengganti teks, dll. Area pesan (console) memberikan umpan balik, menyimpan dan mengekspor juga menampilkan kesalahan. Konsol menampilkan teks output dalam lingkungan Arduino termasuk detail pesan error dan informasi lainnya. Bagian sudut bawah sebelah kanan jendela menampilkan board dan port serial yang sedang dipakai. Tombol-tombol toolbar memungkinkan Anda untuk memverifikasi dan meng-upload program, membuat, membuka, dan menyimpan sketsa, juga membuka monitor serial.

Gambar 1: Toolbar dan Menu Arduino

NB: Versi IDE sebelum 1.0, sketsa disimpan dengan ekstensi .pde, tetapi jika ingin membuka file tersebut dengan Versi 1.0, Anda akan diminta menyimpan ulang dalam format .ino.

Berikut pengenalan area kerja Arduino (disajikan dalam bentuk Tabel):

No Icon Nama Fungsi

1 Verify Mengecek kode yang dibuat apakah error atau tidak

2 Upload Mengkompilasi kode dan upload ke papan Arduino I / O.

3 New Membuat sketsa baru

4 Open Membuka sketsa yang telah dibuat

5 Save Menyimpan sketsa yang dibuat/ diedit

6 Serial Monitor Membuka monitor serial

Disamping fungsi di atas, di Software Arduino terdapat menu yang memiliki kelebihan tertentu.

Edit

1. Copy untuk Forum

Salinan kode sketsa Anda ke clipboard dalam bentuk yang sesuai untuk posting ke forum , lengkap dengan pewarnaan sintaks. 2. Copy sebagai HTML

Salinan kode sketsa Anda ke clipboard sebagai HTML , cocok untuk embedding dalam halaman web.

Sketch

1. Show Sketch Folder

Membuka folder sketsa saat ini. 2. Add File

Menambahkan file sumber ke sketsa (akan disalin dari lokasi saat ini) . File baru akan muncul di tab baru di jendela sketsa . File dapat dihapus dari sketsa dengan menggunakan menu tab.

3. Import Library

Menambahkan sebuah perpustakaan untuk sketsa Anda dengan memasukkan # include pada awal kode Anda.

Tool

1. Auto Format

Memformat kode Anda dengan baik : yaitu indentasi dalam membuka dan menutup kurung kurawal, dan pernyataan di dalam kurung kurawal akan lebih menjorok.

2. Archive Sketch

Arsip salinan sketsa saat ini dalam format .zip. Arsip akan ditempatkan di direktori yang sama seperti sketsa. 3. Board

Pilih board yang Anda gunakan. 4. Serial Port

Menu ini berisi semua perangkat serial (nyata atau virtual) pada komputer Anda. Serial port ini akan me-refresh secara otomatis setiap kali Anda membuka menu tools

5. Programmer

Memilih programmer hardware yang akan digunakan untuk meng-upload kode program, sehingga Anda tidak menggunakan koneksi onboard USB - serial.

6. Burn Bootloader

Item dalam menu ini memungkinkan Anda untuk mem-burning bootloader ke mikrokontroler pada papan Arduino .

Referensi Bahasa Pemrograman Arduino

Bahasa pemrograman Arduino terbagi menjadi tiga golongan (secara global), yaitu Structure (struktur), Value / Nilai (Variables dan Constants), dan Function (fungsi). Penulis akan memaparkan bahasa-bahasa tersebut yang disajikan dalam daftar dibawah ini:

Strktur

Setup()Loop()

Kontrol Strukturifif... elseforwhiledo... while

breakcontinuereturngoto

Further Syntax; (titik koma){} (kurung kurawal)// (komentar satu baris)/**/ (komentar banyak baris)#define#include

Operator Aritmatika= (penugasan)+ (penambahan)- (pengurangan)* (perkalian)/ (pembagian)% (modulo)

Operator Pembanding== (sama dengan)!= (tidak sama dengan)< (kurang dari)> (lebih besar dari)<= (kurang dari / sama dengan)>= (lebih dari / sama dengan)

Operator Boolean&& (dan)|| (atau)! (tidak)

Operator Pointer Access* (dereference)& (reference)

Operator Bitwise& (dan)| (atau)^ (xor)~ (tidak)<< (bitshift kiri)>> (bitshift kanan)

Operator Compound++ (increment)-- (decrement)+= (addition)-= (subtraction)*= (multiplication)/= (division)&= (bitwise and)|= (bitwise or)

Variabel

ConstantsHIGH | LOWINPUT | OUTPUT | INPUT_PULLUPLED_BUILTINtrue | falseinteger constantsfloating point constants

Tipe Datavoidbooleancharunsigned charbyteintunsigned intwordlongunsigned long

shortfloatdoublestring - char arraystring - objectarray

Konversichar()byte()int()word()long()float()

Ruang lingkup Variabel dan kualifikasivariable scopestaticvolatileconst

Utilitysizeof()

Fungsi

Digital I/OpinMode()digitalWrite()digitalRead()

Analog I/OanalogReference()analogRead()analogWrite() - PWM

Due OnlyanalogReadResolution()analogWriteResolution()

Advanced I/Otone()noTone()shiftOut()shiftIn()pulseIn()

Waktumillis()micros()delay()delayMicroseconds()

Matematikamin()max()abs()constrain()map()pow()sqrt()

Trigonometrisin()cos()tan()

Bilangan Acakrandomseed()random()

Bits dan ByteslowByte()highByte()bitRead()bitWrite()bitSet()bitClear()bit()

Interupsi EksternalattachInterrupt()detachInterrupt()

Interupsiinterrupts()noInterrupts()

KomunikasiSerialStream

USB (Khusus Leonardo dan Due)KeyboardMouse

Cara Instal Library Tambahan Arduino

Setelah merasa nyaman dengan software Arduino dan menggunakan fungsi built-in-nya, Anda mungkin ingin menambah kemampuan Arduino dengan library tambahan.

Apa itu Library?

Library/ Perpustakaan adalah kumpulan kode yang akan memudahkan kita terhubung ke sensor, display, modul, dll. Sebagai contoh, built-in library LiquidCrystal berfungsi untuk memudahkan berkomunikasi dengan karakter display LCD. Ada ratusan perpustakaan tambahan yang tersedia di Internet untuk di-download. Built-in perpustakaan dan beberapa dari library tambahan yang tercantum dalam referensi. Untuk menggunakan library tambahan, Anda perlu menginstalnya dengan cara-cara dibawah ini.

Bagaimana cara menginstal Perpustakaan untuk Arduino?

Perpustakaan sering didistribusikan sebagai file ZIP atau folder. Nama folder adalah nama dari perpustakaan. Di dalam folder tersebut terdapat file .cpp, file .h dan file keywords.txt, contoh folder, dan file lain yang dibutuhkan oleh perpustakaan.

Instal Library/ Perpustakaan Otomatis

Dimulai dengan versi 1.0.5, Anda dapat menginstal perpustakaan pihak ke-3 dalam IDE.Jangan unzip perpustakaan yang telah didownload, biarkan apa adanya.Dalam Arduino IDE, arahkan ke Menu Sketch > Import Library. Di bagian atas daftar drop-down, pilih opsi "Add Library".

Gambar 1: Menambahkan Library

Anda akan diminta untuk memilih perpustakaan yang ingin ditambahkan. Arahkan ke lokasi file .zip kemudian buka file tersebut.

Gambar 2: Memilih File .zip

Kembali ke menu Menu Sketch > Import Library. Sekarang Anda akan melihat perpustakaan di bagian bawah menu drop-down. Dengan ini perpustakaan siap untuk digunakan dalam sketsa Anda.

Gambar 3: Library siap Dipakai

File zip tersebut akan diekspansi dalam direktory/ folder perpustakaan Arduino.NB: perpustakaan dapat digunakan dalam sketsa, tapi contoh perpustakaan tersebut tidak akan muncul di File > Examples sampai IDE Arduino di-restart.

Instal Library/ Perpustakaan Manual

Untuk menginstal perpustakaan, pertama-tama keluar dari aplikasi Arduino.Kemudian uncompress file ZIP yang berisi perpustakaan. Misalnya, jika Anda menginstal sebuah perpustakaan yang disebut "ArduinoParty", ArduinoParty.zip setelah di-compress harus berisi sebuah folder bernama ArduinoParty, dengan file seperti ArduinoParty.Cpp dan ArduinoParty.h. (Jika file .cpp dan .h tidak dalam folder yang sama, Anda harus menyatukannya. Dalam hal ini, Anda akan membuat folder bernama "ArduinoParty" dan memindahkan semuanya ke folder tersebut).

Simpan folder ArduinoParty ke folder folder perpustakaan Anda. Pada Windows, kemungkinan akan terletak di "My Documents\Arduino\libraries".Folder library Arduino milik Anda sekarang harus terlihat seperti ini (pada Windows):

My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.cppMy Documents\Arduino\libraries\ArduinoParty\ArduinoParty.hMy Documents\Arduino\libraries\ArduinoParty\examples

Restart aplikasi Arduino. Pastikan perpustakaan baru muncul di menu Sketch->Import Library. Itu saja! Anda telah selesai menginstal perpustakaan!

Tutorial Contoh Kode Program Arduino dan Simulasi ISIS Proteus

Abstrak

Sudah banyak sekali contoh program Arduino yang bisa Anda jadikan referensi, tetapi Aozon disini akan memaparkan bukan hanya contoh kode program saja, tetapi skema pembuatan dan simulasi sirkuit dan lain-lain. Dengan artikel ini diharapkan pembaca dapat lebih memperdalam keilmuannya dalam bidang pemrograman Arduino. Simulasi sirkuit dilakukan dengan menggunakan software ISIS (Proteus 7 Professional) yang memungkinkan Anda untuk mengecek sirkuit terlebih dahulu agar berjalan dengan baik.

Keyword: Arduino, Contoh Program, ISIS Proteus.

Daftar Isi

1. Dasaro Kode dasar yang harus ada o Blink LED o Membaca masukan Digital (Tombol), kirim ke monitor PC (Serial)

o Membaca masukan Analog (Potensio), kirim ke monitor PC (Serial) o Analog Output untuk meredupkan dan menerangkan LED o Membaca Analog dan mengkonversinya menjadi tegangan (0 - 5 Volt)

2. Digitalo Blink LED tanpa delayo Tombol (push button) dan LEDo Tombol dan filtering noiseo Menghitung tombol ketika ditekano Menggunakan INPUT_PULLUPo Nada dengan Piezo Speakero Analog input dan Piezoo Keyboard dan Piezoo Multiple Speaker

3. Analogo Input Analog, mapping dan kontrol cahaya LEDo Potensio mengontrol blink LEDo Kontrol 12 LED dengan Arduino Megao Menentukan nilai minimum dan maksimum sensoro Menggunakan PWM untuk mengontrol LEDo Membaca analog input lebih halus

4. Komunikasio Membaca String ASCIIo Tabel ASCIIo Mouse dan LEDo Grafiko Menyalakan dan mematikan LED

5. Kontrol Strukturo pernyataan ifo Perulangan foro Arrayo Perulangan whileo switch case

6. Sensoro ADXL3xx accelerometero Piezoo Memsic2125o Ping Ultrasonico SR04 Ultrasonic

7. Antarmuka / Displayo LED Bar Graph

o 8x8 matrix LED8. String

o Mengenal lebih dalam tentang string dan akan di update jika ada permintaan dari pembaca9. USB (Leonardo, Micro, dan Due)

o Kontrol Keyboard dan Mouseo Mengirim string dengan keyboardo Kursor dengan tombol

10. Bantuan (saat ini belum ada masalah dari pembaca)

Menggerakan Servo dengan Visual Basic 6 dan Arduino

Abstrak

Penelitian ini bertujuan untuk menambah kreativitas kita agar bisa memanfaatkan teknologi yang sedang berkembang sekarang ini. Metode yang dilakukan sangat sederhana (karena artikel ini masih tahap pemula) yaitu Visual Basic 6 memberikan perintah/ command ke Arduino dalam bentuk data yang dapat menjalankan Servo. Hasil dari penelitian ini yaitu dapat membuat software sendiri dengan Visual Basic 6, membuat program dengan Arduino, dan memahami konsep pergerakan Servo.

Keyword: Visual Basic 6, Servo, Arduino

Daftar Isi

1. Pendahuluano Visual Basic 6o Arduinoo Servo

2. Metode Pembuatan3. Persiapan4. Proses Pembuatan

o Membuat Kode Sumber Visual Basico Membuat Kode Sumber Arduino

5. Analisis dan Pembahasan6. Download File Pendukung7. Bantuan

Pengantar Visual Basic 6 (Lebih Detail)

Visual Basic adalah generasi ketiga dari event-driven programming language dan integrated development environment (IDE) dari Microsoft, pemrograman pertama kali dirilis pada tahun 1991. Visual Basic relatif mudah dipelajari dan digunakan. Visual Basic berasal dari BASIC dan memungkinkan rapid

application development (RAD) dari) aplikasi graphical user interface (GUI, akses ke database menggunakan Akses Data Objects , remote Data Objects , atau ActiveX Data Objects , serta penciptaan ActiveX kontrol dan objek.

Gambar 1: Logo Visual Basic

Seorang pembuat program (Programmer) dapat membuat aplikasi dengan menggunakan komponen yang disediakan oleh Visual Basic itu sendiri. Program yang ditulis dalam Visual Basic juga dapat menggunakan Windows API , namun hal ini membutuhkan deklarasi fungsi eksternal. Versi terakhir dari Visual Basic adalah versi 6 yang di rilis pada tahun 1998. Dukungan Microsoft diperpanjang dan berakhir pada bulan Maret 2008 karena ada versi lain yang diproduksi yaitu Visual Basic NET. (sekarang dikenal hanya sebagai Visual Basic).

Meskipun Visual Basic 6.0 tidak lagi tersedia secara resmi, masih banyak dari pengembang yang lebih suka Visual Basic 6.0 dari pada NET. Sebuah dialek dari Visual Basic yaitu Visual Basic for Applications (VBA), digunakan sebagai bahasa scripting makro dalam beberapa aplikasi Microsoft, termasuk Microsoft Office.

Daftar Isi

1. Fitur Bahasa 2. Karakteristik 3. Sejarah 4. Bahasa Derivatif 5. Deskripsi Timeline6. Kinerja dan Isu-isu lain 7. Pengembangan dan Dukungan 8. Contoh Kode

Referensi

Keseluruh referensi ini ditujukan ke Wikipedia bahasa inggris yang bisa anda kunjungi di http://en.wikipedia.org/wiki/Visual_Basic. Kami hanya menterjemahkan konten yang ada disana. Jika anda menginginkan lebih banyak referensi, silahkan kunjungi referensi kami.

Fitur Bahasa dalam Visual Basic 6

Seperti bahasa pemrograman BASIC, Visual Basic dirancang untuk mengakomodasi programmer pemula. Programmer dapat membuat aplikasi GUI yang kompleks dengan cara yang sederhana. Pemrograman di VB dapat mengkombinasi antar visual dalam mengatur komponen atau kontrol yang ditampilkan dalam sebuah Form , dapat menentukan atribut dan tindakan untuk komponen-komponen, dan menulis baris tambahan kode untuk fungsi tambahan. Sejak

VB mendefinisikan atribut default dan tindakan untuk komponen, programmer dapat mengembangkan program sederhana tanpa menulis banyak kode.

Meskipun program VB dapat dikompilasi ke dalam kode executable asli dari versi 5, tetap saja masih membutuhkan kehadiran sekitar 1 MB runtime library. Runtime library disertakan secara default di Windows 2000 ke atas. Versi sebelumnya dari Windows (95/98/NT), mengharuskan perpustakaan runtime didistribusikan dengan eksekusi. Kebanyakan pengguna saat ini menggunakan windows XP ke atas, jadi tidak masalah.

Gambar 1: Form pada Visual Studio 6

Form dibuat menggunakan teknik drag-and-drop. Kontrol memiliki atribut dan event handler yang terkait dan disajikan dalam lingkungan yang fleksibel sehingga mudah diakses. Nilai default telah disediakan ketika kontrol dibuat, tetapi tentu saja dapat diubah oleh programmer. Banyak nilai atribut dapat diubah selama run time berdasarkan tindakan pengguna atau perubahan lingkungan, sehingga VB menyediakan aplikasi yang dinamis. Sebagai contoh, kode dapat dimasukkan ke dalam event handler yang dapat mengubah ukuran form untuk memposisikan kontrol sehingga tetap berpusat pada form.

Visual Basic dapat membuat executable (EXE file), kontrol ActiveX , dan file DLL, terutama digunakan untuk mengembangkan aplikasi Windows dan antarmuka sistem database. Kotak dialog dengan fungsionalitas dapat digunakan untuk menyediakan kemampuan pop-up. Kontrol menyediakan fungsi dasar dari aplikasi, sedangkan programmer dapat menyisipkan logika tambahan dalam event handler yang sesuai.

Karakteristik Pemrograman Visual Basic 6 (VB6)

Disini dijelaskan beberapa karakteristik perograman Visual Basic 6 (mungkin karakteristik ini sama dengan visual basic yang lebih baru juga). Karakteristik ini cukup berbeda dengan bahasa C, jadi bisa dilihat dengan jelas, mana bahasa C dan mana Basic.

Gambar 1: Contoh Kode Visual Basic 6

Karakteristik Visual Basic 6:

1. Awal dan akhir statement/pernyataan menggunakan bahasa bukan simbol, Contoh If ... Then ... End If. Berbeda dengan bahasa C yang menggunakan kurung {}.

2. Tidak bisa memasukan data ke variabel yang banyak. Misalkan A = B = C = D, tidak bisa dilakukan sehingga nilai A, B, C, dan D tidak bisa dipastikan sama.

3. Konstanta dengan tipe data boolean dalam kondisi true memiliki nilai numerik -1. Hal ini terjadi karena tipe data boolean disimpan dalam 16-bit integer.

4. Operator logika dan bitwise menyatu, ini merupakan fitur tradisional dari Basic.5. Array dideklarasikan dengan menentukan batas atas dan bawah, cara ini mirip dengan Pascal dan Fortran.6. Relatif kuat berintegrasi dengan sistem operasi Windows dan Component Object Model.7. Banker Rounding dilakukan secara default untuk mengkonversi bilangan real ke dalam bilangan bulat (metode round).Contoh: Round (2.5, 0)

hasilnya adalah 2, sedangkan Round (3.5,0) hasilnya 4.8. Secara default jika ada variabel yang belum dideklarasikan tipe datanya, maka otomatis variabel tersebut adalah varian. Namun hal ini dapat diubah

dengan pernyataan Deftype seperti DefInt, DefBool, DefVar, DefObj, DefStr. Ada 12 Deftype yang ditawarkan oleh Visual Basic 6.0. Default dapat diganti untuk mendeklarasikan jenis tertentu dengan menggunakan karakter akhiran khusus pada nama variabel (# untuk ganda, ! Untuk Single, & untuk Long, % untuk Integer, $ untuk String, dan @ untuk currency). VB juga dapat diatur denga mode hanya variabel secara eksplisit yang dinyatakan dengan perintah Option Explicit.

Sejarah (History) Visual Basic (VB)

Visual Basic (VB) versi 1.0 diperkenalkan pada tahun 1991. Untuk membuat desain user interface (GUI) dengan fasilitas Drag dan drop berasal dari bentuk prototipe Form generator yang dikembangkan oleh Alan Cooper dan perusahaannya yang disebut Tripod. Microsoft mengadakan kontrak dengan Cooper dan rekan-rekannya untuk mengembangkan Tripod menjadi sistem form yang dapat diprogram dalam Windows 3.0, di bawah nama kode Ruby (tetapi tidak ada hubungannya dengan bahasa pemrograman Ruby).

Gambar 1: Alan CooperTripod tidak termasuk dalam bahasa pemrograman sama sekali. Microsoft memutuskan untuk menggabungkan Ruby dengan bahasa Basic untuk membuat Visual Basic.

Antarmuka Ruby Generator menyediakan "visual" (bagian dari Visual Basic) dan ini dikombinasikan dengan "EB" mesin DASAR Tertanam dan dirancang untuk meninggalkan "Omega" sebagai sistem database Microsoft. Ruby juga memberikan kemampuan untuk memuat link dinamis perpustakaan yang berisi kontrol tambahan (kemudian disebut "gizmos"), yang kemudian menjadi antarmuka VBX.

Bahasa Derivatif (Turunan dari Visual Basic)

Microsoft telah mengembangkan turunan dari Visual Basic untuk digunakan dalam scripting. Visual Basic itu sendiri berasal dari BASIC , dan selanjutnya telah diganti dengan NET yang merupakan versi platform.

Gambar 1: Logo Visual Basic

Beberapa bahasa yang diturunkan adalah:1. Visual Basic for Applications (VBA) banyak terdapat dalam aplikasi Microsoft (Microsoft Office), dan juga diproduk pihak ketiga seperti

SolidWorks, AutoCAD, WordPerfect Office 2002, ArcGIS, Sage 300 ERP, dan Business Objects Desktop Intelligence. Ada inkonsistensi kecil ketika VBA diimplementasikan dalam aplikasi yang berbeda, tetapi sebagian besar bahasa sama dengan Visual Basic 6.0 serta menggunakan perpustakaan runtime yang sama. Pengembangan Visual Basic berakhir adalah 6.0, tetapi pada tahun 2010 Microsoft memperkenalkan VBA 7 untuk menyediakan fitur perpanjangan dan menambahkan dukungan untuk 64-bit.

2. VBScript adalah bahasa default untuk Active Server Pages. Hal ini dapat digunakan di Windows scripting dan client-side pada halaman web scripting. VBScript menyerupai VB di dalam sintaks-nya , tetapi bahasa-dieksekusi oleh vbscript.dll bukan runtime VB. ASP dan VBScript tidak harus bingung dengan ASP.NET, karena menggunakan .NET Framework untuk halaman web yang dikompilasi.

3. Visual Basic .NET ditunjuk Microsoft sebagai penerus Visual Basic 6.0, dan merupakan bagian dari Platform Microsoft .NET. Visual Basic .Net mengkompilasi dan berjalan menggunakan .NET Framework, sehingga tidak kompatibel dengan Visual Basic 6.0 (meskipun ada beberapa konversi, tetapi tidak mungkin dapat mengkonversi seluruhnya).

4. OpenOffice Basic adalah interpreter yang kompatibel Visual Basic dan berasal dari StarOffice office suite.5. Gambas adalah program seperti Visual Basic yang terinspirasi dari perangkat lunak bebas yaitu (bahasa pemrograman untuk) sistem operasi Linux.

Ini bukan clone Visual Basic, tetapi memiliki kemampuan untuk mengubah program Visual Basic ke dalam program Gambas.6. WinWrap Basic adalah pihak ketiga dari VBA yang dapat digunakan dengan berbagai perangkat lunak, dan tersedia bagi programmer untuk

membangun fasilitas makro ke dalam program.7. LotusScript adalah varian VBA yang tersedia di Lotus SmartSuite dan Lotus Notes.8. Kemudian versi Corel WordPerfect Office menerapkan akses ke VBA sebagai salah satu bahasa makro/scripting, termasuk CorelScript dan

PerfectScript9. Versi sebelumnya dari Microsoft Word yang menggunakan varian dari Visual Basic disebut WordBasic.

Kinerja dan Isu-Isu Lain Visual Basic 6

Versi sebelumnya dari Visual Basic (sebelum versi 5) kompilasi kodenya menggunakan P-Code saja. P-Code ditafsirkan oleh runtime. Manfaat dari P-Code adalah portabilitas dan ukuran file biner yang lebih kecil, tapi biasanya memperlambat eksekusi, karena memiliki runtime sehingga menambahkan lapisan interpretasi. Namun, sejumlah kecil kode dan algoritma dapat dibangun sehingga dapat berjalan lebih cepat.

Aplikasi Visual Basic memerlukan Microsoft Basic runtime MSVBVMxx.DLL, di mana xx adalah nomor versi yang relevan, baik 50 atau 60. MSVBVM60.DLL datang sebagai standar Windows di semua edisi setelah Windows 98 sedangkan MSVBVM50.dll untuk semua edisi setelah Windows 95. Namun Windows 95 akan memerlukan inklusi dengan installer dari dll yang dibutuhkan oleh program.

Visual Basic 5 dan 6 dapat mengkompilasi baik kode asli atau P-Code tetapi dalam kedua kasus runtime masih diperlukan untuk fungsi dan bentuk manajemen.Kritik ditujukan pada Visual Basic edisi sebelum VB.NET meliputi:

Masalah versioning terkait dengan berbagai runtime DLL, dikenal sebagai "DLL Hell" Kurang dukungan untuk pemrograman berorientasi obyek Ketidakmampuan membuat aplikasi multi- threaded, tanpa menggunakan Windows API Ketidakmampuan untuk membuat layanan Windows Jenis varian memiliki kinerja dan penyimpanan yang lebih besar daripada bahasa pemrograman "yang diketik" Lingkungan pengembangan tidak lagi didukung oleh Microsoft

Pengembangan Warisan dan Dukungan Visual Basic 6

Semua versi dari lingkungan pengembangan Visual Basic 1,0 - 6,0 sekarang sudah "pensiun" dan tidak didukung oleh Microsoft. Lingkungan runtime juga tidak didukung, kecuali untuk lingkungan runtime 6, yang secara resmi didukung Microsoft seumur Windows 8. Komponen pihak ketiga yang berhubungan dengan Visual Studio 6.0 tidak termasuk dalam dukungan ini. Beberapa komponen warisan Visual Basic masih dapat bekerja pada platform yang lebih baru, meskipun tidak didukung oleh Microsoft dan vendor lainnya.

Pengembangan pemeliharaan untuk Visual Basic 6 diperbolehkan di Windows XP, Windows Vista dan Windows 2003 menggunakan platform Visual Studio 6.0, tetapi tidak ada dukungan. Dokumentasi untuk Visual Basic 6.0, aplikasi antarmuka pemrograman dan alat-alat terbaik dicakup dalam MSDN rilisan terakhir sebelum Visual Studio.NET 2002. Kemudian rilis MSDN difokuskan pada pembangunan .NET dan memiliki bagian-bagian penting dari dokumentasi Visual Basic 6.0. IDE Visual Basic dapat diinstal dan digunakan pada Windows Vista, 7 dan 8, tetapi terlihat beberapa fasilitas yang tidak kompatibel namun tidak menghambat pembangunan perangkat lunak. Pada Agustus 2008, baik Visual Studio 6.0 dan dokumentasi MSDN disebutkan di atas dapat di-download oleh pelanggan MSDN.

Contoh Sederhana Kode Visual Basic 6

Disini dijelaskan beberapa contoh kode Visual Basic 6 seperti yang telah digambarkan pada posting sebelumnya, baca: Fitur Bahasa. Meskipun pembahasannya masih belum detail, tetapi cukup bagi Anda untuk mulai mencoba membangun program sendiri. So, buatlah sekarang! Tidak usah ditunda-tunda.

Gambar 1: Contoh Kode

Potongan kode berikut menampilkan kotak pesan yang mengatakan "Hello, World!":

Private Sub Form_Load()

' Execute a simple message box that says "Hello, World!"

MsgBox "Hello, World!"End Sub

Potongan ini membuat counter yang bergerak naik 1 setiap detik (label dan kontrol waktu perlu ditambahkan ke form agar dapat bekerja bekerja):

Option Explicit

Dim Count As Integer

Private Sub Form_Load()

Count = 0

Timer1.Interval = 1000 ' units of milliseconds

End Sub

Private Sub Timer1_Timer()

Count = Count + 1

Label1.Caption = Count

End Sub

Mengkonversi Input Analog (0-1023) Menjadi Nilai Tegangan (0-5)

Contoh ini menunjukkan bagaimana membaca input analog pada Pin A0, mengkonversi nilai dari analogRead() menjadi nilai tegangan, dan mengirimnya ke komputer.

Hardware yang Diperlukan

1. Board Arduino2. Resistor variabel seperti potensiometer

Skema Sirkuit

Gambar 1: Skema Sirkuit

Untuk mengetahui penjelasan tentang sirkuit ini silahkan baca: Membaca Masukan Analog (Potensiometer), Kirim ke Komputer.

Kode Program

Inisialisasi komunikasi serial dengan baudrate 9600:Serial.begin(9600);Membaca input analog dari pin A0 dan menyimpannya dalam variabel sensorValue:int sensorValue = analogRead(A0);Untuk mengubah nilai 0-1023 ke kisaran yang sesuai dengan tegangan 0-5, Anda harus membuat variabel lain, yang bertipe float, dan menggunakan sedikit persamaan matematika. Untuk skala angka antara 0,0 dan 5,0, cukup emmbagi 5,0 dengan 1.023,0 dan mengalikannya dengan variabel sensorValue:float voltage = sensorValue * (5.0 / 1023.0);Terakhir mengirim data voltage ke komputer:Serial.println(voltage);

Perubahan nilai terlihat pada Gambar 2.

Gambar 2: Hasil percobaan

Hasil akhir kode program:void setup() {  Serial.begin(9600);}

void loop() {  // Membaca input analog dari pin A0 dan menyimpannya dalam variabel sensorValue:  int sensorValue = analogRead(A0);  // Konversi masukan analog 0 - 1023) ke tegangan (0 - 5V):  float voltage = sensorValue * (5.0 / 1023.0);  // Mengirim data ke komputer  Serial.println(voltage);  // Tunggu 1 detik  delay(1000);}

Membaca Masukan Analog (Potensiometer), Kirim ke Komputer

Contoh ini menunjukkan bagaimana membaca input analog dengan menggunakan potensiometer. Potensiometer adalah perangkat mekanis sederhana yang menhasilkan jumlah resistensi bervariasi ketika diputar. Dengan melewatkan tegangan melalui potensiometer dan menjadi input analog pada Arduino, kita dapat mengukur tegangan dari perubahan resistansi sebagai nilai analog. Dalam contoh ini akan memantau keadaan potensiometer dan membangun komunikasi serial antara Arduino dan komputer.

Hardware yang Diperlukan

1. Board Arduino2. Potensiometer 10 KOhm

Skema Sirkuit

Gambar 1: Skema Sirkuit

Hubungkan tiga kaki dari potensiometer ke papan Arduino. Yang pertama dari salah satu pin sisi luar potensiometer ke Ground. Yang kedua dari pin sisi luar lainnya ke 5 volt. Yang ketiga (paling tengah) ke analog input 0 (A0).

Dengan memutar poros potensiometer, akan terjadi perubahan jumlah hambatan di kedua sisi wiper yang terhubung ke pin tengah potensiometer. Hal ini akan mengubah tegangan pada pin. Tegangan ini adalah tegangan analog yang dibaca sebagai masukan.

Arduino memiliki sirkuit yang disebut analog-to-digital-converter (ADC) yang membaca perubahan tegangan dan mengkonversinya ke angka antara 0 dan 1023. Fungsi analogRead() akan mengembalikan angka antara 0 dan 1023 yang sebanding dengan jumlah tegangan yang diterapkan pada pin.

Kode Program

Memulai komunikasi serial, dengan 9600 bit data per detik:Serial.begin(9600);Selanjutnya di loop utama, Anda perlu membuat variabel untuk menyimpan nilai resistansi (yang akan berada di antara 0 dan 1023, menggunakan tipe data int):int sensorValue = analogRead(A0);Terakhir, tulis kode untuk mengirim data tersebut ke komputer dalam bentuk desimal:Serial.println(sensorValue)Hasilnya, ketika jendela komunikasi COM dibuka, akan terlihat nilai dari 0 - 1023 tergantung putaran potensiometer.

Gambar 2: Hasil Percobaan

Hasil akhir kode program:

void setup() {  // Inisialisasi komunikasi serial dengan baudrate 9600 bits per detik:  Serial.begin(9600);}

void loop() {  // Membaca masukan dengan pin A0  int sensorValue = analogRead(A0);  // Mengirim data ke komputer  Serial.println(sensorValue);  delay(1000);        // Tunggu selamat 1 detik}

analogWrite() untuk Meredupkan dan Menerangkan LED

Contoh ini menunjukkan penggunaan fungsi analogWrite() dalam memudarkan cahaya LED. AnalogWrite menggunakan modulasi lebar pulsa (PWM), mengubah pin digital untuk menghidupkan dan mematikan LED dengan sangat cepat agar menciptakan efek redup.

Hardware yang Diperlukan

1. Board / Papan Arduino2. Resistor 330 Ohm3. LED

Skema Sirkuit

Hubungkan Anoda LED (kaki positif yang panjang) ke salah satu kaki Resistor dan kaki Resistor yang lain dihubungkan ke D9 pada Arduino. Kaki Katoda LED dihubungkan ke Ground.

Fade LED

Kode Program

Inisial variabel tidak harus dilakukan (optional), tetapi akan berguna jika Anda mau merubah pin sehingga tidak banyak kode yang harus diganti:int led = 9;int brightness = 0;int fadeAmount = 5;Pada fungsi setup() hanya mendeklasarikan pin D9 sebagai output (untuk menyalakan LED).pinMode(led, OUTPUT);Pada fungsi loop() yang pertamal dilakukan adalah mengatur tegangan keluaran untuk pin D9 (LED) yang disimpan dalam variabel brightness dengan menggunakan fungsi analogWrite():analogWrite(led, brightness);Kemudian nilai variable brightness diatur agar terjadi perubahan pada LED:brightness = brightness + fadeAmount;Agar gelap terang LED terlihat, dibutuhkan kode yang dapat mengurangi nilai variabel brightness ketika sudah terang maksimal:if (brightness == 0 || brightness == 255) {  fadeAmount = -fadeAmount ; }

Hasil akhir kode program

int led = 9;           // Pin untuk LEDint brightness = 0;    // Kecerahan LEDint fadeAmount = 5;    // Banyaknya fade

void setup()  {  pinMode(led, OUTPUT);}

void loop()  {  analogWrite(led, brightness);  

  // Mengubah kecerahan  brightness = brightness + fadeAmount;

  // Setelah maksimal, LED redup kembali  if (brightness == 0 || brightness == 255) {    fadeAmount = -fadeAmount ;  }     // Tunggu 30 ms  delay(30);                           }

Membaca masukan Digital (Tombol), kirim ke monitor PC (Serial)

Contoh ini menunjukkan bagaimana memantau switch / tombol apakah ditekan atau tidak dengan menggunakan komunikasi serial antara Arduino dan komputer melalui USB.

Hardware yang Diperlukan

1. Board Arduino2. Tombol / Switch / Toggle3. Resistor 10 KOhm4. Papan penyimpan komponen seperti Protoboard / Proyekboard (optional)5. Kabel penghubung (optional)

Sirkuit

Gambar 1: Skema simulasi

Pertama-tama hubungkan Pin 2 Arduino (pin digital) ke satu kaki tombol, kemudian kaki tombol yang lainya ke Ground. Sambungkan pula kaki resistor yang satu diantara kaki resistor dan pin 2 Arduino, dan satu kakinya lagi ke VCC (lihat dengan teliti pada Gambar 1). COM pada Gambar 1 hanya untuk simulasi saja, sedangkan pada aplikasinya, sudah otomatis tertanam pada board Arduino.

Kode

Dalam program di bawah ini, hal pertama yang dilakukan dalam fungsi setup adalah memulai komunikasi serial, dengan 9600 bit data per detik:Serial.begin(9600);Selanjutnya, menginisialisasi pin digital 2, pin yang akan membaca output dari tombol, sebagai masukan (input):pinMode(2,INPUT);Sekarang setup Anda telah selesai, tinggal mengisi kode loop utama. Ketika tombol ditekan, tegangan 5 volt akan mengalir melalui sirkuit, dan jika tidak ditekan, pin input akan terhubung ke Ground melalui resistor 10 KOhm. Ini adalah input digital, yang berarti bahwa saklar hanya bisa ON (dilihat oleh Arduino sebagai "1", atau TINGGI) atau keadaan OFF (dilihat oleh Arduino sebagai "0", atau LOW).

Hal pertama yang perlu dilakukan dalam loop utama adalah menetapkan variabel untuk menyimpan informasi dari tombol. Karena informasi dari saklar akan "1" atau "0", Anda dapat menggunakan tipe data int dengan nama variabel sensorValue yang akan diisi oleh nilai pin 2 Arduino:int sensorValue = digitalRead(2);Setelah Arduino telah membaca input, data akan dikirim ke komputer sebagai nilai desimal melalui serial komunikasi USB. Anda dapat melakukan ini dengan perintah Serial.println():Serial.println(sensorValue);Sekarang, ketika Anda membuka Serial COM dalam lingkungan Arduino, akan terlihat aliran data "0" jika saklar tidak ditekan, atau "1" jika saklar ditekan.

Gambar 2: Hasil percobaan

Hasil akhir kode program:// Memberi nama pin digital 2int pushButton = 2;

void setup() {  // Inisialisasi komunikasi serial dengan baudrate 9600 bits per detik:  Serial.begin(9600);  // Pin tombol sebagai input  pinMode(pushButton, INPUT);}

void loop() {  // Membaca input pin tombol  int buttonState = digitalRead(pushButton);  // Mengirim data hasil input  Serial.println(buttonState);  delay(1000);        // Tunggu selama 1 detik}

Blink LED / LED Berkedip dengan Arduino

Contoh dibawah ini menunjukkan hal paling sederhana yang dapat Anda lakukan dengan Arduino untuk melihat output fisik: LED berkedip.

Hardware Diperlukan

1. Board Arduino (1 buah)2. LED (1 buah)3. Resistor 330 Ohm (1 buah)

Sirkuit

Untuk membangun sirkuit, diharuskan menambahkan resistor 330 Ohm ke pin-13. Lalu pasang kaki LED yang lebih panjang (kaki positif, yang disebut anoda) ke resistor. Pasang kaki pendek (kaki negatif, disebut katoda) ke Ground. Kemudian pasang papan Arduino ke komputer Anda, mulailah memprogram Arduino, dan masukkan kode di bawah.

Kebanyakan papan Arduino sudah memiliki LED yang terpasang ke pin 13 di papan itu sendiri, ehingga jika tidak memiliki hardware yang disebutkan diatas, tetap Anda akan melihat bahwa LED berkedip.

Skema

Skema Blink LED

Kode

Dalam program di bawah ini, hal pertama yang Anda lakukan adalah menginisialisasi pin 13 sebagai pin outputpinMode(13, OUTPUT);Dalam loop() utama, Anda dapat menghidupkan LED dengan kode:digitalWrite(13, HIGH);Kode tersebut akan memberikan tegangan 5 volt ke pin 13, yang akan menciptakan perbedaan tegangan pin LED. Kemudian Anda mematikan LED tersebut dengan baris:digitalWrite(13, LOW);

Ketika LED ON dan OFF, kita tidak akan bisa melihat reaksinya terhadap LED karena terlalu cepat, sehingga dibutuhkan perintah delay(). Bila Anda menggunakan perintah delay(), kita dapat mengatur kapan LED itu ON dan kapan OFF.

Hasil akhir kode program:

int led = 13;

void setup() {

pinMode(led, OUTPUT); }

void loop() {digitalWrite(led, HIGH);delay(1000); // Tunggu selama 1 DetikdigitalWrite(led, LOW);delay(1000); // Tunggu selama 1 Detik}

Kode Dasar yang Harus Ada pada Arduino

Contoh ini berisi kode minimal yang Anda butuhkan untuk sketsa Arduino ketika proses kompilasi: metode setup() dan metode loop().

Hardware yang Diperlukan

Board Arduino

Sirkuit

Hanya board Arduino yang anda butuhkan untuk contoh ini.

Board Arduino

Kode

Fungsi setup() dipanggil ketika sketsa dimulai. Baca: Struktur Fungsi setup() dan loop() pada Arduino.

Kode di bawah ini tidak akan melakukan apa-apa, tapi akan berguna untuk copy dan paste ketika memulai sketsa. Hal ini juga menunjukkan bagaimana membuat komentar dalam kode Arduino.

Setiap baris yang dimulai dengan dua garis miring (//) tidak akan dibaca oleh kompilator, sehingga Anda dapat menulis apapun yang diinginkan. Mengomentari kode Anda seperti ini dapat membantu dalam menjelaskan, baik untuk diri sendiri dan orang lain, tentang bagaimana fungsi program anda langkah demi langkah.

void setup() {// Tulis kode setup disini, akan berjalan sekali:

}

void loop() {// Tulis kode utama disini, akan berjalan berulang-ulang:

}

Struktur Fungsi setup() dan loop() pada Arduino

Ketika memulai pembuatan sketsa baru, kita pasti melihat ada kode struktur setup() dan loop(). Disini akan dibahas apa fungsi setup() dan loop() dalam Arduino, dan bagaimana cara menggunakannya.

Logo Arduino

setup()

Fungsi setup() dipanggil ketika sketsa dimulai. Struktur ini berguna untuk menginisialisasi variabel, mode pin, memulai menggunakan library, dll. Fungsi pengaturan hanya akan berjalan sekali, yaitu setiap powerup atau restart board Arduino.

Contoh

int buttonPin = 3;

void setup()

{

Serial.begin(9600);

pinMode(buttonPin, INPUT);

}

void loop()

{

// ...

}

loop()

Setelah menggunakan fungsi setup() yang menginisialisasi dan menetapkan nilai awal, fungsi loop() berguna untuk melaksanakan / mengeksekusi perintah program yang telah dibuat. Fungi ini akan secara aktif mengontrol board Arduino baik membaca input atau merubah output.

Contoh

const int buttonPin = 3;

// inisialisasi serial dan tombol

void setup()

{

Serial.begin(9600);

pinMode(buttonPin, INPUT);

}

// melakukan pengecekan tombol secara berkala,

// dan akan dikirim jika tombol ditekan

void loop()

{

if (digitalRead(buttonPin) == HIGH)

Serial.write('H');

else

Serial.write('L');

delay(1000);

}

Fungsi pinMode(), digitalWrite() dan digitalRead() Digital I/O Arduino

pinMode(), digitalWrite() dan digitalRead() adalah fungsi untuk mengakses input dan output digital pada Arduino. Fungsi ini untuk menyederhanakan perintah yang berhubungan dengan pin I/O board Arduino.

pinMode()

Berfungsi untuk mengkonfigurasi pin tertentu agar berperilaku sebagai input atau output. Lihat deskripsi pin digital untuk rincianya.Pada Arduino 1.0.1, dimungkinkan untuk mengaktifkan resistor pullup internal dengan mode INPUT_PULLUP. Selain itu, mode INPUT eksplisit menonaktifkan pullups intern.

SintaksispinMode(pin, mode)

Parameterpin: Pin yang ingin anda aturModus: INPUT , OUTPUT , atau INPUT_PULLUP (baca: Definisi dan Fungsi Konstanta Bawaan Arduino).

Contoh

int ledPin = 13; // LED terkoneksi dengan digital pin 13

void setup(){pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai output}

void loop(){digitalWrite(ledPin, HIGH); // mengatur LED agar menyaladelay(1000); // tunggu satu detikdigitalWrite(ledPin, LOW); // mengatur LED agar matidelay(1000); // tunggu selama satu detik}

digitalWrite()

Berfungsi untuk memberi nilai HIGH atau LOW ke pin digital. Jika pin telah dikonfigurasi sebagai OUTPUT dengan pinMode(), tegangan akan diatur ke nilai yang sesuai: 5V (atau 3.3V) untuk HIGH, 0V (ground) untuk LOW.Jika pin dikonfigurasi sebagai INPUT, digitalWrite() akan mengaktifkan (HIGH) atau menonaktifkan (LOW) dengan pullup internal pada pin input. Disarankan dalam mengatur pinMode() INPUT_PULLUP untuk mengaktifkan resistor pull-up internal.

CATATAN: Jika Anda tidak mengatur pinMode() ke OUTPUT, dan menghubungkan LED ke pin, saat memanggil fungsi digitalWrite(HIGH), LED mungkin akan tampak redup.

SintaksisdigitalWrite (pin, value)

Parameterpin: nomor pinNilai: HIGH atau LOW

Contoh

int ledPin = 13; // LED terkoneksi dengan digital pin 13

void setup(){pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai output}

void loop(){digitalWrite(ledPin, HIGH); // mengatur LED agar menyaladelay(1000); // tunggu satu detikdigitalWrite(ledPin, LOW); // mengatur LED agar matidelay(1000); // tunggu satu detik}

digitalRead()

Membaca nilai dari pin digital tertentu, baik HIGH atau LOW.

SintaksisdigitalRead(pin)

Parameterpin: Nomor pin yang ingin dibaca (int)

Pengembalian data fungsiHIGH atau LOW

Contoh

int ledPin = 13; // LED terkoneksi dengan digital pin 13int inPin = 7; // pushbutton terkoneksi dengan digital pin 7int val = 0; // variabel untuk menyimpan nilai

void setup(){pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai outputpinMode(inPin, INPUT); // mengatur digital pin sebagai input}

void loop(){val = digitalRead(inPin); // membaca pin inputdigitalWrite(ledPin, val); // mengatur hidup dan mati LED dengan pushbutton}

Definisi dan Fungsi Konstanta Bawaan Arduino

Konstanta Arduino adalah variabel yang telah ditetapkan dalam bahasa pemrograman Arduino. Konstanta ini digunakan untuk membuat program lebih mudah dibaca. Arduino mengklasifikasikan konstanta dalam beberapa kelompok.

Konstanta Arduino

Mendefinisikan Tingkat logis, benar dan salah (Konstanta Boolean)

Ada dua konstanta yang digunakan untuk mewakili benar dan salah untuk pernyataan tertentu dalam bahasa Arduino: true dan false.

falsefalse lebih mudah ditentukan, karena didefinisikan sebagai 0 (nol).

truetrue sering didefinisikan sebagai 1. Tetapi benar memiliki definisi yang lebih luas. Setiap bilangan bulat yang bukan nol adalah benar, dalam arti Boolean. Jadi -1, 2 dan -200 semua didefinisikan sebagai true, juga, dalam arti Boolean.Perhatikan bahwa konstanta true dan false yang diketik dalam huruf kecil tidak seperti HIGH, LOW, INPUT, dan OUTPUT.

Mendefinisikan PIN Level, HIGH dan LOW

Ketika membaca atau menulis pin digital hanya ada dua nilai yang mungkin dapat digunakan yaitu HIGH dan LOW.

HIGHMakna TINGGI (dalam referensi untuk pin) agak berbeda tergantung pada apakah pin diatur ke INPUT atau OUTPUT. Ketika pin dikonfigurasi sebagai INPUT dengan pinMode, dan membaca dengan digitalRead, mikrokontroler akan mendeteksi HIGH jika tegangan input adalah 3 volt atau lebih.Pin juga dikonfigurasi sebagai INPUT dengan pinMode, dan kemudian membuat HIGH dengan digitalWrite, ini akan mengaktifkan internal 20K resistor pullup, yang akan mengarahkan input pin untuk membaca HIGHT kecuali dihubungkan ke ground (LOW) oleh sirkuit eksternal.

LOWMakna LOW juga memiliki arti yang berbeda tergantung pada apakah pin diatur ke INPUT atau OUTPUT. Ketika pin dikonfigurasi sebagai INPUT dengan pinMode, dan membaca dengan digitalRead, mikrokontroler akan mendeteksi LOW jika tegangannya 2 volt atau kurang.Ketika pin dikonfigurasi untuk OUTPUT dengan pinMode, dan set ke LOW dengan digitalWrite, pin berada pada 0 volt.

Mendefinisikan Digital Pin

Pin digital dapat digunakan sebagai INPUT, INPUT_PULLUP, atau OUTPUT. Ketika Mengubah pin dengan pinMode(), maka Anda mengubah perilaku listrik dari pin tersebut.

Pin Dikonfigurasi sebagai INPUTPin Arduino (Atmega) dikonfigurasi sebagai INPUT dengan pinMode() bisa dikatakan sedang dalam keadaan impedansi tinggi. Ketika pin dikonfigurasi sebagai INPUT membuat listrik yang sangat kecil di sirkuit yang mereka sampling, setara dengan resistor seri 100 megohms di depan pin. Hal ini membuat pin tersebut berguna untuk membaca sensor, tapi tidak akan bisa menyalakan LED.

Pin Dikonfigurasi sebagai INPUT_PULLUPChip Atmega pada Arduino memiliki pull-up resistor internal (resistor terhubung ke daya internal) yang dapat Anda akses. Jika memilih untuk mengngatur ini sebagai pengganti resistor pull-down eksternal, Anda dapat menggunakan argumen INPUT_PULLUP di pinMode(). Cara ini secara efektif membalikkan perilaku, di mana HIGH berarti sensor tidak aktif, dan LOW berarti sensor aktif.

Pin Dikonfigurasi sebagai OutputJika pin dikonfigurasi sebagai OUTPUT dengan pinMode(), bisa dikatakan dalam keadaan impedansi rendah. Ini berarti bahwa mereka dapat memberikan sejumlah besar arus ke sirkuit lainnya. Pin atmega dapat menjadi source / VCC (memberikan arus positif) atau shink / ground (menyediakan arus negatif) hingga 40 mA (milliamps) ke perangkat / sirkuit lain. Hal ini membuat pin tersebut berguna untuk menyalakan LED, tetapi tidak berguna untuk membaca

sensor. Pin dikonfigurasi sebagai OUTPUT dapat rusak atau hancur jika terjadi hubungan singkat antara positif dan negatif. Jumlah arus yang disediakan oleh pin Atmega tidak cukup untuk menggerakan relay atau motor, sehingga diperlukan beberapa sirkuit lain seperti motor driver dll.

LED_BUILTIN

Kebanyakan board Arduino memiliki pin yang terhubung ke LED on-board yang di seri dengan resistor. LED_BUILTIN adalah pengganti drop-in yang secara manual menyatakan bahwa pin ini sebagai variabel. Kebanyakan board Arduino yang memiliki LED ini terhubung ke pin digital 13.

Membuat Sistem Minimum ATmega32 Sendiri

Abstrak

ATmega32 merupakan jenis mikrokontroler AVR yang memiliki banyak fungsi dan fasilitas. Pembuatan sistem minimum ini sangat berguna bagi peneliti otomatisasi dan penghobi robotik. Disamping harganya yang murah, pembuatan sistem minimum sangat mudah sehingga cocok untuk pemula yang mau berkembang dalam dunia mikrokotroler.

Keyword: Sistem minimum, ATmega32, Mikrokontroler

Daftar Isi

1. Pendahuluano Pengantar ATmega32 o Pengenalan Komponen Lain o Pengantar Pembuatan PCB dengan Eagle o Pengantar Pembuatan Program dengan CodeVision AVR o Pengantar Pembuatan Program dengan AVR / Atmel Studioo Simulasi dengan ISIS Proteuso Pembuatan PCB dengan ARES Proteuso Mengenal Downloader / Uploader USBTiny o Pengantar Download / Upload Program dengan AVRDude

2. Desain Skematik dan Layout PCBo Sismin ATmega32 Versi 1 o Sismin ATmega32 Versi 2 o Sismin ATmega32 Versi 3

3. Penggunaan Produko Memasukan Program ke Sismin ATmega32

4. Contoh Programo Menyalakan LEDo Blink LED

5. Bantuan (saat ini belum ada masalah dari pembaca)

Pengantar ATmega32 dan Beberapa Kelebihannya

Mikrokontroler AVR ATmega32 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega32 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan.

ATmega32 (Sumber: www.myroboshop.com)

Berikut kelebihan yang dimiliki ATmega32 (Aozon mengambil referensi langsung dari Atmel termasuk datasheet yang diterbitkannya):1. Kinerja Tinggi, Low-Power AVR® 8-bit Microcontroller

Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit AVR RISC-based microcontroller... The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts".

2. Menggunakan Arsitektur RISC

Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC) atau " set instruksi Komputasi yang disederhanakan". 3. Daya Tahan Tinggi dan Segmen Memori Non-Volatile

Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C. 4. Memiliki Antarmuka JTAG (IEEE std. 1149.1 Compliant)

Tidak hanya SPI, ATmega32 memiliki antarmuka JTAG yang memungkinkan pengguna dapat memprogram Flash, EEPROM, Fuse, dan Lock Bits. 5. Memiliki Fitur Perangkat

Mikrokontroler AVR memiliki fitur tambahan yang sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti terdapat ADC, PWM dan Timer.

6. Memiliki Fitur Tambahan

Mikrokontroler ini memiliki fitur menarik yang patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan kalibrasi RC Oscillator internal.

7. Mempunyai 32 jalur Program I/O

ATmega32 mempunyai 32 jalur Program sehingga memungkinkan kita untuk mengontrol lebih banyak device/ perangkat, seperti Tombol/ switch, LED, buzzer dan LCD.

8. Memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt

ATmega32 memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt. Ini sangat membantu kita untuk menghemat listrik. Kecepatan maksimal bisa mencapai 16 MHz (tanpa overclock).

9. Daya yang dibutuhkan ketika aktif hanya 1,1 mA

ATmega32 membutuhkan arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal ini dibuktikan dengan konsumsi daya yang dibutuhkan ketika aktif saja hanya 1,1 mA, bahkan bisa mencapai 1 uA ketika mode power-down.

Komponen yang Digunakan untuk Menyusun USBTiny

Disini dibahas tentang komponen yang digunakan untuk membuat USBTiny ISP Versi 1. Ada beberapa komp...Lanjutkan membaca di tab baru »

Sabtu, 08 Maret 2014

Komponen Dasar Sensor Aen

Sensor Aen terdiri dari komponen dasar elektronik yang banyak tersedia dipasaran sehingga kita tidak...Lanjutkan membaca di tab baru »

Jumat, 07 Maret 2014

Komponen Dasar Aktuator Rij

Aktuator Rij disusun dari bahan yang sederhana dan sangat banyak dipasaran. Aktuator ini merupakan g...Lanjutkan membaca di tab baru »

Kelebihan (Fitur) Mikrokontroler AVR ATmega8

Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (...Lanjutkan membaca di tab baru »

Jumat, 21 Februari 2014

LED Bening Sebagai Sumber Cahaya Line Follower

Gambar 1: LED bening bagus untuk sumber cahaya LF. (Sumber: san-eshop.com. Diakses: 21/02/2014) ...Lanjutkan membaca di tab baru »

Rabu, 22 Januari 2014

Kapasitor Gudangnya Muatan Listrik

Pernahkah kalian memperhatikan sistem distribusi suatu produk dari produsen hingga sampai ke tangan ...

Lanjutkan membaca di tab baru »

Senin, 06 Januari 2014

Resistor itu Aku

Sumber daya listrik memiliki tegangan dan arus yang sangat tinggi, seperti halnya Pembangkit Listrik...Lanjutkan membaca di tab baru »

Pengantar Software Eagle (Skematik dan PCB Layout)

Membuat jalur listrik di papan, menghubungkan prosesor pusat ke komponen lain, hampir semua perangkat elektronik berisi satu atau lebih sirkuit papan (PCB Cetak). Eagle menawarkan kemudahan dalam berbagai aspek, seperti yang dikutip dalam websitenya " EAGLE is easy to learn, easy to use and easy to buy" yang berarti "EAGLE mudah dipelajari, mudah digunakan dan mudah untuk dibeli".

Gambar 1: Skematik editor

Skematik Editor

1. Mencapai 999 sheets per skematik2. Memiliki tampilan icon3. Sorting sheet dengan drag dan drop4. Cross references untuk nets

5. Memanggil cross references secara otomatis6. Simpel dalam copy komponen7. Mengganti komponen tanpa mengganggu konsistansi antara skema dan tata letak8. Otomatis terhubung dan terupdate antara skema dan papan PCB9. Generate board otomatis10. Pemeriksaan jalur secara otomatis11. Pengguna dapat mendefinisikan Net Class untuk ukuran Via, panjang Wire dan Clearance12. Dll

Gambar 2: Layout editor

Layout Editor

1. Ukuran layout bisa mencapai 4 x 4 meter (sekitar 150 x 150 inci)2. Dukungan penuh komponen SMD3. Mendukung Blind dan Buried vias4. Memutar objek / komponen dengan ketelitian 0,1 derajat5. Komponen dapat dikunci agar tidak bergerak6. Teks dapat ditempatkan dalam setiap orientasi7. Perhitungan Dinamis garis sinyal ketika routing8. Memiliki fungsi Magnetic pads9. Trek dapat ditarik dengan sudut bulat di radius apapun10. Pemeriksaan aturan desain layout11. Copper pouring (untuk grounding)12. Dll

Gambar 3: Autorouter Eagle

Autorouter

1. Sepenuhnya terintegrasi ke program dasar2. Routing jaringan mencapai 0,02 mm (sekitar 0,8 mil)3. Mesin dasar untuk Follow-me-router, alat yang mendukung Anda dalam panduan rute; jejak sinyal yang dipilih akan dihitung secara otomatis4. Algoritma Ripup & Retry5. Tidak ada pembatasan penempatan6. Perubahan antara manual dan routing otomatis setiap saat7. Sampai dengan 16 sinyal lapisan8. Dukungan penuh Blind and Buried vias9. Dll

Pengantar CodeVision AVR (CVAVR)

CodeVision AVR berfungsi untuk compiler bahasa C dan digunakan untuk mikrokontroler AVR bahkan sampai XMega (pada saat ini, mungkin kedepannya lebih bagus lagi). CodeVisionAVR merupakan satu-satunya IDE (Integrated Development Environment) yang memiliki GPO (Generator Program Otomatis) (CodeWizardAVR) untuk perangkat XMEGA baru. Jendela sepenuhnya memungkinkan kustomisasi fleksibel untuk ruang kerja pengguna. Panel editor memungkinkan untuk melihat / mengedit dua file pada waktu yang sama.

CodeVision AVR (Sumber: www.hpinfotech.ro)

Keunggulan ini ditulis pada website hpinfotech "High Performance ANSI C Compiler, Integrated Development Environment, Automatic Program Generator and In-System Programmer for the Atmel AVR family of microcontrollers"

Codevision AVR sangat cocok untuk yang baru mengenal Mikrokontroler AVR, karena dimudahkan dengan fitur yang tidak ada pada compiler lain. Namun, karena telah dimanjakan dengan pengaturan yang tinggal klik-klik saja sementara banyak kode program yang belum dikuasai, ini akan membuat kita harus lebih kerja keras jika ingin tahu AVR sampai ke akar-akarnya.

Versi Evaluasi

Software ini hanya dapat dijalankan di OS windows saja, sementara pada OS lain belum bisa, mungkin kedepannya CVAVR mampu bekerja di OS lain selain windows. CVAVR juga dapat digunakan versi trial / evaluasi, dengan beberapa syarat.

Membuat Downloader USBTiny ISP Sendiri

Downloader USBTinyISP sudah sangat familiar dikalangan penghoby Robotik, karena desain yang simpel, pemakaian yang tidak ribet, dan software pendukung yang gratis. Penulis juga memberikan contoh hasil pembuatan Aozon yang telah dimodifikasi dan dijual dengan harga terjangkau, baca: Downloader USBTinyISP, Kode: PAH14DL01.

Daftar Isi

1. Pengantar 2. Apa yang Menarik dari Downloader USBTiny?

o Mudah dalam Pembuatan o Mudah dalam Penggunaan

o Power dan Modifikasi 3. F.A.Q 4. Proses Pembuatan

o Persiapan o Daftar Komponen V1.0 o Skema Rangkaian dan PCB o Proses Penyolderan V1.0

5. Menggunakan Downloadero Panduan Penggunaan Manual o Instal Driver o AVRDude

6. Download File Pendukung 7. Bantuan (saat ini belum ada masalah dari pembaca)

Referensi

Referensi artikel ini tertuju pada Adafruit yang beralamat di URL (learn.adafruit.com/usbtinyisp) yang diposting oleh  Jeff Donaldson, kami hanya menterjemahkan bahasa atas permintaan pembaca.

Menggunakan AVRDude untuk USBTiny ISP

AVRDUDE adalah software untuk memasukan file program (.HEX) yang sangat populer untuk chip AVR. Avrdude versi 5.5 atau lebih tinggi memiliki built-in yang mendukung USBtinyISP! Lihat di bawah instruksi windows dan mac tentang cara menginstal versi yang benar dari AVRDUDE.

Untuk menguji AVRDUDE apakah bekerja dengan benar atau tidak, silahkan buat baris perintah dengan menulis avrdude -c usbtiny-p m8 saat perangkat terpasang (LED hijau menyala).

Gambar 1: Tes USBTiny di AVRDudeAnda harus mendapatkan respon, yang berarti bahwa USBTiny berkomunikasi dengan programmer tetapi gagal menemukan sebuah chip yang terhubung.

Jika perangkat tidak ditemukan, Anda akan mendapatkan respons ini:

Gambar 2: Perangkat tidak terdeteksiAnda dapat mencoba mencabut dan memasangkan kembali (reset dapat membantu) atau memeriksa apakah driver diinstal atau tidak, dll.

Jika Anda menghubungkan programmer dengan target (misalnya target sistem minimum attiny2313 ) dan menjalankan avrdude -c usbtiny-p t2313 Anda akan mendapatkan informasi yang menunjukkan bahwa USBTiny dikomunikasikan dengan baik ke chip.

Gambar 3: Komunikasi sukses antara USBTiny dan Chip targetCara menggunakannya sangat sederhana, dengan menunjukkan usbtiny sebagai programmer, anda tidak perlu mengatur PORT/COM karena sudah dipastikan yang digunakan adalah USB.

Anda dapat menggunakan opsi -B untuk menentukan kecepatan ISP. Secara default nilai kecepatannya adalah 10 yang berarti clocknya adalah 100KHz, ini berguna untuk kecepatan clock target > 500KHz. Jika Anda ingin melakukan clockrate dengan kecepatan tinggi (400kHz) untuk frekuensi target > 4MHz Anda dapat menggunakan "-B 1" untuk mempercepat pemrograman. Untuk menghitung frekuensi SPI dari nilai delay, gunakan rumus ini:

SPI frekuensi clock di KHz = 1000 / (1,5 + B) di mana B adalah nilai delay.

Secara umum, frekuensi clock setidaknya harus 4 kali lebih besar dari frekuensi clock target. Coba "-B 32" jika Anda mengalami masalah clocking, pengaturan ini mampu menangani bahkan 128KHz clock.

Membuat Skematik dan PCB Sismin ATmega32 dari Awal

Artikel ini akan menjelaskan bagaimana cara membuat sistem minimum (sismin) ATmega32 dari awal / dasar. Proses ini sangat mudah dipahami oleh pemula, karena ada beberapa penjelasan, tidak hanya kumpulan sirkuit saja. Hasil akhir proses ini terlihat pada Gambar 1. Kami juga menyediakan file hasil percobaan ini yang dapat Anda download di bawah.

PCB layout sistem minimum ATmega32

Software yang digunakan dalam pembuatan PCB ini adalah EagleCAD. Baca: Pengantar EagleCADSilahkan ikuti langkah-langkah dibawah ini:

1. Siapkan IC ATmega32 Anda. Siapkan pula datasheetnya karena akan membantu pekerjaan Anda. Ingin mengenal ebih jauh tentang ATmega32? silahkan baca: Pengantar ATmega32 dan beberapa kelebihannya.

Gambar 2: Skema ATmega322. Selanjutnya adalah menyiapkan header / socket untuk downloader / uploader program. Anda bisa menyesuaikan jumlah header dengan downloader

yang Anda miliki. Penulis menggunakan header 1 x 6 karena untuk downloader ISP USBTiny. Ingin mengenal lebih jauh dan membuat donwloader USBTiny sendiri? Silahkan baca: Membuat Downloader USBTiny ISP Sendiri

Gambar 3: Memasang socket downloader3. Anda juga perlu menggunakan indikator power agar terlihat, apakah sirkuit berjalan dengan benar atau tidak. Salah satu indikator power yang

sering dipakai adalah LED. Untuk mengenal lebih jauh tentang LED sebagai indikator, silahkan baca: LED sebagai indikator. Pastikan pemasangan LED benar, karena LED memiliki polaritas, baca: Polaritas pada LED.

Gambar 4: Indikator power4. Tahap selanjutnya adalah komponen untuk pengujian program. Untuk mengetahui apakah sirkuit berjalan dengan baik menggunakan program,

gunakan LED dan  hubungkan dengan pin ATmega32. Tahap ini opsional, boleh menggunakan LED langsung pada papan, atau hanya memasang header yang nanti akan dijadikan uji coba pin.

Gambar 5: Komponen penguji

5. Tahap akhir berfungsi untuk menstabilkan sirkuit dari noise. Walaupun sebenarnya ini kurang berpengaruh karena sumber listrik sirkuit ini langsung dari USB komputer, tetapi akan sangat berguna dikemudian hari.

Gambar 6: Komponen penstabil6. Hasil akhir layout PCB terlihat pada Gambar 1.7. Jika anda membutuhkan file Eagle-nya, silahkan klik link download di bawah ini:

Sistem Minimum ATmega32 Lanjutan, Dasar - Menengah

Setelah mencoba membuat sistem minimum dari dasar, baca: Membuat Skematik dan PCB Sismin ATmega32 dari Awal, sekarang Aozon akan membahas tentang sistem minimum lanjutan. Sismin ini merupakan lanjutan dari sismin sebelumnya dan memiliki beberapa komponen tambahan seperti header untuk Pin pada tiap Port dll.

Menambah Header untuk Tiap Pin

Masukan header untuk tiap Port. Gunakan header 1 x 8 pada Port B, C dan D, sedangkan untuk Port A, gunakan header 1 x 10. Tambahkan 1 x 6 header untuk input ataupun output power.

Gambar 1. Penambahan Header tiap Port

Menambah Tombol (Push Button)

Selanjutnya kita akan menambahkan tombol ke dalam sistem minimum ATmega32. Ada dua macam tombol yang akan kita masukan, yaitu: tombol Reset (dihubungkan dengan pin Reset ATmega32) dan tombol Input (dalam latihan ini akan dihubungkan ke Port B2).

Regulator untuk Power dan Jack DC

Dalam masalah power hal yang perlu diperhatikan adalah sumbernya. Jika untuk latihan saja, Anda tidak perlu repot-repot menambahkan Regulator untuk Power atau Jack DC, karena sumber Power sudah disediakan oleh USB Komputer. Tetapi jika Anda memang membutuhkan Power eksternal, tidak salah jika ingin menambahkan Jack DC dan Regulator tersebut.

Kapasitor untuk Reset

Penambahan Kapasitor ini untuk menstabilkan Reset ketika bounce terjadi. Maksudnya adalah peristiwa ketika tombol ditekan, akan ada kesempatan bagi elektron (Mikro) atau listrik (Makro) untuk bergerak dalam kondisi awal. Seperti halnya menyalakan perangkat elektronik misalkan TV, ketika pertama kali menyala, listrik tidak stabil seperti biasanya. Dalam kasus Mikrokontroler sebenarnya tidak begitu sering terjadi karena arus yang mengalir atau yang dibutuhkan tidak sebesar TV.

Menstabilkan Regulator

Bisa ditambah beberapa Kapasitor seperti 10u, 1u, 100n dll. Hal ini sangat berguna meskipun kebanyakan power supply sekarang sudah memiliki pen-stabil internal.

Menambah Kristal Eksternal

Kristal eksternal berfungsi untuk meng-upgrade frekuensi clock ATmega32 sehingga bisa lebih cepat.

Hasil Akhir Layout PCB Sistem Minimum ATmega32

Download File Skematik dan Layout PCB (Eagle)

Silahkan download file yang Aozon buat. File tersebut bukan untuk dijual, karena Anda mendapatkannya pun Gratis. Silahkan sebarluaskan file tersebut dengan tidak merubah hak cipta Aozon