Percobaan Motor DC
04.43Tambahkan 3 buah LED, 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 lalu led 1 akan hidup.
Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. Periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop/PC ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10. Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11. Demokan ke pembimbing praktikum
12. Matikan supply
Pada video percobaan alat tampilannya diganti menjadi tampilan monitor, untuk membuktikan bahwa antarmuka (interface) tidak selalu hanya pada LCD, dan membuktikan bahwa komunikasi benar-benar terjadi antara alat dan PC/Laptop.
Tambahkan 3 buah LED, 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 lalu led 1 akan hidup.
2. Rangkaian Simulasi [kembali]
Berikut rangkaian yang dikerjakan pada simulasi ISIS Proteus-7
- Keypad akan menjadi inputan bagi Arduino
- Saat ditekan 1 maka akan memberikan perintah pada Arduino
- Output berupa tiga buah LED sebagai indikator dan motor DC
- Saat kondisi terpenuhi maka LED 1 akan hidup dan motor aktif
- Saat kondisi tidak terpenuhi maka LED 2 dan 3 akan hidup dan motor tidak aktif
4. Listing Program [kembali]
5. Video [kembali]
6. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
Video Rangkaian - Download
#include <Keypad.h> //Mengaktifkan library keypad
#include <LiquidCrystal.h> //Mengaktifkan library LCD
#include <LiquidCrystal.h> //Mengaktifkan library LCD
const int PIN_RS = 41;
const int PIN_E = 39;
const int PIN_DB4 = 37;
const int PIN_DB5 = 35;
const int PIN_DB6 = 33;
const int PIN_DB7 = 31;
const int PIN_E = 39;
const int PIN_DB4 = 37;
const int PIN_DB5 = 35;
const int PIN_DB6 = 33;
const int PIN_DB7 = 31;
int m1 = 7;
int m2 = 6;
int m3 = 5;
int m4 = 4;
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);
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
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′,’*’}
};
{‘1′,’2′,’3’},
{‘4′,’5′,’6’}, // Menyatakan baris dan kolom keypad dalam bentuk
{‘7′,’8′,’9’},
{‘#’,’0′,’*’}
};
byte bariskeypad[BARIS] = { 14, 15, 16, 17 }; //Menyambungkan baris keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 18, 19, 20 }; //Menyambungkan kolom keypad ke pin arduino
Keypad kpd = Keypad(makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM ); //Mengaktifkan fungsi keypad
byte kolomkeypad[KOLOM] = { 18, 19, 20 }; //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(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
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
{ //Pembuka program
lcd.begin(16,2); //Memulai LCD tipe 16×2
Serial.begin(9600); //Komunikasi serial arduino ke komputer
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
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
{ //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
digitalWrite(11, HIGH); //Kondisi led hidup
digitalWrite(12,LOW);
digitalWrite(13,LOW);
analogWrite(m1,0);
analogWrite(m2,100);
analogWrite(m3,100);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,0); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print(“Motor 1”);
lcd.setCursor(1,1);
lcd.print(“Motor 2”); //Mencetak tulisan di PRAKTIKUM di lcd
break; //fungsi selesai untuk kondisi case ‘1’
}
Serial.println(tombol);
}
digitalWrite(11, HIGH); //Kondisi led hidup
digitalWrite(12,LOW);
digitalWrite(13,LOW);
analogWrite(m1,0);
analogWrite(m2,100);
analogWrite(m3,100);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,0); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print(“Motor 1”);
lcd.setCursor(1,1);
lcd.print(“Motor 2”); //Mencetak tulisan di PRAKTIKUM di lcd
break; //fungsi selesai untuk kondisi case ‘1’
}
Serial.println(tombol);
}
else //Fungsi kecuali jika if tidak terpenuhi
{ //Pembuka program else
digitalWrite(11,LOW);
digitalWrite(12, HIGH); //Kondisi led hidup
digitalWrite(13, HIGH);
analogWrite(m1,0);
analogWrite(m2,0);
analogWrite(m3,0);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
digitalWrite(11,LOW);
digitalWrite(12, HIGH); //Kondisi led hidup
digitalWrite(13, HIGH);
analogWrite(m1,0);
analogWrite(m2,0);
analogWrite(m3,0);
analogWrite(m4,0);
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,1); //Memposisikan tulisan di baris ke-0 dan kolom ke-1
lcd.print(“Tidak ada kondisi”);
} //Penutup program else
} //Penutupu program utamalcd.print(“Tidak ada kondisi”);
} //Penutup program else
5. Video [kembali]
6. Link Download [kembali]
File Proteus - Download
File Program - Download
Video Rangkaian - Download