• Tidak ada hasil yang ditemukan

H. Sensor Suhu

2.5 Arduino UNO R3

Arduino Uno R3 adalah papan pengembangan (development board) mikrokontroler yang berbasis chip ATmega328P. Disebut sebagai papan pengembangan karena board ini memang berfungsi sebagai arena prototyping sirkuit mikrokontroller. Dengan menggunakan papan pengembangan, anda akan lebih mudah merangkai rangkaian elektronika mikrokontroller dibanding jika anda memulai merakit ATMega328 dari awal di breadboard.

Arduino UNO adalah papan mikrokontroler, berdasarkan ATmega8 / 168/328, UNO R3 mayor di ATmega328. Arduino UNO R3 memiliki 14 pin input / output digital (yang mencakup sekitar 6 pin output PWM), 6 input analog dan satu resonator keramik 16MHz, satu koneksi USB dan Power jack, sebuah header ICSP (In Circuit Serial Programming) (seperti MAX232, pemrograman RS232). Hal tersebut adalah semua yang diperlukan untuk mendukung sebuah rangkaian mikrokontroler. Cukup dengan menghubungkannya ke komputer dengan kabel USB atau diberi power dengan adaptor AC-DC atau baterai, anda sudah dapat bermain-main dengan Arduino UNO anda tanpa khawatir akan melakukan sesuatu yang salah.

Kemungkinan paling buruk hanyalah kerusakan pada chip ATMega328, yang bisa anda ganti sendiri dengan mudah dan dengan harga yang relatif murah.

Kata " Uno " berasal dari bahasa Italia yang berarti "satu", dan dipilih untuk menandai peluncuran Software Arduino (IDE) versi 1.0. Arduino. Sejak awal peluncuran hingga sekarang, Uno telah berkembang menjadi versi Revisi 3 atau

biasa ditulis REV 3 atau R3. Software Arduino IDE, yang bisa diinstall di Windows maupun Mac dan Linux, berfungsi sebagai software yang membantu anda memasukkan (upload) program ke chip ATMega328 dengan mudah.

Gambar 2.4 Tampilan depan dan belakang Arduino Tabel 2.1 Spesifikasi Arduino Uno

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O 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

Pemrograman board Arduino dilakukan dengan menggunakan Arduino Software (IDE) yang bisa anda dapatkan gratis disini. Chip ATmega328 yang terdapat pada Arduino Uno R3 telah diisi program awal yang sering disebut bootloader. Bootloader tersebut yang bertugas untuk memudahkan anda melakukan pemrograman lebih sederhana menggunakan Arduino Software, tanpa harus menggunakan tambahan hardware lain. Cukup hubungkan Arduino dengan kabel USB ke PC atau Mac/Linux anda, jalankan software Arduino Software (IDE), dan anda sudah bisa mulai memrogram chip ATmega328. Lebih mudah lagi, di dalam Arduino Software sudah diberikan banyak contoh program yang memanjakan anda dalam belajar mikrokontroller. Untuk pengguna mikrokontroller yang sudah lebih mahir, anda dapat tidak menggunakan bootloader dan melakukan pemrograman langsung via header ICSP (In Circuit Serial Programming) dengan menggunakan

Arduino ISP. Arduino Uno R3 telah dilengkapi dengan chip ATmega16U2 yang telah diprogram sebagai konverter USB to Serial.

Gambar 2.5 Mikrokontroler atmega328

Proteksi Development board Arduino Uno R3 telah dilengkapi dengan polyfuse yang dapat direset untuk melindungi port USB komputer/laptop anda dari korsleting atau arus berlebih. Meskipun kebanyakan komputer telah memiliki perlindungan port tersebut didalamnya namun sikring pelindung pada Arduino Uno memberikan lapisan perlindungan tambahan yang membuat anda bisa dengan tenang menghubungkan Arduino ke komputer anda. Jika lebih dari 500mA ditarik pada port USB tersebut, sirkuit proteksi akan secara otomatis memutuskan hubungan, dan akan menyambung kembali ketika batasan aman telah kembali.

Power Supply Board Arduino Uno dapat ditenagai dengan power yang diperoleh dari koneksi kabel USB, atau via power supply eksternal. Pilihan power yang digunakan akan dilakukan secara otomatis External power supply dapat diperoleh dari adaptor AC-DC atau bahkan baterai, melalui jack DC yang tersedia, atau menghubungkan langsung GND dan pin Vin yang ada di board. Board dapat beroperasi dengan power dari external power supply yang memiliki tegangan antara 6V hingga 20V. Namun ada beberapa hal yang harus anda perhatikan dalam rentang tegangan ini. Jika diberi tegangan kurang dari 7V, pin 5V tidak akan memberikan nilai murni 5V, yang mungkin akan membuat rangkaian bekerja dengan tidak sempurna. Jika diberi tegangan lebih dari 12V, regulator tegangan bisa over heat yang pada akhirnya bisa merusak pcb. Dengan demikian, tegangan yang di rekomendasikan adalah 7V hingga 12V. Beberapa pin power pada Arduino Uno :

GND. Ini adalah ground atau negatif.

Vin. Ini adalah pin yang digunakan jika anda ingin memberikan power langsung ke board Arduino dengan rentang tegangan yang disarankan 7V - 12V

Pin 5V. Ini adalah pin output dimana pada pin tersebut mengalir tegangan 5V yang telah melalui regulator

3V3. Ini adalah pin output dimana pada pin tersebut disediakan tegangan 3.3V yang telah melalui regulator

IOREF. Ini adalah pin yang menyediakan referensi tegangan mikrokontroller.

Biasanya digunakan pada board shield untuk memperoleh tegangan yang sesuai, apakah 5V atau 3.3V

Memori Chip ATmega328 pada Arduino Uno R3 memiliki memori 32 KB, dengan 0.5 KB dari memori tersebut telah digunakan untuk bootloader. Jumlah SRAM 2 KB, dan EEPROM 1 KB, yang dapat di baca-tulis dengan menggunakan EEPROM library saat melakukan pemrograman.

Komunikasi Arduino Uno R3 memiliki beberapa fasilitas untuk berkomunikasi dengan komputer, berkomunikasi dengan Arduino lainnya, atau dengan mikrokontroller lain nya. Chip Atmega328 menyediakan komunikasi serial UART TTL (5V) yang tersedia di pin 0 (RX) dan pin 1 (TX). Chip ATmega16U2 yang terdapat pada board berfungsi menterjemahkan bentuk komunikasi ini melalui USB dan akan tampil sebagai Virtual Port di komputer. Firmware 16U2 menggunakan driver USB standar sehingga tidak membutuhkan driver tambahan.

Pada Arduino Software (IDE) terdapat monitor serial yang memudahkan data textual untuk dikirim menuju Arduino atau keluar dari Arduino. Led TX dan RX akan menyala berkedip-kedip ketika ada data yang ditransmisikan melalui chip USB to Serial via kabel USB ke komputer. Untuk menggunakan komunikasi serial dari digital pin, gunakan SoftwareSerial library. Chip ATmega328 juga mendukung komunikasi I2C (TWI) dan SPI. Di dalam Arduino Software (IDE) sudah termasuk Wire Library untuk memudahkan anda menggunakan bus I2C. Untuk menggunakan komunikasi SPI, gunakan SPI library.

Reset Otomatis (software) Biasanya, ketika anda melakukan pemrograman mikrokontroller, anda harus menekan tombol reset sesaat sebelum melakukan upload program. Pada Arduino Uno, hal ini tidak lagi merepotkan anda. Arduino Uno telah dilengkapi dengan auto reset yang dikendalikan oleh software pada komputer yang terkoneksi. Salah satu jalur flow control (DTR) dari ATmega16U pada Arduino Uno R3 terhubung dengan jalur reset pada ATmega328 melalui sebuah kapasitor 100nF.

Ketika jalur tersebut diberi nilai LOW, mikrokontroller akan di reset. Dengan demikian proses upload akan jauh lebih mudah dan anda tidak harus menekan tombol reset pada saat yang tepat seperti biasanya.

Seperti yang telah disebutkan sebelumnya, Arduino Uno memiliki 14 buah digital pin yang dapat digunakan sebagai input atau output, sengan menggunakan fungsi pinMode(), digitalWrite(), dan digital(Read). Pin-pin tersebut bekerja pada tegangan 5V, dan setiap pin dapat menyediakan atau menerima arus 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.

Beberapa pin memiliki fungsi khusus :

Serial, terdiri dari 2 pin : pin 0 (RX) dan pin 1 (TX) yang digunakan untuk menerima (RX) dan mengirim (TX) data serial.

External Interrups, yaitu pin 2 dan pin 3. Kedua pin tersebut dapat digunakan untuk mengaktifkan interrups. Gunakan fungsi attachInterrupt()

PWM: Pin 3, 5, 6, 9, 10, dan 11 menyediakan output PWM 8-bit dengan menggunakan fungsi analogWrite()

SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), dan 13 (SCK) mendukung komunikasi SPI dengan menggunakan SPI Library

LED : Pin 13. Pada pin 13 terhubung built-in led yang dikendalikan oleh digital pin no 13.

TWI : Pin A4 (SDA) dan pin A5 (SCL) yang mendukung komunikasi TWI dengan menggunakan Wire Library

Arduino Uno memiliki 6 buah input analog, yang diberi tanda dengan A0, A1, A2, A3, A4, A5. Masing-masing pin analog tersebut memiliki resolusi 10 bits (jadi bisa memiliki 1024 nilai). Secara default, pin-pin tersebut diukur dari ground ke 5V, namun bisa juga menggunakan pin AREF dengan menggunakan fungsi analog.

Beberapa in lainnya pada board ini adalah :

AREF. Sebagai referensi tegangan untuk input analog.

Reset. Hubungkan ke LOW untuk melakukan reset terhadap mikrokontroller.

Sama dengan penggunaan tombol reset yang tersedia.

2.6 LCD (Liquid Cristal Display)

Berfungsi untuk menampilkan karakter angka, huruf ataupun simbol dengan lebih baik dan dengan konsumsi arus yang rendah. LCD (Liquid Cristal Display) dot matrik M1632 merupakan modul LCD buatan hitachi. Modul LCD (Liquid Cristal Display) dot matrik M1632 terdiri dari bagian penampil karakter (LCD) yang berfungsi menampilkan karakter dan bagian sistem prosesor LCD dalam bentuk modul dengan mikrokontroler yang diletakan dibagian belakan LCD tersebut yang berfungsi untuk mengatur tampilan LCD serta mengatur komunikasi antara LCD dengan mikrokontroler yang menggunakan modul LCD tersebut. LCD M1632 merupakan modul LCD dengan tampilan 2×16 (2 baris x 16 kolom) dengan konsumsi daya rendah. DB0 – DB7 adalah jalur data (data bus) yang berfungsi sebagai jalur komunikasi untuk mengirimkan dan menerima data atau instruksi dari mikrokontrooler ke modul LCD.

1. RS adalah pin yang berfungsi sebagai selektor register (register sellect) yaitu dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data.

2. R/W adalah pin yang berfungsi untuk menentukan mode baca atau tulis dari data yang terdapat pada DB0 – DB7. Yaitu dengan memberikan logika low (0) untuk fungsi read dan logika high (1) untuk mode write.

3. Enable (E), berfungsi sebagai Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data.

Gambar 2.6 Baris LCD

Penulisan data ke Register Perintah dilakukan dengan tujuan mengatur tampilan LCD, inisialisasi dan mengatur Address Counter maupun Address Data.

Kondisi RS berlogika 0 menunjukkan akses data ke Register Perintah. RW berlogika 0 yang menunjukkan proses penulisan data akan dilakukan. Nibble tinggi (bit 7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock.Kemudian Nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawali pulsa logika 1 pada E Clock lagi. Untuk mode 8 bit interface, proses penulisan dapat

langsung dilakukan secara 8 bit (bit 7 … bit 0) dan diawali sebuah pulsa logika 1 pada E Clock. Pembacaan Data Register Perintah LCD (Liquid Cristal Display) M1632. Proses pembacaan data pada register perintah biasa digunakan untuk melihatstatus busy dari LCD atau membaca Address Counter.

RS diatur pada logika 0 untuk akses ke Register Perintah, R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. Tiga bit nibble tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca dengan diawali pulsa logika 1 pada E Clock. Untuk Mode 8 bit interface, pembacaan 8 bit (nibble tinggi dan rendah) dilakukan sekaligus dengan diawali sebuah pulsa logika 1 pada E Clock.Penulisan data pada Register Data dilakukan untuk mengirimkan data yang akan ditampilkan pada LCD. Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke Register Data, kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan data.Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali pulsa logika 1 pada sinyal E Clock.

Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses pembacaan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock. LCD yang umum, ada yang panjangnya hingga 40 karakter (2×40 dan 4×40), dimana kita menggunakan DDRAM untuk mengatur tempat penyimpanan karakter tersebut.

2.6.1 Susunan Alamat Pada LCD

Dari gambar dibawah ini dapat diketahui, driver LCD seperti HD44780 memiliki dua register yang aksesnya diatur menggunakan pin RS. Pada saat RS berlogika 0, register yang diakses adalah perintah, sedangkan pada saat RS berlogika 1, register yang diakses adalah register data.

Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang digunakan 2×16 atau 2×24, atau bahkan 2×40, maka penulisan programnya sama

saja.CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.

Gambar 2.7 Susunan kaki pada LCD

BAB 3

Dokumen terkait