[menuju akhir]
#include <Keypad.h> //Mengaktifkan library keypad
#include <LiquidCrystal.h> //Mengaktifkan library LCD
const int PIN_RS = 13;
const int PIN_E = 12;
const int PIN_DB4 = 11;
const int PIN_DB5 = 10;
const int PIN_DB6 = 9;
const int PIN_DB7 = 8;
int m1 = 7;
int m2 = 6;
int m3 = 5;
int m4 = 4;
LiquidCrystal lcd(PIN_RS,PIN_E, PIN_DB4, //Mengaktifkan pin LCD
PIN_DB5, PIN_DB6, PIN_DB7);
const byte BARIS = 4; // 4 Baris //Pendeklarasian baris keypad dengan varibel BARIS
const byte KOLOM = 3; // 3 Kolom //Pendeklarasian kolom keypad dengan varibel KOLOM
char tombol[BARIS][KOLOM] = {
{'1','2','3'},
{'4','5','6'}, // Menyatakan baris dan kolom keypad dalam bentuk
{'7','8','9'},
{'#','0','*'}
};
byte bariskeypad[BARIS] = { 17, 18, 19, 20 }; //Menyambungkan baris keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 14, 15, 16 }; //Menyambungkan kolom keypad ke pin arduino
Keypad kpd = Keypad(makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM ); //Mengaktifkan fungsi keypad
void setup() //Fungsi utama arduino
{ //Pembuka program
lcd.begin(16,2); //Memulai LCD tipe 16×2
Serial.begin(9600); //Komunikasi serial arduino ke komputer
pinMode(m1,OUTPUT); // menjelaskan bahwa pin m1 sebagai output
pinMode(m2,OUTPUT); // menjelaskan bahwa pin m2 sebagai output
pinMode(m3,OUTPUT); // menjelaskan bahwa pin m3 sebagai output
pinMode(m4,OUTPUT); // menjelaskan bahwa pin m4 sebagai output
} //Penutup program
void loop() //Fungsi perulangan pada arduino
{ //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 '1': //Jika tombol keypad 1 ditekan
analogWrite(m1,0);
analogWrite(m2,100);
analogWrite(m3,100);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
lcd.setCursor(1,0); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print("Motor1 Ke Kiri");
delay(300);
lcd.setCursor(1,1);
lcd.print("Motor2 ke Kanan"); //Mencetak tulisan di PRAKTIKUM di lcd
delay(300);
break; //fungsi selesai untuk kondisi case ‘1’
}
Serial.println(tombol);
}
} //Penutupan program utama
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
b. Merangkai dan menguji input pada mikrokontroller Arduino
c. Merangkai dan menguji I/O pada mikrokontroller Arduino
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 :
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.
Kondisi : 1. Dengan menggunakan input keypad, tekan angka 1 pada keypad motor satu
akan berputar pelan kearah kiri dan motor dua akan berputar pelan kearah kanan
yang arahnya tampil pada LCD.
akan berputar pelan kearah kiri dan motor dua akan berputar pelan kearah kanan
yang arahnya tampil pada LCD.
#include <LiquidCrystal.h> //Mengaktifkan library LCD
const int PIN_RS = 13;
const int PIN_E = 12;
const int PIN_DB4 = 11;
const int PIN_DB5 = 10;
const int PIN_DB6 = 9;
const int PIN_DB7 = 8;
int m1 = 7;
int m2 = 6;
int m3 = 5;
int m4 = 4;
LiquidCrystal lcd(PIN_RS,PIN_E, PIN_DB4, //Mengaktifkan pin LCD
PIN_DB5, PIN_DB6, PIN_DB7);
const byte BARIS = 4; // 4 Baris //Pendeklarasian baris keypad dengan varibel BARIS
const byte KOLOM = 3; // 3 Kolom //Pendeklarasian kolom keypad dengan varibel KOLOM
char tombol[BARIS][KOLOM] = {
{'1','2','3'},
{'4','5','6'}, // Menyatakan baris dan kolom keypad dalam bentuk
{'7','8','9'},
{'#','0','*'}
};
byte bariskeypad[BARIS] = { 17, 18, 19, 20 }; //Menyambungkan baris keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 14, 15, 16 }; //Menyambungkan kolom keypad ke pin arduino
Keypad kpd = Keypad(makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM ); //Mengaktifkan fungsi keypad
void setup() //Fungsi utama arduino
{ //Pembuka program
lcd.begin(16,2); //Memulai LCD tipe 16×2
Serial.begin(9600); //Komunikasi serial arduino ke komputer
pinMode(m1,OUTPUT); // menjelaskan bahwa pin m1 sebagai output
pinMode(m2,OUTPUT); // menjelaskan bahwa pin m2 sebagai output
pinMode(m3,OUTPUT); // menjelaskan bahwa pin m3 sebagai output
pinMode(m4,OUTPUT); // menjelaskan bahwa pin m4 sebagai output
} //Penutup program
void loop() //Fungsi perulangan pada arduino
{ //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 '1': //Jika tombol keypad 1 ditekan
analogWrite(m1,0);
analogWrite(m2,100);
analogWrite(m3,100);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
lcd.setCursor(1,0); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print("Motor1 Ke Kiri");
delay(300);
lcd.setCursor(1,1);
lcd.print("Motor2 ke Kanan"); //Mencetak tulisan di PRAKTIKUM di lcd
delay(300);
break; //fungsi selesai untuk kondisi case ‘1’
}
Serial.println(tombol);
}
} //Penutupan program utama
7. Analisa
[kembali]
Rangkaian menggunakan
keypad,LCD, IC L293D ,Motor DC,dan Mikrokontroller Arduino.Keypad di simulasi ini
berguna sebagai inputan yang dihubungkan ke pin digital(14
,15,16,17,18,19,20,21). Untuk IC L293D terhubung ke pin digital (4,5,6,7). LCD
terhubung ke pin digital (8,9,10,11,12,13). Dimana nantinya di program juga
harus dideklarasikan sesuai dengan port yang terhubung di rangkaian.
Keypad disini sebagai inputan yang nantinya saat ditekan
keypad 1 ,di program akan di buat coding saat keypad 1 ditekan maka pin digital
6 dan 5 akan meinputkan nilai 1 ke IC L293D yang outputnya nanti jadi inputan
di motor DC. Jadi karna nilai high di OUT2 inilah yang membuat motor DC 1
berputar ke kiri.Karna di pin 5 juga di program nilai nya juga high,inilah yang
membuat motor DC berputar ke kanan. Sedangkan untuk kecepatan putarnya dibuat
di program nya berputar lambat yaitu 100 rpm. Selain itu kondisi motor
yang berputar ke kiri dan kenan juga akan di tampilkan ke LCD. Di program dibuat LCD akan menampilkan Motor
1 berputar ke kiri,Motor 2 berputar ke kanan. Sedangkan saat tombol keypad yang
lain ditekan motor DC tidak adan berputar.
8. Link Download
[kembali]
Link Download Rangkaian disini
Link Download Program disini :
Link Download Video Rangkaian disini
Tidak ada komentar:
Posting Komentar