2.3 Mikrokontroler Arduino UNO
Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih dahulu apa yang dimaksud dengan physical computing. Physical computing
adalah membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan
dari lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami hubungan yang manusiawi antara lingkungan yang sifat
alaminya adalah analog dengan dunia digital. Pada prakteknya konsep ini diaplikasikan dalam desain- desain alat atau
projek-projek yang
menggunakan sensor
dan microcontroller
untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan
alat-alat elektro-mekanik seperti lampu, motor dan sebagainya. Pembuatan prototype atau prototyping adalah kegiatan yang sangat
penting di dalam proses physical computing karena pada tahap inilah seorang perancang melakukan eksperimen dan uji coba dari berbagai jenis komponen,
ukuran, parameter, program komputer dan sebagainya berulang-ulang kali sampai diperoleh kombinasi yang paling tepat.
Dalam hal ini perhitungan angka-angka dan rumus yang akurat bukanlah satu-satunya faktor yang menjadi kunci sukses di dalam mendesain sebuah alat
karena ada banyak faktor eksternal yang turut berperan, sehingga proses mencoba dan menemukanmengoreksi kesalahan perlu melibatkan hal-hal yang sifatnya
non-eksakta. Prototyping adalah gabungan antara akurasi perhitungan dan seni. Proses prototyping bisa menjadi sebuah kegiatan yang menyenangkan atau
menyebalkan, itu tergantung bagaimana kita melakukannya. Misalnya jika untuk mengganti sebuah komponen, merubah ukurannya atau merombak kerja sebuah
prototype dibutuhkan usaha yang besar dan waktu yang lama, mungkin prototyping akan sangat melelahkan karena pekerjaan ini dapat dilakukan
berulang-ulang sampai puluhan kali – bayangkan betapa frustasinya perancang
yang harus melakukan itu. Idealnya sebuah prototype adalah sebuah sistem yang fleksibel dimana perancang bisa dengan mudah dan cepat melakukan perubahan-
perubahan dan mencobanya lagi sehingga tenaga dan waktu tidak menjadi kendala
Universitas Sumatera Utara
berarti. Dengan demikian harus ada sebuah alat pengembangan yang membuat proses prototyping menjadi mudah.
Pada masa lalu dan masih terjadi hingga hari ini bekerja dengan hardware berarti membuat rangkaian menggunakan berbagai komponen elektronik
seperti resistor,
kapasitor, transistor
dan sebagainya.
Setiap komponen disambungkan secara fisik dengan kabel atau jalur tembaga yang disebut dengan
istilah “ hard wired ” sehingga untuk merubah rangkaian maka sambungan- sambungan itu harus diputuskan dan disambung kembali.
Dengan hadirnya teknologi digital dan microprocessor fungsi yang sebelumnya dilakukan dengan hired wired digantikan dengan program-program
software. Ini adalah sebuah revolusi di dalam proses prototyping. Software lebih mudah diubah dibandingkan hardware, dengan beberapa penekanan tombol kita
dapat merubah logika alat secara radikal dan mencoba versi ke-dua, ke-tiga dan seterusnya dengan cepat tanpa harus mengubah pengkabelan dari rangkaian.
Arduino Uno adalah board mikrokontroler berbasis ATMEGA 328
datasheet. Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator
kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan
Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.:
Uno berbeda dari semua papan sebelumnya dalam hal itu tidak menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega16U2
Atmega8U2 hingga versi R2 diprogram sebagai konverter USB-to-serial.Revisi 2 dari dewan Uno memiliki resistor menarik garis 8U2 HWB ke tanah, sehingga
lebih mudah untuk dimasukkan ke dalam mode DFU. Tabel 1. Ringkasan Arduino UNO
Microcontroller ATmega328
Operating Voltage 5V
InputVoltage 7-12V
Universitas Sumatera Utara
recommended Input Voltage limits
6-20V Digital IO Pins
14 of which 6 provide PWM output Analog Input Pins
6 DC Current per IO Pin
40 Ma DC Current for 3.3V Pin
50 Ma Flash Memory
32 KB ATmega328 of which 0.5 KB used by bootloader
SRAM 2 KB ATmega328
EEPROM 1 KB ATmega328
Clock Speed 16 MHz
Length 68.6 mm
Width 53.4 mm
Weight 25
1. Power
Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan satu daya eksternal. Sumber daya dipilih secara otomatis.Eksternal non-USB dapat di
ambil baik berasal dari AC ke adaptor DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm
konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER.Kisaran kebutuhan daya yang disarankan
untuk board Uno adalah7 sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak stabil kemudian
jikadiberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.
Pin listrik adalah sebagai berikut: VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan
sumber daya eksternal sebagai pengganti dari 5 volt koneksi USB atau sumber daya lainnya.5V. Catu daya digunakan untuk daya mikrokontroler dan komponen
Universitas Sumatera Utara
lainnya3v3. Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board. GND. Ground pin.
2. Memori
ATmega328 memiliki 32 KB dengan 0,5 KB digunakan untuk bootloader, 2 KB dari SRAM dan 1 KB EEPROM yang dapat dibaca dan ditulis
dengan EEPROM liberary.
3. Input dan Output
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode , digitalWrite , dan digitalRead
, beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor secara default terputus
dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus: Serial: 0 RX dan 1 TX. Digunakan untuk menerima RX dan mengirimkan
TX TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.
Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai.
Lihat attachInterrupt fungsi untuk rincian lebih lanjut. PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi
analogWrite . SPI: 10 SS, 11 Mosi, 12 MISO, 13 SCK. Pin ini mendukung komunikasi
SPI menggunakan SPI library. LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai
HIGH, LED on, ketika pin bernilai LOW, LED off. Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-
masing menyediakan 10 bit dengan resolusi yaitu 1024 nilai yang berbeda. Selain itu, beberapa pin memiliki fungsi khusus:
I2C: A4 SDA dan A5 SCL. Dukungan I2C TWI komunikasi menggunakan perpustakaan Wire.
Aref. Tegangan referensi 0 sampai 5V saja untuk input analog. Digunakan dengan fungsi analogReference .
Universitas Sumatera Utara
Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
2.3.1 Arsitektur Mikrokontroler Arduino Uno
Gambar 2.9 Arduino UNO tampak depan
Gambar 2.10 Arduino UNO tampak belakang
Komponen utama di dalam papan Arduino adalah sebuah microcontroller 8 bit dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation .
Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan
ATmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan ATmega2560.
Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller, pada gambar berikut ini diperlihatkan contoh diagram
blok sederhana dari microcontroller ATmega328 dipakai pada Arduino Uno.
Universitas Sumatera Utara
Blok-blok di atas dijelaskan sebagai berikut: Universal Asynchronous ReceiverTransmitter UART adalah antar muka
yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS- 485.
2KB RAM pada memory kerja bersifat volatile hilang saat daya dimatikan, digunakan oleh variable-variabel di dalam program.
32KB RAM flash memory bersifat non-volatile , digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory
juga menyimpan bootloader . UART antar muka serial 2KB RAM memory kerja 32KB RAM Flash memory program
1KB EEPROM CPU Port inputoutput Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU
saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.
1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan
Arduino. Central Processing Unit CPU , bagian dari microcontroller untuk menjalankan
setiap instruksi dari program. Port inputoutput, pin-pin untuk menerima data input digital atau analog, dan mengeluarkan data output digital atau analog.
Setelah mengenal bagian-bagian utama dari microcontroller ATmega sebagai komponen utama, selanjutnya kita akan mengenal bagian-bagian dari
papan Arduino itu sendiri.
Dibawah ini pemetaan pin ATmega168 pada Arduino UNO
Universitas Sumatera Utara
Gambar 2.11 ATMega 168 pin mappping
2.1.2 Fitur ATMega8535 Berikut ini adalah fitur-fitur yang dimiliki oleh Aduino UNO.
1. Dua buah 8 bit counter timer dengan prescaler dan mode pembanding. 2. Satu buah 16 bit counter timer dengan prescaler, mode pembanding dan
mode capture. Real Time Counter dengan on-chip oscillator terpisah. 3. 4 kanal PWM
4. 8 kanal 10-bit ADC. 5. TWI.
6. Programmable serial USART. 7. Maser slave SPI.
8. Programmable Watchdog timer dengan on-chip oscillator terpisah. 9. Power-on reset dan programmable Brown-out detection.
10. Internal RC Oscillator terkalibrasi.
11. Internal dan eksternal Interrupt.
12. 6 mode sleep.
Universitas Sumatera Utara
13. 32 Programmable IO.
14. Tegangan operasi 2.7
– 5.5 V. 15.
Speed grades dengan range 0 – 16 MHz.
2.1.3 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.Port A.
Merupakan 8-bit dua arah bi-directional port IO,dengan menggunakan resistor pull-up internal dimana setiap pinnya dapat diatur per bit. Output buffer
Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A DDRA harus disetting terlebih dahulu
sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu,
kedelapan pin port A juga .selain itu arduino juga memliki kelebihan, sebagai berikut :
Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloader yang akan menangani upload program dari komputer.
Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak memiliki port serialRS323 bisa menggunakan nya.
Universitas Sumatera Utara
Bahasa pemrograman relatif mudah karena software Arduino dilengkapi dengan k
kumpulan library yang cukup lengkapi
2.4 ANALOG TO DIGITAL CONVERTER ADC