Tuesday, December 13, 2016

MODUL II Mikrokontroler ARDUINO MEGA 2560





1. Tujuan [kembali]
a.       Mempelajari aplikasi output pada mikrokontroller Arduino
b.      Mempelajari aplikasi input pada mikrokontroller Arduino
c.   Mempelajari aplikasi I/O pada mikrokontroller Arduino

2. Alat dan Bahan [kembali]
          a.    Module Arduino
          b.   Motor Servo
          c.    Seven Segment
          d.   Motor DC
          e.    LCD
          f.    Jumper
          g.   LM35

3. Dasar Teori [kembali]


          Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol yang berbeda-beda. Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain.
Beberapa fitur dari Arduino Mega 2560 ini adalah :
·     Microcontroller                         ATmega2560
·     Operating Voltage                     5V
·     Input Voltage (recommended)  7-12V
·     Input Voltage (limits)                 6-20V  
·     Digital I/O Pins                          54 (of which 15 provide PWM output)
·     Analog Input Pins                      16
·     DC Current per I/O Pin             20 mA
·     DC Current for 3.3V Pin          50 mA
·     Flash Memory                           256 KB of which 8 KB used by bootloader
·     SRAM                                     8 KB
·     EEPROM                                 4 KB
·     Clock Speed                            16 MHz


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBh8H-zbjqZTyhv_UU_-sbcI7_CetimbCQ69kk1dI3pxb5kpmzbYOA5P7dyGeZ5YUsqXRHSv29oUSojUL56ROl5ocGRAXpMnVRYBRKWuxxStt9SXfGcFpkcMjkesME1kr9cOuwAZhWsfc/s1600/arduino.jpg

 Konfigurasi pin ARDUINO MEGA 2560


BAGIAN-BAGIAN DARI ARDUINO MEGA 2560

Soket USB 
     Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop. Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial. 
Input / Output Digital 
      Input output digital atau digital pin adalah pin- pin untuk menghubungkan Arduino dengan komponenatau rangkaian digital. Pada Arduino Mega 2560 terdapat 53 I/O digital dimana 16 diantaranya dapat dijadikan sebagai output PWM.

Input Analog
  
       Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb. Terdapat 16 input analog pada arduino mega 2560. 
Pin POWER 
     Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset.Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor.

Tombol RESET 
      Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal.


Jack Baterai/Adaptor 
      Soket baterai  atau adaptor digunakan untuk menyuplai Arduino dengan tegangan  dari  baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino.


TEORI KOMPONEN 

a. Keypad

 
 KEYPAD


Keypad merupakan komponen elektronik yang digunakan sebagai masukan, disusun dari beberapa tombol/switch dengan teknik matrix. Pada praktikum kali ini, saya menggunakan Keypad 3x4 dimana terdiri atas 3 Kolom dan 4 Baris. Dimana Keypad disini berfungsi sebagai input/masukan pada praktikum saya kali ini. Proses scaning untuk membaca penekanan tombol pada matrix keypad dilakukan secara bertahap kolom demi kolom dari pertama sampai kolom ke 3 dan baris ke 4. Misal di asumsikan keypad aktif LOW dan dihubungkan ke port mikrokontroller dengan jalur kolom adalah jalur input dan jalur baris adalah jalur output maka proses scanning matrix dapat dituliskan sebagai berikut : 
·   Mengirimkan logika Low untuk kolom 1 dan logika high untuk kolom yang lain kemudian membaca data baris.Misal tombol SW1 ditekan maka data baris pertama akan Low sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data barus ke 2 Low sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 ditekan maka data yang dibaca adalah 1110 atau tidak ada tombol pada kolom pertama yang ditekan maka data pembacaan baris akan 1111.
·  Mengirimkan logika Low untuk kolom 2 dan logika High untuk kolom yang lain kemudian membaca data baris.
b. LCD (Liquid Cristal Display)
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.

Material LCD (Liquid Cristal Display) LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan

Contoh Bentuk LCD (Liquid Cristal Display)
LCD ( Liquid Cristal Display)
 
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah : Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

LCD (Liquid Cristal Display)

Read more at: http://elektronika-dasar.web.id/lcd-liquid-cristal-display/
Copyright © Elektronika Dasar
LCD (Liquid Cristal Display)

Read more at: http://elektronika-dasar.web.id/lcd-liquid-cristal-display/
Copyright © Elektronika Dasar
LCD (Liquid Cristal Display)

Read more at: http://elektronika-dasar.web.id/lcd-liquid-cristal-display/
Copyright © Elektronika Dasar
LCD (Liquid Cristal Display)

Read more at: http://elektronika-dasar.web.id/lcd-liquid-cristal-display/
Copyright © Elektronika Dasar
4. Hardware [kembali]

Menampilkan Karakter Pada LCD
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti gambar dibawah
3. Buatlah listing program yang telah ada pada modul.
4. Hidupkan supply pada modul
5. Upload program pada rangkaian
6. Tekan tombol Reset
7. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
8. Jika sesuai, maka selesai dan demokan pada instruktur atau asisten yang mengawas
9. Matikan supply pada modul

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBh8H-zbjqZTyhv_UU_-sbcI7_CetimbCQ69kk1dI3pxb5kpmzbYOA5P7dyGeZ5YUsqXRHSv29oUSojUL56ROl5ocGRAXpMnVRYBRKWuxxStt9SXfGcFpkcMjkesME1kr9cOuwAZhWsfc/s1600/arduino.jpg

 Hardware ARDUINO MEGA 2560

5. Rangkaian Simulasi [kembali]

 Rangakaian Percobaan ARDUINO MEGA 2560 Kondisi LCD-15
Prinsip Kerja
Rangkaian terdiri dari LCD dan Keypad dengan menggunakan mikrokontroller ARDUINO MEGA 2560. Dimana, LCD 16x2 terhubung ke PIN  (12, 11, 7, 6, 5, 4) dan Keypad terhubung ke PIN 14, 15, 16, 17 untuk Baris dan PIN 18, 19, 20 untuk Kolom. Pertama untuk menjalankan simulasi klik tombol PLAY. Untuk memulai operasi maka ditekan tombol RESET, sedangkan untuk memberikan CLOCK dapat menggunakan rangkaian antara crystal dan dua kapasitor sebagai penghasil sinyal clock ( 0 dan 1 ) dengan frekuensi yang digunakan adalah 16 MHz. Setelah itu, apabila ditekan tombol 4 (case "4") , maka LCD akan menampilkan tulisan "Semangat Ya" dari Kanan ke Kiri dan akan hidup sebagian LED dan lainnya akan hidup mati, dimana setiap pergantian kondisi LED akan ada delay yaitu dengan delay 100 ms.

6. Flowchart [kembali]
Flowchart Percobaan ARDUINO MEGA 2560 Kondisi LCD-15

#include <mega128.h>                                    //sebagai library menggunakan atmega128
#include <delay.h>                                         //library untuk megaktifkan delay

void main(void)      //sebagai fungsi untuk tempat inisialisasi kondisi port (aktif high/low dan sebagai input/output
{                                                                  //pembuka program
PORTA=0X00;                                             //kondisi awal PORTA = 0
DDRA=0X00;                                              //PORTA sebagai input
PORTD=0X00;                                            //kondisi awal PORTD = 0
DDRD=0XFF;                                             //PORTD sebagai output


while(1) //tempat pembuatan logika program dengan membaca program yang dibuat berulang-ulang dengan kondisi 1
{                                                                //pembuka program
if (PINA.7== 1){                                       //jika kondisi switch pada pin 5 dalam keadaan aktif  high
  PORTD=0X3F; delay_ms(100);                 //muncul angka 0 pada 7 segment dengan delay 100ms
 PORTD=0X06; delay_ms(100);                 //muncu langka 1 pada 7 segment dengan delay 100ms
  PORTD=0X5B; delay_ms(100);                //muncul angka 2 pada 7 segment dengan delay 100ms
 PORTD=0X4F; delay_ms(100);                 //muncul angka 3 pada 7 segment dengan delay 100ms
 PORTD=0X66; delay_ms(100);                 //muncul angka 4 pada 7 segment dengan delay 100ms
  PORTD=0X6D; delay_ms(100);                //muncul angka 5 pada 7 segment dengan delay 100ms
  PORTD=0X7D; delay_ms(100);                //muncul angka 6 pada 7 segment dengan delay 100ms
  PORTD=0X07; delay_ms(100);                 //muncul angka 7 pada 7 segment dengan delay 100ms
  PORTD=0X7F; delay_ms(100);                 //muncul angka 8 pada 7 segment dengan delay 100ms
 PORTD=0X6F; delay_ms(100);                 //muncul angka 9 pada 7 segment dengan delay 100ms
  }                                                              // penutup program IF
}                                                                //penutup program Perulangan
}                                                                //penutup program



9. Kondisi [kembali]

15. Apabila ditekan tombol 4 (case "4") , maka LCD akan menampilkan tulisan "Semangat Ya" dari Kanan ke Kiri dan akan hidup sebagian LED dan lainnya akan hidup mati, dimana setiap pergantian kondisi LED akan ada delay yaitu dengan delay 100 ms.
10. LInk Download [kembali]
File Program - Download
File Proteus - Download
File HTML - Download
File Video - Download