Informatika
Tema : Berpikir Komputasional
Kontrol Motor DC Menggunakan Arduino UNO
Tutorial Arduino kali ini adalah Mengontrol Motor DC dengan Arduino dan Android, dan yang kita kontrol adalah 2 buah Motor DC. Tutorial ini juga bisa Anda jadikan project Mobil Remot Android / Remote control yang bisa Anda kendalikan melalui bluetooth dan smartphone Android.
Alat dan Bahan yang dibutuhkan :
Langkah-langkahnya:
1.) Susunlah konfigurasi kabel seperti dibawah ini.
Keterangan Kabel Konfigurasi :
2.) Setelah itu menghubungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( Jika Diperlukan )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer Anda )
7.) Lalu masukan Sketch dibawah ini.
/*
* Mengontrol 2 Motor DC dengan Android
* Tutorial Arduino ~ http://www.boarduino.blogspot.com
*/
int motor1Pin1 = 3;
int motor1Pin2 = 4;
int enable1Pin = 6;
int motor2Pin1 = 8;
int motor2Pin2 = 9;
int enable2Pin = 11;
int state;
int flag=0;
int stateStop=0;
void setup() {
// Set Motor DC sebagai output:
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(enable1Pin, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
pinMode(enable2Pin, OUTPUT);
// Set Enable pada 2 buah Motor DC
digitalWrite(enable1Pin, HIGH);
digitalWrite(aktifkan2Pin, TINGGI);
// inisialisasi komunikasi serial
Serial.begin(9600);
}
void loop() {
// Jika data diterima, maka dimasukkan ke variabel state
if(Serial.available() > 0){
state = Serial.read();
bendera=0;
}
// Jika state = F, maka Motor DC bergerak maju
if (state == 'F') {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, RENDAH);
digitalWrite(motor2Pin1, RENDAH);
digitalWrite(motor2Pin2, TINGGI);
if(flag == 0){
Serial.println("MAJU TAK GENTAR!");
bendera=1;
}
}
// Jika state = L, maka Motor DC berbelok ke kiri
else if (state == 'L') {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, RENDAH);
digitalWrite(motor2Pin1, RENDAH);
digitalWrite(motor2Pin2, RENDAH);
if(flag == 0){
Serial.println("BELOK KIRI GAN!");
bendera=1;
}
penundaan(1500);
negara bagian=3;
negaraBerhenti=1;
}
// Jika state = S, maka Motor DC akan berhenti
else if (state == 'S' || stateStop == 1) {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, RENDAH);
digitalWrite(motor2Pin1, RENDAH);
digitalWrite(motor2Pin2, RENDAH);
if(bendera == 0){
Serial.println("BERHENTI DULU");
bendera=1;
}
keadaanBerhenti=0;
}
// Jika state = R, maka Motor DC berbelok ke kanan
else if (state == 'R') {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, RENDAH);
digitalWrite(motor2Pin1, RENDAH);
digitalWrite(motor2Pin2, TINGGI);
if(flag == 0){
Serial.println("BELOK KANAN GAN!");
bendera=1;
}
penundaan(1500);
negara bagian=3;
negaraBerhenti=1;
}
// Jika state = B, maka Motor DC bergerak mundur
else if (state == 'B') {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, TINGGI);
digitalWrite(motor2Pin1, TINGGI);
digitalWrite(motor2Pin2, RENDAH);
if(flag == 0){
Serial.println("MUNDUR BUKAN BERARTI KEKALAHAN");
bendera=1;
}
}
}
Konfigurasi Aplikasi Android Mobiduino :
Sketch diatas harus disesuaikan dengan Aplikasi Mobiduino, lihat keterangan pada gambar.
Perhatikan pada sketsa, ada baris kode yang seperti berikut ini
jika (state == 'F') // Maju
jika (negara bagian == 'B') // Mundur
jika (state == 'R') // Kanan
jika (state == 'L') // Kiri
jika (state == 'S') // Berhenti
Anda juga dapat memodifikasi dengan menambahkan Headlight (Lampu Depan) dan juga dapat menambahkan Tail Lights (Lampu Belakang) pada Mobil remot Anda, dengan menyesuaikan tombol dari aplikasi Mobiduino dengan keterangan pada gambar di atas.
Terimakasih telah berkunjung, semoga bermanfaat.
Sumber :
https://blog.semitekindo.co.id/2015/04/mengontrol-2-buah-motor-dc-dengan.html