*klik teks untuk menuju
MODUL II
MIKROKONTROLLER 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
a. Module Arduino
b. LCD
c. LED
d. Seven Segment
e. Buzzer
f. LCD
g. Motor servo
g. Motor servo
h. Jumper
i. Sensor LM35
j. Keypad
k. Sensor Ultrasonic
l. Dot matrix
i. Sensor LM35
j. Keypad
k. Sensor Ultrasonic
l. Dot matrix
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.B. 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.
C. SEVENT SEGMENT
Layar tujuh segmen ini seringkali digunakan pada jam digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan informasi numerik. Layar tujuh segmen ini terdiri dari 7 buah LED yang
membentuk angka 8 dan 1 LED untuk titik/DP. Angka yang ditampilkan di
seven segmen ini dari 0-9. Cara kerja dari seven segmen disesuaikan
dengan LED. LED merupakan komponen diode yang dapat memancarkan cahaya.
kondisi dalam keadaan ON jika sisi anode mendapatkan sumber positif dari
Vcc dan katode mendapatkan sumber negatif dari ground.
Berdasarkan cara kerjanya, tujuh segmen dibagi menja
D. BUZZER
Buzzer
adalah sebuah komponen elektronika yang berfungsi untuk mengubah
getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja
buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari
kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut
dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik
ke dalam atau keluar, tergantung dari arah arus dan polaritas
magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan
kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat
udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan
sebagai indikator bahwa proses telah selesai atau terjadi suatu
kesalahan pada sebuah alat (alarm)
E. LCD
berikut penjelasan kakinya yaitu:
F. JUMPER
Sebagai konektor antar modul satu dengan modul lainnya
G. MOTOR STEPPER
(Motor stepper )mengubah pulsa-pulsa listrik yang diberikan menjadi
gerakan-gerakan diskrit rotor yang disebut langkah (steps). Nilai rating
dari suatu motor stepper diberikan dalam langkah per putaran (steps per
revolution). Motor stepper umumnya mempunyai kecepatan dan [torsi] yang
rendah.
Motor stepper bekerja berdasarkan pulsa-pulsa yang diberikan pada
lilitan fasenya dalam urut-urutan yang tepat. Selain itu, pulsa-pulsa
itu harus juga menyediakan arus yang cukup besar pada lilitan fase
tersebut. Karena itu untuk pengoperasian motor stepper pertama-tama
harus mendesain suatu sequencer logic untuk menentukan urutan pencatuan
lilitan fase motor dan kemudian menggunkan suatu penggerak (driver)
untuk menyediakan arus yang dibutuhkan oleh lilitan fase
H. SENSOR LM35
Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal Semiconductor yang berfungsi untuk mengetahui temperature suatu objek atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan sebagai komponen elektronika yang berfungsi untuk mengubah perubahan temperature yang diterima dalam perubahan besaran elektrik.
I. 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.
J. SENSOR ULTRASONIC
Sensor ultrasonik PING terdiri dari tiga bagian utama yaitu :
- Transmitter Gelombang Ultrasonik
- Receiver Gelombang Ultrasonik
- Rangkaian kontrol
Transmitter
berfungsi sebagai pemancar gelombang ultrasonik. Gelombang yang
dipancarkan memiliki frekuensi 40KHz. Gelombang ini akan dipancarakan
dengan kecepatan 344.424m/detik atau 29.034uS per centimeter. Jika
didepan terdapat halangan atau objek maka gelombang tersebut akan
memantul. Pantulan gelombang akan dideteksi oleh receiver. Rangkaian
kontrol akan mendeteksi pantulan gelombang dan menghitung lama waktu
saat gelombang dipancarkan dan gelombang terdeteksi pantulannya. Lama
waktu pemantulan gelombang ini akan dikonversi menjadi sinyal digital
dalam bentuk pulsa. Sinyal inilah yang nantinya diolah oleh
mikrokontroler atau mikroprosesor sehingga didapat nilai jarak antara
objek dan sensor. Nilai jarak dapat diperoleh melalui rumus berikut ini :
Jarak (cm) = Lama Waktu Pantul (uS) / 29.034 / 2
Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan
gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi
dua kali jarak tempuh antara sensor dengan objek. Yaitu pada saat
gelombang dipancarkan dari transmitter ke objek dan pada saat gelombang
memantul ke receiver ultrasonik.
K. DOTMATRIX
Dot matrix adalah susunan titik-titik dua dimensi yang digunakan untuk menampilkan karakter-karakter, simbol atau gambar. Dahulu dot matrix digunakan pada printer-printer tua dan banyak perangkat tampilan digital. Pada printer, titik-titik tersebut adalah daerah yang diredupkan. Sedangkan pada display, titik-titik tersebut adalah daerah yang bercahaya. Sebagaimana pada LED atau CRT display cara kerjanya titik-titik yang sebelumnya mati, bercahaya sesuai sesuai obyek yang diinginkan.
Dot
matrix banyak digunakan untuk menampilkan informasi pada mesin-mesin,
jam, indikator keberangkatan kereta api dan perangkat lainnya yang
membutuhkan display sederhana untuk resolusi yang terbatas. Display ini
terdiri dari LED yang tersusun secara matrix berbentuk segi empat
(bentuk selain segi empat juga ada) sehingga dengan menyalakan/mematikan
lampu yang diinginkan, teks atau grafik yang dapat ditampilkan.
Pengendali dot matrix mengkonversi instruksi dari decoder ke dalam
sinyal elektris yang dapat menyalakan atau mematikan lampu sehingga
tampilan yang diinginkan dapat terjadi.
4. Tugas Pendahuluan [kembali]
Pada rangkaian diatas merupakan pengaplikasian arduino diamana keypad sebagai input dan LCD dan LED sebagai output atau indikator dari input yang telah diberikan arduino menjalankan perintah sesuai dengan program yang yang telah dirancang dengam menggunakan bahasa pemograman arduino
5. Video Simulasi [kembali]
6. Rangkaian Flowchart [kembali]
7. Listing Program [kembali]
Pada rangkaian diatas merupakan pengaplikasian arduino diamana keypad sebagai input dan LCD dan LED sebagai output atau indikator dari input yang telah diberikan arduino menjalankan perintah sesuai dengan program yang yang telah dirancang dengam menggunakan bahasa pemograman arduino
5. Video Simulasi [kembali]
6. Rangkaian Flowchart [kembali]
7. Listing Program [kembali]
#include <Keypad.h>
#include <LiquidCrystal.h>
int led3 = 10;
int led1 = 8;
int led2 = 9;
int led4 = 13;
int switchh = 53;
const int PIN_RS = 12;
const int PIN_E = 11;
const int PIN_D4 = 7;
const int PIN_D5 = 6;
const int PIN_D6 = 5;
const int PIN_D7 = 4;
LiquidCrystal lcd(PIN_RS,PIN_E, PIN_D4,
PIN_D5, PIN_D6, PIN_D7);
const int BARIS = 4; // 4 Baris
const int KOLOM = 3; // 3 Kolom
// Menyatakan tombol-tombol keypad
char tombol[BARIS][KOLOM] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
//Menyambungkan baris keypad ke pin arduino
byte bariskeypad[BARIS] = { 14, 15, 16, 17 };
//Menyambungkan kolom keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 18, 19, 20 };
//Aktifkan keypad
Keypad kpd = Keypad( makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM );
void setup()
{
lcd.begin(16, 2);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode (switchh, INPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(switchh)==1) //Kondisi If saat switchh==1
{ //Pembuka program
char tombol = kpd.getKey(); //Deklarasi tombol sepagai pemanggilan fungsi keypad
if(tombol) //Jika if itu tombol
{ //Pembuka program
switch (tombol) //Jika switch itu tombol
{ //Pembuka program
case '5': //Jika tombol keypad 1 ditekan
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,1); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print("SEMANGAT"); //Mencetak tulisan di PRAKTIKUM di lcd
//menyala secara bergilir kekiri
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(100);
}
}
}
else if (digitalRead(switchh)==0); //Kondisi If saat switchh==0
{ lcd.clear(); //Membersihkan LCD
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
}
#include <LiquidCrystal.h>
int led3 = 10;
int led1 = 8;
int led2 = 9;
int led4 = 13;
int switchh = 53;
const int PIN_RS = 12;
const int PIN_E = 11;
const int PIN_D4 = 7;
const int PIN_D5 = 6;
const int PIN_D6 = 5;
const int PIN_D7 = 4;
LiquidCrystal lcd(PIN_RS,PIN_E, PIN_D4,
PIN_D5, PIN_D6, PIN_D7);
const int BARIS = 4; // 4 Baris
const int KOLOM = 3; // 3 Kolom
// Menyatakan tombol-tombol keypad
char tombol[BARIS][KOLOM] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
//Menyambungkan baris keypad ke pin arduino
byte bariskeypad[BARIS] = { 14, 15, 16, 17 };
//Menyambungkan kolom keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 18, 19, 20 };
//Aktifkan keypad
Keypad kpd = Keypad( makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM );
void setup()
{
lcd.begin(16, 2);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode (switchh, INPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(switchh)==1) //Kondisi If saat switchh==1
{ //Pembuka program
char tombol = kpd.getKey(); //Deklarasi tombol sepagai pemanggilan fungsi keypad
if(tombol) //Jika if itu tombol
{ //Pembuka program
switch (tombol) //Jika switch itu tombol
{ //Pembuka program
case '5': //Jika tombol keypad 1 ditekan
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,1); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print("SEMANGAT"); //Mencetak tulisan di PRAKTIKUM di lcd
//menyala secara bergilir kekiri
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(100);
}
}
}
else if (digitalRead(switchh)==0); //Kondisi If saat switchh==0
{ lcd.clear(); //Membersihkan LCD
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
}
8. Analisa [kembali]
Pada percobaan yang telah dilakukan rangkaian dan program berhasil dimana indikator LCD dan LED berjalan sesuai dengan perintah program arduino yang telah dirancang indikator LCD menampilkan kata "Semangat" dan indikator LED akan hidup secara bergantian dari kiri ke kanan dimana delay 100ms sesaui dengan dengan input pada switch 5 yang telah dirancang pada program arduino untuk switch lain blm digunakan sebenarnya bisa saja tinggal merancang program arduino saja.
9. Link Download [kembali] Pada percobaan yang telah dilakukan rangkaian dan program berhasil dimana indikator LCD dan LED berjalan sesuai dengan perintah program arduino yang telah dirancang indikator LCD menampilkan kata "Semangat" dan indikator LED akan hidup secara bergantian dari kiri ke kanan dimana delay 100ms sesaui dengan dengan input pada switch 5 yang telah dirancang pada program arduino untuk switch lain blm digunakan sebenarnya bisa saja tinggal merancang program arduino saja.
Tidak ada komentar:
Posting Komentar