Arduino
Mega 2560 R3 merupakan
sebuah modul mikrokontroller berbasis
ATmega2560. Arduino Mega 2560 R3 memiliki jumlah pin terbanyak dari
semua papan pengembangan Arduino. Pin-pin tersebut bekerja pada tegangan 5V,
dan setiap pin dapat menyediakan atau menerima arus sebesar 20mA, dan memiliki
tahanan pull-up sekitar 20-50k ohm (secara default dalam posisi disconnect).
Nilai maximum adalah 40mA, yang sebisa mungkin dihindari untuk menghindari
kerusakan chip mikrokontroller. Arduino Mega 2560 R3 seperti pada Gambar 1.1 memiliki 54
pin digital input/output, dimana 15 pin dapat digunakan sebagai output PWM 8 bit, 16 pin
sebagai input analog, dan 4 pin sebagai UART (port serial hardware), 16 MHz
kristal osilator, koneksi USB, jack power, header ICSP, dan tombol reset. Ini
semua yang diperlukan untuk mendukung mikrokontroller. Cukup dengan
menghubungkannya ke komputer melalui kabel USB atau power dihubungkan dengan
adaptor AC – DC atau baterai untuk mulai mengaktifkannya. Dari Gambar 1.1, diperlukan supply
tegangan 7-12V agar arduino mega 2560 R3 dapat bekerja. Spesifikasi Arduino
Mega
2560 R3 ditunjukan
pada Tabel 1.1.
Gambar 1.1 Pinout Arduino Mega 2560 R3
Arduino Mega 2560 R3 berbeda dari papan
sebelumnya, karena versi terbaru sudah tidak menggunakan chip driver FTDI
USB-to-serial. Tapi, menggunakan chip Atmega 16U2 (Atmega 8U2 pada papan Revisi
1 dan Revisi 2) yang diprogram sebagai konverter USB-to-serial. Arduino
Mega 2560 R3 memiliki resistor penarik jalur HWB 8U2 ke Ground, sehingga lebih
mudah untuk dimasukkan ke dalam mode DFU.
Arduino Mega 2560 Revisi 3 memiliki
fitur-fitur baru berikut :
1. Pinout
: Ditambahkan pin SDA dan pin SCL yang dekat dengan pin AREF dan dua pin baru
lainnya ditempatkan dekat dengan pin RESET, IOREF memungkinkan shield untuk
beradaptasi dengan tegangan yang tersedia pada papan. Di masa depan, shield
akan kompatibel baik dengan papan yang menggunakan AVR yang beroperasi dengan 5
Volt dan dengan Arduino Due yang beroperasi dengan tegangan 3.3 Volt. Dan ada
dua pin yang tidak terhubung, yang disediakan sebagai spare jika suatu waktu dibutuhkan.
2.
Sirkuit
RESET.
3.
Chip
ATmega16U2 menggantikan chip Atmega 8U2.
Nama
|
Spesifikasi
|
Tegangan
Operasi
|
5V
|
Tegangan
Input (disarankan)
|
7-12V
|
Batas
Tegangan Input
|
6-2OV
|
Pin
Digital I/O
|
54 buah
(di mana 15 pin output PWM)
|
Pin
Analog Input
|
16
|
Arus DC
per I/O Pin
|
20 mA
|
Arus DC
untuk pin 3.3V
|
50 mA
|
Flash
Memory
|
256 KB,
dimana 8 KB digunakan oleh bootloader
|
SRAM
|
8 KB
|
EEPROM
|
4 KB
|
Clock
|
16 MHz
|
Berat
|
37 g
|
Daya dan Proteksi Mikrokontroller Arduino Mega 2560 R3
Arduino Mega dapat diaktifkan
melalui koneksi USB atau dengan catu daya eksternal. Sumber daya dipilih secara
otomatis. Sumber daya eksternal (non-USB) dapat berasal baik dari adaptor AC-DC
atau baterai. Adaptor dapat dihubungkan dengan mencolokkan steker 2,1 mm yang
bagian tengahnya terminal positif ke ke jack sumber tegangan pada papan. Jika
tegangan berasal dari baterai dapat langsung dihubungkan melalui header pin Gnd
dan pin Vin dari konektor POWER.
Papan Arduino ATmega 2560 dapat
beroperasi dengan pasokan daya eksternal 6 Volt sampai 20 volt. Jika diberi
tegangan kurang dari 7 Volt, maka, pin 5 Volt mungkin akan menghasilkan
tegangan kurang dari 5 Volt dan ini akan membuat papan menjadi tidak stabil.
Jika sumber tegangan menggunakan lebih dari 12 Volt, regulator tegangan akan
mengalami panas berlebihan dan bisa merusak papan. Rentang sumber tegangan yang
dianjurkan adalah 7 Volt sampai 12 Volt. Pin tegangan yang tersedia pada papan Arduino adalah sebagai berikut :
- VIN : Adalah input tegangan untuk papan Arduino ketika menggunakan sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui jack power, kita bisa mengakses/mengambil tegangan melalui pin ini.
- 5V : Sebuah pin yang mengeluarkan tegangan ter-regulator 5 Volt, dari pin ini tegangan sudah diatur (ter-regulator) dari regulator yang tersedia (built-in) pada papan. Arduino dapat diaktifkan dengan sumber daya baik berasal dari jack power DC (7-12 Volt), konektor USB (5 Volt), atau pin VIN pada board (7-12 Volt). Memberikan tegangan melalui pin 5V atau 3,3V secara langsung tanpa melewati regulator dapat merusak papan Arduino.
- 3V3 : Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus maksimum yang dihasilkan adalah 50 mA.
- GND : Pin Ground.
- IOREF: Pin ini pada papan Arduino berfungsi untuk memberikan referensi tegangan yang beroperasi pada microcontroller. Sebuah perisai (shield) dikonfigurasi dengan benar untuk dapat membaca pin tegangan IOREF dan memilih sumber daya yang tepat atau mengaktifkan penerjemah tegangan (voltage translator) pada output untuk bekerja pada tegangan 5 Volt atau 3,3 Volt.
Arduino Mega
2560 memiliki polyfuse reset yang melindungi port
USB komputer Anda dari hubungan singkat dan arus lebih. Meskipun pada dasarnya
komputer telah memiliki perlindungan internal pada port
USB mereka sendiri, sekring memberikan lapisan perlindungan tambahan. Jika arus
lebih dari 500 mA dihubungkan ke port USB, sekring secara otomatis
akan memutuskan sambungan sampai hubungan singkat atau overload
dihapus/dibuang.
Input/Output Mikrokontroller Arduino Mega 2560 R3
Masing-masing dari 54 digital pin
pada Arduino Mega dapat digunakan sebagai input atau output, menggunakan fungsi
pinMode() , digitalWrite() , dan digitalRead(). Arduino Mega beroperasi pada
tegangan 5 volt. Setiap pin dapat memberikan atau menerima arus maksimum 40 mA
dan memiliki resistor pull-up internal (yang terputus secara default) sebesar
20 – 50 kilo ohms. Selain itu, beberapa pin memiliki fungsi khusus, antara
lain :
1. Pin Serial : yang digunakan untuk
menerima (RX) dan mengirimkan (TX) data serial TTL. Pin-pin serial RX dan TX
tersebut dapat dilihat pada Tabel 1.2
2.
Eksternal Interupsi : Pin ini dapat dikonfigurasi
untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun,
atau perubah nilai. Pin-pin tersebut dapat dilihat pada Tabel 1.3.
3.
SPI: Pin ini mendukung komunikasi SPI
menggunakan SPI library. Pin SPI juga
terhubung dengan header ICSP, yang secara fisik kompatibel
dengan Arduino Uno, Arduino Duemilanove dan Arduino Diecimila. Pin-pin tersebut dapat dilihat pada Tabel 1.4.
4.
LED: Pin 13. Tersedia secara built-in
pada papan Arduino ATmega LED terhubung ke pin digital 13. Ketika pin diset
bernilai HIGH, maka LED menyala (ON), dan ketika pin diset bernilai LOW, maka
LED padam (OFF).
5.
TWI: Pin 20 (SDA) dan pin 21 (SCL). Yang
mendukung komunikasi TWI menggunakan Wire library.
Perhatikan bahwa pin ini tidak di lokasi yang sama dengan pin TWI pada Arduino
Duemilanove atau Arduino Diecimila.
Nomor Pin
|
Nama Pin
|
Peta Nama
Pin
|
2
|
PE0 (RXD0/PCINT8)
|
Digital pin 0 (RX0)
|
3
|
PE1 (TXD0)
|
Digital pin 1 (TX0)
|
12
|
PH0 (RXD2)
|
Digital pin 17 (RX2)
|
13
|
PH1 (TXD2)
|
Digital pin 16 (TX2)
|
45
|
PD2 (RXDI/INT2)
|
Digital pin 19 (RX1)
|
46
|
PD3 (TXD1/INT3)
|
Digital pin 18 (TX1)
|
63
|
PJ0 (RXD3/PCINT9)
|
Digital pin 15 (RX3)
|
64
|
PJ1 (TXD3/PCINT10)
|
Digital pin 14 (TX3)
|
Nomor Pin
|
Nama Pin
|
Peta Nama
Pin
|
6
|
PE4 (OC3B/INT4)
|
Digital pin 2 (PWM)
|
7
|
PE5 (OC3C/INT5)
|
Digital pin 3 (PWM)
|
43
|
PD0 (SCL/INT0)
|
Digital pin 21 (SCL)
|
44
|
PD1
(SDA/INT1)
|
Digital pin 20 (SDA)
|
45
|
PD2 (RXDI/INT2)
|
Digital pin 19 (RX1)
|
46
|
PD3 (TXD1/INT3)
|
Digital pin 18 (TX1)
|
Nomor Pin
|
Nama Pin
|
Peta Nama
Pin
|
19
|
PB0 (SS/PCINT0)
|
Digital pin 53 (SS)
|
20
|
PB1 (SCK/PCINT1)
|
Digital pin 52 (SCK)
|
21
|
PB2 (MOSI/PCINT2)
|
Digital pin 51 (MOSI)
|
22
|
PB3 (MISO/PCINT3)
|
Digital pin 50 (MISO)
|
Arduino Mega 2560 memiliki 16 pin sebagai analog
input, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang
berbeda). Secara default pin ini dapat diukur/diatur dari mulai Ground sampai
dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan tertinggi atau
terendah mereka menggunakan pin AREF dan fungsi Analog Reference(). Ada
beberapa pin lainnya yang tersedia, antara lain: AREF sebagai Referensi
tegangan untuk input dan RESET sebagai Jalur LOW yang digunakan untuk me-reset
(menghidupkan ulang) microcontroller. Jalur ini biasanya digunakan untuk
menambahkan tombol reset pada shield yang menghalangi papan utama Arduino.
Komunikasi Mikrokontroller Arduino Mega 2560 R3
Arduino Mega 2560
memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, dengan Arduino
lain, atau dengan microcontroller lainnya. Arduino mega 2560 R3 menyediakan 4
hardware komunikasi serial UART TTL (5 Volt). Sebuah chip ATmega 16U2 (ATmega
8U2 pada papan Revisi 1 dan Revisi 2) yang terdapat pada papan digunakan
sebagai media komunikasi serial melalui USB dan muncul sebagai COM Port Virtual
(pada Device komputer) untuk berkomunikasi dengan perangkat lunak pada
komputer, untuk sistem operasi Windows masih tetap memerlukan file inf, tetapi
untuk sistem operasi OS X dan Linux akan mengenali papan sebagai port COM
secara otomatis. Perangkat lunak Arduino termasuk didalamnya serial monitor
memungkinkan data tekstual sederhana dikirim ke dan dari papan Arduino. LED RX
dan TX yang tersedia pada papan akan berkedip ketika data sedang dikirim atau
diterima melalui chip USB-to-serial yang terhubung melalui USB komputer (tetapi
tidak untuk komunikasi serial seperti pada pin 0 dan 1).
Sebuah Software Serial library
memungkinkan untuk komunikasi serial pada salah satu pin digital Mega 2560.
ATmega 2560 juga mendukung komunikasi TWI dan SPI. Perangkat lunak Arduino
termasuk Wirelibrary digunakan untuk menyederhanakan penggunaan bus TWI. Untuk
komunikasi SPI, menggunakan SPI library.
Perangkat Lunak (IDE) Mikrokontroller Arduino Mega 2560 R3
Integrated Development Environment
(IDE) Arduino merupakan aplikasi yang mencakup editor, compiler, dan uploader
dapat menggunakan semua seri modul keluarga Arduino, seperti Arduino
Duemilanove, Uno, Bluetooth, Mega. Kecuali ada beberapa tipe board produksi
Arduino yang memakai microcontroller di luar seri AVR, seperti mikroprosesor
ARM. Saat menulis kode program atau mengkompilasi modul hardware Arduino tidak
harus tersambung ke PC atau Notebook, walaupun saat proses unggahan ke board
diperlukan modul hardware.
IDE Arduino juga memiliki
keterbatasan tidak mendukung fungsi debugging hardware maupun software. Proses
kompliasi IDE Arduino diawali dengan proses pengecekan kesalahan sintaksis
sketch, kemudian memanfaatkan pustaka Proscessing dan avr – gcc sketch
dikompilasi menjadi berkas object, lalu berkas-berkas object digabungkan oleh
pustaka Arduino menjadi berkas biner. Berkas biner ini diunggah ke chip
microcontroller via kabel USB, serial port DB9, atau Serial Bluetooth.
Compiler IDE Ardunino juga
memanfaatkan pustaka open source AVRLibc sebagai standar de-facto pustaka
referensi dan fungsi register microcontroller AVR. Pustaka AVRLibc ini sudah
disertakan dalam satu paket program IDE Arduino. Meskipun demikian, kita tidak
perlu mendefinisikan directive#include dari pustaka AVRLibc pada sketch karena
otomatis compiler me-link pustaka AVRLibc tersebut.
Ukuran
berkas biner HEX hasil kompilasi akan semakin besar jika kode sketch semakin
kompleks. Berkas biner memiliki ekstensi .hex berisi data instruksi program
yang biasa dipahami oleh microcontroller target. Selain itu, port pararel juga
bisa dipakai untuk mengunggah bootloader ke microcontroller. Meskipiun
demikian, cara ini sudah jarang digunakan karena sekarang hampir tidak ada
mainboard PC yang masih menyediakan port pararel, dan pada notebook juga sudah
tidak menyertakan port pararel.