Pengenalan Arduino UNO
Pengenalan Arduino UNO
INTERFACING
DISUSUN OLEH:
RAHMAWATI : 17.13.2320
JURUSAN/SEMESTER:
MANAJEMEN INFORMATIKA/5
Jl. Raya Leces No. A3, Leces, Sumberkedawung, Leces, Probolinggo, Jawa Timur 67273
(0335) 681497
www.amik-taruna.ac.id
PENGERTIAN ARDUINO
Arduino adalah pengendali mikro single-board yang bersifat open-source, dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang. Hardware dalam arduino
memiliki prosesor Atmel AVR dan menggunakan software dan bahasa sendiri.
Hardware
Hardware dalam arduino memiliki beberapa jenis, yang mempunyai kelebihan dan
kekurangan dalam setiap papannya. Penggunaan jenis arduino disesuaikan dengan kebutuhan,
hal ini yang akan mempengaruhi dari jenis prosessor yang digunakan. Jika semakin kompleks
perancangan dan program yang dibuat, maka harus sesuai pula jenis kontroler yang
digunakan. Yang membedakan antara arduino yang satu dengan yang lainnya adalah
penambahan fungsi dalam setiap boardnya dan jenis mikrokontroler yang digunakan. Dalam
tugas akhir ini, jenis arduino yang digunakan adalah arduino uno.
Arduino Uno Menurut Abdul Kadir (2013 : 16), Arduino Uno adalah salah satu
produk berlabel arduino yang sebenarnya adalah suatu papan elektronik yang mengandung
mikrokontroler ATMega328 (sebuah keping yang secara fungsional bertindak seperti sebuah
komputer). Piranti ini dapat dimanfaatkan untuk mewujudkan rangkaian elektronik dari yang
sederhana hingga yang kompleks. Pengendalian LED hingga pengontrolan robot dapat
diimplementasikan dengan menggunakan papan berukuran relatif kecil ini. Bahkan dengan
penambahan komponen tertentu, piranti ini bisa dipakai untuk pemantauan kondisi pasien di
rumah sakit dan pengendalian alat-alat di rumah. (Sumber: B. Gustomo, 2015 ) .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
Ringkasan
Mikrokontroler ATmega328
Tegangan pengoperasian 5V
Tegangan input yang
7-12V
disarankan
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
32 KB (ATmega328), sekitar 0.5 KB digunakan oleh
Memori Flash
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
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.
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.
Memori
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).
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.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan
10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut
mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas
atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi
lain, beberapa pin mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI
dengan menggunakan Wire library
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)
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.
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.
Semua pin pada Arduino, baik pin digital maupun pin analog, dapat digunakan sebagai pin
digital. Digital berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off, HIGH atau LOW,
ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya bersifat kontinyu, yakni nilai
antara 0 dan 1 dipertimbangkan. Pin digital berarti pin dapat menerima/mengirim sinyal digital.
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan
output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal. Mode
output berarti mengeset pin agar dapat mengirimkan sinyal.
Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di
dalam fungsi setup(). fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]).
Parameter pertama diisi oleh nomor pin, dan parameter kedua diisi oleh konstanta INPUT atau
OUTPUT, sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, lihat pada kode berikut.
void setup()
{
pinMode(1, INPUT); // set pin 1 sebagai pin input
pinMode(2, OUTPUT); // set pin 2 sebagai pin output
}
Digital Input
Pada dasarnya semua pin yang ada pada Arduino (ATMega) berada pada mode input secara
default. Jadi ketika kita ingin menggunakan suatu pin sebagai input, maka kita tidak mesti
menuliskan pinMode(nomorPin, INPUT);.
Untuk menerima input digital yang masuk ke pin, kita gunakan fungsi
digitalRead(nomorPin). Fungsi ini menerima satu parameter, yaitu nomor pin mana yang
akan dibaca nilai inputnya. Fungsi ini akan mengembalikan nilai 1 dan 0, atau HIGH dan
LOW (HIGH adalah konstanta dengan nilai 1 dan LOW adalah konstanta dengan nilai 0).
Digital Output
Sebenarnya pada bagian pembahasan Digital Input di atas, kita sudah mempraktekkan digital
output. Untuk mengirimkan sinyal digital, kita gunakan fungsi digitalWrite(nomorPin,
nilaiDigital). Fungsi ini dapat digunakan pada pin yang sebelumnya sudah diset ke mode
OUTPUT. Parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai
HIGH, maka voltase pin tersebut akan diset ke 5V (atau 3.3V pada board bertipe 3.3V) dan
bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V.Untuk membantu
pemahaman, mari kita coba pada skenario lain. Bahan yang digunakan sama seperti pada
bagian Digital Input di atas, dengan tambahan 1 buah LED dan 1 buah resistor 220 ohm. Buat
rangkaian seperti pada gambar berikut:
Rangkaiannya sama seperti percobaan pertama, dan kita hanya menambah LED saja.
LED atau Light Emitting Diode memiliki dua buah kaki yakni anoda (+) dan katoda (-).
Biasanya kaki anoda atau positif dibuat lebih panjang daripada kaki negatif agar mudah
dikenali. Kaki positif dihubungkan dengan pin 3 melalui resistor 220 ohm. Kaki negatif
dihubungkan dengan GND. Kesalahan pemasangan posisi kaki membuat LED tidak menyala
dan pemasangan LED tanpa menggunakan resistor kemungkinan besar akan membuat LED
kelebihan arus yang menyebabkan LED terbakar dan rusak.
Sekarang kita akan menulis program supaya LED mengedipkan cahaya ketika pushbutton
ditekan dan mati ketika pushbutton dilepas.
void setup() {
// set mode input pada pin untuk button, ga wajib
pinMode(pinButton, INPUT);
void loop() {
// baca nilai pin untuk button
nilaiButton = digitalRead(pinButton);
Variabel pinLed kita set ke 3 karena LED kita terhubung dengan pin 3. Kemudian pada baris
22-25, pada saat button ditekan, kita nyalakan LED dan kita beri jeda selama 0,1 detik (100
milidetik), baru kemudian kita matikan LED dan beri jeda lagi 0,1 detik sebelum
mikrokontroller kembali mengulang pengecekan. Hal ini akan membuat LED terus berkedip
selama pushbutton terus ditekan.
Upload program dan bila kode dan rangkaianmu benar, mestinya rangkaianmu akan berjalan
sesuai rencana.