Pengenalan Arduino UNO
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328 (datasheet). Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:
- Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
- Sirkit RESET yang lebih kuat
- Atmega 16U2 menggantikan 8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya, lihat indeks dari board Arduino.
Ringkasan
Mikrokontroler | ATmega328 |
---|---|
Tegangan pengoperasian | 5V |
Tegangan input yang disarankan | 7-12V |
Batas tegangan input | 6-20V |
Jumlah pin I/O digital | 14 (6 di antaranya menyediakan keluaran PWM) |
Jumlah pin input analog | 6 |
Arus DC tiap pin I/O | 40 mA |
Arus DC untuk pin 3.3V | 50 mA |
Memori Flash | 32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader |
SRAM | 2 KB (ATmega328) |
EEPROM | 1 KB (ATmega328) |
Clock Speed | 16 MHz |
Skema dan Referensi Desain
Files EAGLE: arduino-uno-Rev3-design.zip (catatan: bekerja pada Eagle 6.0 dan versi yang lebih baru)
Skema: arduino-uno-Rev3-schematic.pdf
Catatan: Referensi desain Arduino dapat menggunakan sebuah Atmega8, 168, atau 328, model saat ini menggunakan Atmega328, tetapi Atmega8 ditampilkan pada skema sebagai referensi. Konfigurasi pin identik pada semua ketiga prosesor tersebut.
Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis.
Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.
Pin-pin dayanya adalah sebagai berikut:
- VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
- 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak dianjurkan.
- 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.
- GND. Pin ground.
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library).
Input dan Output
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:
- Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
- External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
- PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
- LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
- TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library
- AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().
- Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.
Komunikasi
Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino lainnya atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial komunikasinya melalui USB dan muncul sebagai sebuah port virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver eksternal yang dibutuhkan. Bagaimanapun, pada Windows, sebuah file inf pasti dibutuhkan. Software Arduino mencakup sebuah serial monitor yang memungkinkan data tekstual terkirim ke dan dari board Arduino. LED RX dan TX pada board akan menyala ketika data sedang ditransmit melalui chip USB-to-serial dan koneksi USB pada komputer (tapi tidak untuk komunikasi serial pada pin 0 dan 1).
Sebuah SoftwareSerial library memungkinkan untuk komunikasi serial pada beberapa pin digital UNO.
Atmega328 juga mensupport komunikasi I2C (TWI) dan SPI. Software Arduino mencakup sebuah Wire library untuk memudahkan menggunakan bus I2C, lihat dokumentasi untuk lebih jelas. Untuk komunikasi SPI, gunakanSPI library.
Programming
Arduino UNO dapat diprogram dengan software Arduino (download). Pilih “Arduino Uno dari menu Tools > Board(termasuk mikrokontroler pada board). Untuk lebih jelas, lihat referensi dan tutorial.
ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang memungkinkan kita untuk mengupload kode baru ke ATmega328 tanpa menggunakan pemrogram hardware eksternal. ATmega328 berkomunikasi menggunakan protokol STK500 asli (referensi, file C header)
Kita juga dapat membypass bootloader dan program mikrokontroler melalui kepala/header ICSP (In-Circuit Serial Programming); lihat instruksi untuk lebih jelas
Sumber kode firmware ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi 2) tersedia. ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan dengan:
- Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang board (dekat peta Italy) dan kemudian mereset 8U2
- Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis HWB 8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan ke dalam mode DFU. Kita dapat menggunakan software Atmel’s FLIP (Windows) atau pemrogram DFU (Mac OS X dan Linux) untuk meload sebuah firmware baru. Atau kita dapat menggunakan header ISP dengan sebuah pemrogram eksternal (mengoverwrite bootloader DFU). Lihat tutorial user-contributed ini untuk informasi selengkapnya.
Dari pada mengharuskan sebuah penekanan fisik dari tombol reset sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk direset dengan software yang sedang berjalan pada pada komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 sihubungkan ke garis reset dari ATmega328 melalui sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah), garis reset jatuh cukup panjang untuk mereset chip. Software Arduino menggunakan kemampuan ini untuk memungkinkan kita untuk mengupload kode dengan mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader dapat mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari DTR yang dapat menjadi koordinasi yang baik dengan memulai penguploadan.
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap kali sebuah koneksi dibuat dari software (melalui USB). Untuk berikutnya, setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino UNO diprogram untuk mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan beberapa bit pertama dari data yang dikirim ke board setelah sebuah koneksi dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali konfigurasi atau data lain ketika sketch pertama mulai, memastikan bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan sebelum mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk mengaktifkan kembali. Pad itu diberi label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V ke garis reset; lihat thread forum ini untuk lebih jelasnya.
Proteksi Aruslebih USB
Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian besar komputer menyediakan proteksi internal sendiri, sekring menyediakan sebuah proteksi tambahan. Jika lebih dari 500 mA diterima port USB, sekring secara otomatis akan memutuskan koneksi sampai hubungan pendek atau kelebihan beban hilang.
Karakteristik FIsik
Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke sebuah permukaan atau kotak. Sebagai catatan, bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil dari pin lainnya.
Sumber:
http://arduino.cc/en/Main/ArduinoBoardUno/