Kamis, 30 November 2017

Modul 2

[Home]
[Go to Bottom]

Modul 2
Mikrokontroler Arduino 2560

1. Tujuan [kembali]

a.    Merangkai dan menguji aplikasi output pada mikrokontroller Arduino
b.    Merangkai dan menguji input pada mikrokontroller Arduino 
c.    Merangkai dan menguji I/O pada mikrokontroller Arduino 

2. 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

I.    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
komponen  atau  rangkaian  digital.  Pada  Arduino  Mega  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.

A. LED

LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

B. LCD


berikut penjelasan kakinya yaitu:

C. KEYPAD





Penyusun tombol pada keypad dapat dibuat dari bermacam-macam bahan/komponen, seperti switch metal, switch karbon, dan resistif/kapasitif (touch panel). Penggunaan bahan tersebut disesuaikan dengan kebutuhan akan sensifitas, aksi penekanan, dan kebutuhan akan suatu tombol khusus. Bahan switch metal pada keypad digunakan untuk kebutuhan keypad atau tombol-tombol dengan arus yang besar. Keypad dengan bahan carbon dipakai untuk kebutuhan tombol-tombol dengan arus kecil. Biasanya itu digunakan untuk alat-alat digital yang hanya memilikitegangan 0 dan 5v. Penerapan bahan banyak kita jumpai seperti pada keypad remot tv, remot ac, joy stick, serta masih banyak lainnya.


3. Tugas Pendahuluan [kembali]
     Apabila satu buah switch ON dan tombol 1 ditekan maka LCD menampilkan kata “SATU” LED diubah menjadi 4 buah dengan kondisi hidup mati dengan delai 100 ms, begitu seterusnya

4. Video [kembali]


5. Flowchart [kembali]


6. Listing Program [kembali]
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int row_1=1;
int row_2=6;
int row_3=7;
int row_4=8;
int col_1=9;
int col_2=10;
int col_3=13;
int sw=A0;
int led1=A1;
int led2=A2;
int led3=A3;
int led4=A4;

void setup()
{
  lcd.begin(16,2);
  pinMode(row_1,OUTPUT);
  pinMode(row_2,OUTPUT);
  pinMode(row_3,OUTPUT);
  pinMode(row_4,OUTPUT);
  pinMode(col_1,INPUT);
  pinMode(col_2,INPUT);
  pinMode(col_3,INPUT);
  
  pinMode(sw,INPUT);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
}

void loop()
{
  digitalWrite(col_1,HIGH);
  digitalWrite(col_2,HIGH);
  digitalWrite(col_3,HIGH);
  digitalWrite(row_1,LOW);
  digitalWrite(row_2,LOW);
  digitalWrite(row_3,LOW);
  digitalWrite(row_4,LOW);
if(digitalRead(sw)==1)
{

  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,HIGH);
  digitalWrite(led4,HIGH);
  delay(100);
  digitalWrite(led1,LOW);
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);
  digitalWrite(led4,LOW);
  delay(100);
}

if(digitalRead(col_1)==0)
{
  lcd.clear();
  lcd.print("SATU");
}
}


7. Analisa [kembali]
      Tujuan dari tugas pendahuluan kali ini adalah hubungan dari LCD, LED, Keypad dan switch. Input disini yaitu Keypad dan switch. Inputan keypad tidak akan bekerja jika input switch belum berubah menjadi 1. Inilah yang akan mempengaruhi dari Output pada LCD dan LED. Berdasarkan program, jika switch on ditekan 1 pada keypad maka pada LCD menampilkan kata "SATU" dan LED 4 buah akan hidup mati. Itu sudah sesuai dengan program dimana terdapatnya satu LCD, 4 LED, dan satu buah keypad. Semua ini sudah sangat sesuai antara program dan rangkaian.

8. Link Download [kembali]
    Link Rangkaian, Flowchart, Video, dan Listing : Disini
    Link Html                                        : Disini



Modul 1

[Home]
[Go to Bottom]

Modul 1
Mikrokontroler AT MEGA 128

1. Tujuan [kembali]
a. Merangkai dan menguji output pada mikrokontroller ATMEGA 128 
b. Merangkai dan menguji input pada mikrokontroller ATMEGA 128 
c. Merangkai dan menguji I/O pada mikrokontroller ATMEGA 128 

2. Dasar Teori [kembali] 

A. Mikrokontroller ATMEGA 128

Mikrokontroller ATMEGA 128 merupakan mikrokontroller keluarga AVR yang mempunyai kapasitas flash memori 128KB. AVR (Alf and Vegard’s Risc Processor) merupakan seri mikrokontroler CMOS 8-bit buatan ATEMEL inc, berdasarkan arsitektur RISC (Reduced Instruction Set Computer). Secara umum, AVR dapat terbagi menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga AT-Mega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama. Semua jenis AVR dilengkapi dengan flash memori sebagai memori program. Kapasitas dari flash memori ini berbeda antara chip yang satu dengan chip yang lain. Tergantung dari jenis IC yang digunakan. Untuk flash memori yang paling kecil adalah 1 kbytes (ATtiny11, ATtiny12, dan ATtiny15) dan paling besar adalah 128 kbytes (AT-Mega128). Berikut ini adalah spesifikasi Mikrokontroler AVR ATMega-128 dan konfigurasi pin ATMEGA 128. 

1. Saluran I/O sebanyak 56 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan Port G.
2. ADC 10 bit sebanyak 8 saluran.
3. 2 buah Timer/Counter 8 bit dan 2 buah Timer/Counter 16 bit.
4. Dua buah PWM 8 bit.
5. Watchdog Timer dengan osilator internal.
6. Internal SRAM sebesar 4 kbyte.
7. Memori flash sebesar 128 kBytes.
8. Interupsi Eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 4 kbyte.
11. Real time counter.
12. 2 buah Port USART untuk komunikasi serial.
13. Enam kanal PWM.
14. Tegangan operasi sekitar 4,5 V sampai dengan 5,5V


Konfigurasi pin ATMEGA-128


B. LCD


berikut penjelasan kakinya yaitu:

3. Tugas Pendahuluan [kembali]
     Menampilkan tulisan bergerak dari kiri ke kanan saat menekan salah satu switch

4. Video [kembali]


5. Flowchart [kembali]


6. Listing Program [kembali]

#include <mega128.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#include <alcd.h>

// Declare your global variables here
char kolom = 0;
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
PORTE=0x00;
DDRE=0x00;
PORTF=0x00;
DDRF=0x00;
PORTG=0x00;
DDRG=0x00;
lcd_init(16);

while (1)
      {
      // Place your code here
       for (kolom=0; kolom<=15; kolom++)
       {                               
       if(PINB.0==1)  // keadaan switch 1 aktif high
           { 
            lcd_clear();
            lcd_gotoxy(kolom,0);          
            lcd_putsf("Ini");    // pada lcd akan tampil karakter
            lcd_gotoxy(kolom,1); 
            lcd_putsf("Switch Pertama");
            delay_ms(5);
            } 
       else if(PINB.1==1) // keadaan switch 2 aktif high
          {
          lcd_clear();
          lcd_gotoxy(kolom,0);          
          lcd_putsf("Ini");    // pada lcd akan tampil karakter
          lcd_gotoxy(kolom,1); 
          lcd_putsf("Switch Kedua");
          delay_ms(5);
          }
          }          
      }
}

7. Analisa [kembali]
      Tujuan dari tugas pendahuluan kali ini adalah bagaimana membuat tulisan di LCD bergerak dari kiri ke kanan. Dari program dapat dilihat, terdapat dua kondisi yaitu sw1 hidup sw2 mati dan sw1 mati sw2 hidup. Dalam rangkaian juga hanya terlihat ada dua switch. Dalam program dan rangkaian, hanya dua port yang digunakan yaitu PORT A dan PORT B. Dimana PORT B sebagai input dan PORT A sebagai output. Input disini yaitu keadaan dari switch. Outputnya yaitu berupa tulisan yang bergerak dari kiri ke kanan. 
8. Link Download [kembali]
    Link Rangkaian, Flowchart, Video, dan Listing : Disini
    Link Html                                        : Disini