Mengontrol Motor DC dengan Arduino dan Motor Shield

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Halo sobat Boarduino yang selalu setia mengunjungi blog ini... Tetap Semangat ya bray :)
Alhamdulillah kita masih berjumpa lagi pada kesempatan hari Minggu petang ini, bagaimana weekend sobat di hari minggu ini? apakah menyenangkan atau kurang menyenangkan?

Kalau ane sendiri sih merasa biasa-biasa saja gan, dibilang menyenangkan ya Tidak, dibilang kurang menyenangkan juga Tidak. hehehe tetapi yang terpenting kita harus selalu ingat dengan Tuhan yang telah menciptakan kita, dikala kita merasakan kesenangan maupun kesedihan. Karena Kita sadar, Tuhan lah yang memberikan kita kesenangan maupun kesedihan ini :)

 *NOTE : Bagian ini hanya Curhatan, Tidak wajib dibaca gan
Okelah, flashback ke masa kecil ane dulu sebentar gan untuk mengingat kenangan-kenangan indah bermain dan ceria tanpa beban pikiran. Pada saat masa kecil ane dulu, seinget ane pada Tahun 2001, sedang boomingnya mainan Mobil remot dikalangan anak-anak, dan saat itu ane yang masih kecil dan polos hendak bermain keluar rumah untuk mencari udara segar, tiba tiba datanglah sebuah mobil mainan didepan kaki ane dan membuat ane terkejut dan heran, lalu pada saat itu ane angkat saja mobil mainan tersebut, dan tiba-tiba teman ane yang mempunyai mobil remot itu mencubit ane dengan keras karena marah akibat mobil remotnya ane angkat :( dan ane pun langsung nangis menjerit lalu masuk kedalam rumah. Dan sesampainya didalam rumah, ane pun langsung mengadukan kejadian tersebut kepada nenek ane gan, ane ceritakan dengan detail kejadian di luar rumah tadi... Dan entah mimpi apa ane saat itu, tiba-tiba keesokan harinya ane dibelikan Mobil remot juga gan. hehehe dan juga karena ane Gentle man, langsung saja ane ajak balapan dengan mobil remot temen ane yang nyubit ane di kemarin hari itu.

Oke sudah selesai curhatnya, kali ini kita akan Mengontrol Motor DC dengan Android, yang mana motor DC tersebut kita jadikan sebuah Mobil remot bluetooth dengan Arduino, atau bisa disebut juga Kendali Robot dengan bluetooth melalui smartphone Android (Arduino Bluetooth RC Car).

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino UNO
  • 1x Bluetooth modul HC-06 / HC-05 
  • 1x Adafruit Motor Shield
  • 2x Motor DC / Motor Gearbox
  • 2x Roda (Bila diperlukan)
  • Kabel jumper secukupnya 
  • Smartphone Android
  • Aplikasi android Boarduino. Silahkan Download di Playstore DOWNLOAD
  •  
 Langkah - Langkahnya :

1.)  Tancapkan Adafruit MotorShield pada Board Arduino, seperti gambar berikut


2.) Lalu hubungkan Motor DC / Gearbox pada Terminal M3 dan M4 seperti gambar berikut


Keterangan Konfigurasi Kabel :
  • Pin 5V pada Arduino dihubungkan ke pin VCC modul bluetooth HC05/HC06
  • Pin GND pada Arduino dihubungkan ke pin GND modul bluetooth HC05/HC06
  • Pin RX pada Arduino dihubungkan ke pin TXD modul bluetooth HC05/HC06
  • Pin TX pada Arduino dihubungkan ke pin RXD modul bluetooth HC05/HC06
  • Motor Gearbox kiri dihubungkan ke M4 Pada Driver MotorShield
  • Motor Gearbox kanan dihubungkan ke M3 Pada Driver MotorShield
3.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
4.) Download dan Install program Arduino IDE di Arduino.cc
5.) Setelah terinstall, Download Library AFMotor.h (Klik Disini Untuk Mendownload)
6.) Setelah itu, buka software Arduino, lalu Klik menu Sketch -> Import Library -> Add Library
7.) Lalu pilih File Adafruit-Motor-Shield-library-master.zip
8.) Seletah selesai, lali Klik menu "Tools -> Board -> Arduino Uno"
9.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
10.) Lalu masukan Sketch dibawah ini.

Klik LIHAT DONG untuk melihat sketch
#include <AFMotor.h>
char val;
AF_DCMotor motor1(4, MOTOR12_64KHZ); //Jadikan motor 1, 64KHz
AF_DCMotor motor2(3, MOTOR12_64KHZ); //Jadikan motor 2, 64KHz

void setup() {
  motor1.setSpeed(240); //Set kecepatan motor 240 (Range 0-255)
  motor2.setSpeed(240); //Set kecepatan motor 240 (Range 0-255)
  Serial.begin(9600); //Kecepatan komunikasi serial
}

void loop() {
  if( Serial.available() >0 )     
  {
    //Variable val untuk menyimpan sementara hasil dari bluetooth
    val = Serial.read();
    Serial.println(val);
  }
  if( val == 'F' ) {     //Motor Maju
    motor1.run(FORWARD); //Motor kiri maju
    motor2.run(FORWARD); //Motor kanan maju
  }
   if( val == 'B') {      //Motor Mundur
    motor1.run(BACKWARD); //Motor kiri mundur
    motor2.run(BACKWARD); //Motor kanan mundur
  }
   if( val == 'R' ) {     //Motor Berbelok kanan
    motor1.run(FORWARD);  //Motor kiri maju
    motor2.run(BACKWARD); //Motor kanan mundur
  }
   if( val == 'L' ) {     //Motor Berbelok kiri
    motor1.run(BACKWARD); //Motor kiri mundur
    motor2.run(FORWARD);  //Motor kanan maju
  }
    if( val == 'S' ) {     //Motor Berhenti
    motor1.run(RELEASE);   //Motor kiri berhenti
    motor2.run(RELEASE);   //Motor kanan berhenti
  }
  delay(100);

    if( val == '1' ) {     //Motor Serong Kiri depan
    motor1.run(RELEASE);   //Motor kiri berhenti
    motor2.run(FORWARD);   //Motor kanan maju
  }
    if( val == '2' ) {     //Motor Serong Kanan depan
    motor1.run(FORWARD);   //Motor kiri maju
    motor2.run(RELEASE);   //Motor kanan berhenti
  }
    if( val == '3' ) {     //Motor Serong Kiri belakang
    motor1.run(BACKWARD);  //Motor kiri mundur
    motor2.run(RELEASE);   //Motor kanan berhenti
  }
    if( val == '4' ) {     //Motor Serong Kanan belakang
    motor1.run(RELEASE);   //Motor kiri berhenti
    motor2.run(BACKWARD);  //Motor kanan mundur
  }

Oke, Silahkan lihat Video simulasi dibawah ini


Dalam Video tersebut saya menggunakan Adaptor 9V 1A karena saya tidak ada baterai 9V untuk mensupply daya untuk 2 buah Motor gearbox tersebut. Dan dalam video tersebut juga kebetulan roda depannya sedang hilang, jadi ketika tancap gas maju seperti mau terbang :) hehehe
By the way, kecepatan motor DC bisa anda atur melalui sketch, yaitu pada baris berikut ini
motor1.setSpeed(240); // Set kecepatan motor 1 dari range 0 - 255
motor2.setSpeed(240); // Set kecepatan motor 2 dari range 0 - 255
Terimaskasih telah berkunjung, selamat mencoba dan semoga bermanfaat.

Blog, Updated pada: 21:45:00

88 comments:

  1. Om master, tolong dong buatin tutorial cara membuat arm robot menggunakan arduino :D
    heheheheheh

    ReplyDelete
    Replies
    1. Ane masih belajar gan, bukan master.
      Kebetulan tutorial Arm Robotnya masih di draft, masih ane susun buat di posting nanti. Ditunggu saja gan di blog ini, tapi agak lama soalnya belum ane rakit :)

      Arm robotnya juga nantinya bisa di kontrol dengan Android, aplikasinya sudah saya buatkan dan upload di playstore bernama MeArm Controller.

      Delete
    2. agan admin, tlong di share cara membuat arm robot pemindah barang dengan arduino dan mtor stepper ato servo, di tunggu yaaa,, itu masnya yg di atas juga pengen tau, thank uu >,<

      Delete
    3. Salam kenal, masih di susun. Terimakasih telah berkunjung.

      Delete
    4. min, itu bener pake adaptor 9v 1A ? saya pake batre 9v, kok gk jalan ya ?
      lalu, apakah itu modul bluetooth nya langsung nancep aja ato ada konfigirasinya? soalnya ane coba keluar namanya HC-05 gtu bang. mhon solusinya?

      Delete
    5. iya benar gan, ane pakai adavtor 9V 1A, pakai baterai 9V juga bisa kok. Maksudnya "keluar nama HC-05" itu apa?

      Delete
  2. oh gitu, ane pake adaptor 9v 1A juga gan, maksd sya saat connected dengan modul bluetooth itu nama modul bluetooth sya HC-05, karena masi baru, tapi kok dak mau jalan ya, apakah ada konfigurasi untuk modul bluetoothnya?

    ReplyDelete
    Replies
    1. Tidak ada konfigurasi, ketika terhubung maka akan langung bisa mengirimkan data dari android... Coba cek kembali kabel RX dan TX mungkin terbalik, atau sesuaikan baudrate pada sketch dengan baudrate modul blutooth ente.

      Delete
  3. Oke gan, sip sudah bisa, pencocokan baudret ane trnyata. Sangkyuu :-) mhon arahanya lagi ya gan. Thx

    ReplyDelete
    Replies
    1. Sip, terimakasih sudah berkunjung dan berkomentar :)

      Delete
  4. mas, mau tanya.. cara mencocokan baudrate itu gimana ya? makasih...

    ReplyDelete
    Replies
    1. Masuk Mode AT Command pada modul bluetoothnya, nanti disana ketikkan Command untuk cek baudrate.

      Delete
  5. gan mau tanya ni..knapa codingnya g mau dicompile..padahal sdah didownload AF motrnya..mhon arahan..baru blajar ni..tks

    ReplyDelete
  6. Jangkauan max nya berapa meter mas? Soalnyaa pakai media bluetooth.

    ReplyDelete
    Replies
    1. Sejangkauan bluetooth, Mungkin bisa 15 sampai 20 meter. Saya juga belum mencoba dengan pasti jarak maksimalnya nya...

      Delete
  7. Gan, kalo pake monster moto shield ga bisa ya ?

    ReplyDelete
  8. Selamat malam Gan? slam sehat selalu. Ane juga newbie banget dan mulai belajar Arduino dengan project ini gan. Kebetulan ane juga pake Shield motor dari Adafruit. Tapi kenapa ya, pas ane kasih power tuh Shield dari baterai 9 volt gk jalan ya? ( servo + dc motor) sprti gk kuat untuk bergerak. Sedangkan kalau ane colokin kabel data ke laptop baru bisa jalan. Padahal ane sudah coba test output dari shield ke servo saat pake kabel data itu sama 4,8 volt dan saat pake baterai 9 v juga sama 4,8 volt. Kalau pake baterai jalur inputnya ane pake jalur shield.
    ada masukan gan? barangkali pernah ngalamin kasus yang sama.

    ReplyDelete
    Replies
    1. Malam, salam kenal. Ane juga belum coba kalau kasih input ke terminal untuk power supply external di motorshieldnya gan... seperti di video, ane pakai jack DC 9V 1A yang dipasangkan ke Arduino untuk powernya.

      Delete
  9. Kalo pakai arduino leonardo bisa ga ya?

    ReplyDelete
    Replies
    1. "There is no ETA or guarantee we will be able to adapt the Motor Shield to leonardo".

      Sepertinya tidak compatible.

      Delete
  10. App androidnya namanya apa.gan..?? Di play store ada nggak..?

    ReplyDelete
    Replies
    1. Coba baca artikel ini di bagian "Alat dan Bahan yang dibutuhkan"

      Delete
  11. Gan,mau tanya,kalo speed motornya bisa slow ga? Ngaturnya di coding yang speed ith ya?

    ReplyDelete
  12. mas,kalo mau tambah klakson itu speaker nya taruh di pin mana ya?
    dan coding nya apa yg harus ditambah?
    maaf mas masih newbie

    ReplyDelete
    Replies
    1. Salam kenal. Di pasangkan di pin output arduino yang tersisa.

      Delete
  13. setelah di upload, kabel usbnya di cabut dlu yah agar bisa di kontrol lewat bluetooth ?

    ReplyDelete
    Replies
    1. Dicabut atau tidak, asalkan Arduino diberikan power dan modul bluetooth sudah ready, Bisa di kontrol.

      Delete
  14. ini mau minta solusi , kok ngga bisa done uploading yah , katanya gini " avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xc0 " minta solusi dong. makasih

    ReplyDelete
    Replies
    1. Saat upload sketch, cabut terlebih dahulu power yang terhubung ke modul bluetooth.

      Delete
  15. mas mau nanya udah pernah bikin pengontrolan kipas angin menggunakan motor dc ?
    karna diterapkan melalui prototipe jadi menggunakan fan pc dan motor dc sebagai penggeraknya arah kipasnya kiri dan kanan.kalau biisa yang ada menggunakan sensor pir, tapi kalau tidak menggunakan sensor tidak apa juga.
    mohon tutorialnya mas.
    salam kenal

    ReplyDelete
  16. Misi gan mau tanya punya blog cara buat skech arduino ga yg pake remot control infra red.. penncerahanya gan hhe maklum masih awam nih

    ReplyDelete
    Replies
    1. Salam kenal. Arduino dan IR remote masih di draft blog, tunggu saja di blog ini...

      Delete
  17. Wah, Asik nih gan. pengen balik semasa kecil. :D
    tengkyu buat tutor nya gan..
    ane coba sekarang ni.
    thumbs up.

    ReplyDelete
    Replies
    1. Terimakasih sudah berkunjung gan. Semoga sukses :)

      Delete
  18. Gan.kalo library utk driver motor ane ketik manual bisa gak?

    ReplyDelete
  19. Bang andi, kalau mau buat PROGRAM RC dengan Motor DC sebagai penggerak maju; mundur dan motor servo sebagai penggerak arah roda depan untuk ke kiri dan kekanan itu bagaiamana ya bang? Coba tolong share ajarin buat program kontrol motor DC dan Servo dong om Andi? :)

    ReplyDelete
    Replies
    1. Salam kenal. Untuk menggerakan maju mundur, bisa menggunakan sketch diatas... Nah ente tinggal menambahkan bagian servo untuk kiri dan kanan, sudah pernah mencoba servo? kalau pernah pasti bisa mengembangkannya.

      Delete
  20. Salam kenal gan, saya mau nanya, klu dibikin buat 1 motor dc aja gmn gan? Yg 12v pake sensor PIR,

    ReplyDelete
  21. mas saya sudah ikuti tutorial, tetapi masih tidak bisa jalan. padahal sudah saya gani serial.begin nya jadi 960, apa yang salah ya?

    ReplyDelete
    Replies
    1. Cek Wiring, TX dan RX mungkin terbalik... Baudrate juga sesuaikan, mungkin baudrate ente bukan 9600. Kasih power external juga di motorshieldnya, biar motor DC nya berputar cepat.

      Delete
  22. Asslm.wr.wb., slm kenal Mas, sy kebingungan mau kontrol servo untuk RC pakai motor shield L293D, dan mau kontrol pakai Stik Wirelles PS2, mohon bantuan share sketchnya Mas.., trimks

    ReplyDelete
    Replies
    1. Waalaikum salam, salam kenal. Kok kebingungan gan? Coba interfacing arduino dengan Stik Wirelessnya dulu... Tampilkan hasilnya pada serial monitor, kalau berhasil tinggal dikondisikan.

      Sepertinya sudah mudah, karena sudah ada library untuk stik playstation.

      Delete
  23. mas mau tanya. ini saya kan pake module bluetooth. tapi setiap abis dkendaliin beberapa kali bluetoothnya itu nge reset jadi harus di scan ulang baru kebaca lagi. ini yang rusak apanya yah mas ? apa module bluetoothnya yang rusak ?

    ReplyDelete
    Replies
    1. Salam kenal, Cobau baudrate modul bluetoothnya di naikkan gan.

      Delete
    2. cara naikin baudrate bluetoothnya gmana gan ?

      Delete
    3. Ketik di pencarian blog ini "At command HC05", nanti kalau mau naikkan baudrate dengan command AT+UART=

      Delete
  24. Assalamu'alaikum gan

    Mohon bantuannya boleh gan?
    Kebetulan saya sedang buat project Pengenalan wajah untuk membuka pintu otomatis gan. Kira2 ada tutorialnya gak gan gimana buat menghubungkan program ke arduino uno agar dapat membuka pintunya gan?

    Kalau ada contact personnya boleh saya minta gan?

    email saya :
    nanda.arief10@yahoo.com
    nanda.arief10@gmail.com

    ReplyDelete
    Replies
    1. Waalaikum salam.

      Pengenalan wajahnya pakai apa? OpenCV? Kalau iya... saya belum bisa bantu, belum paham.

      Delete
  25. gan...mohn bantuannya...ada gak yang pake wireless untuk menganti bluetooth modulenya

    ReplyDelete
  26. mas, mau nanya nih... kalo pake cara ini bisa untuk 4 motor gk? kalo gk bisa gmn caranya???

    ReplyDelete
    Replies
    1. Bisa. Caranya tinggal menambahkan 2 motor nya... dan menambahkan 2 objek motornya di sketch.

      Delete
  27. Permisi gan, tolong ajari saya cara coding nya.. saya blom dong caranya coding... jika berkenan kirim email ke karisma.3122@gmail.com

    ReplyDelete
    Replies
    1. Kalau mau belajar, bisa ke web resmi arduino gan https://www.arduino.cc/en/Reference/

      Delete
  28. mas saya baru belajar nih,kalo untuk nambah program diatas buat gerakin servo juga gimana?

    ReplyDelete
    Replies
    1. Coba lihat artikel "mengontrol servo dengan android dan arduino", nanti tinggal menggabungkan saja dengan yang ini.

      Delete
  29. Mantap mas. Sekalian dong di kontrol pakai esp8266. Biar agak jauh jangkauanya hehe

    ReplyDelete
    Replies
    1. Iya gan, tutorialnya masih disusun kok...

      Delete
  30. Ditunggu ya gan hehe.
    Makasih gan. Sukses selalu yaa

    ReplyDelete
  31. gan mau tanya kok saya pakai batre 9v gak bisa ya? tapi kalo pakai adaptor 9v bisa itu kenapa ya? mohon bantu gan :)

    ReplyDelete
    Replies
    1. Kok gak bisa? sama saja seharusnya... seharusnya tetap bisa, hanya saja kalau pakai baterai kurang kencang putaran motornya.

      Delete
    2. Mungkin... Arusnya ga kuat gan
      Adaptor mah kuat banget

      Delete
  32. saya juga bikin gan... mampir gan.. lengkap dengan PCB nya juga... :) http://www.rokhmad.com/2016/08/membuat-sendiri-kontrol-mobil-remote.html

    ReplyDelete
    Replies
    1. Oke pak Rokhmad, Terimakasih sudah sharing :)

      Delete
  33. Mas Andy, gimana cara menggunakan dua buah baudrate yg berbeda 9600 dan 115200. Saya coba menggabungkan rc(9600) dan sensor ultrasonic(115200) dengan library(Newping.h). Tlg bantuanny mas

    ReplyDelete
    Replies
    1. Yang baudrate ultrasokin ngalah, jadikan dia 9600. Atau, naikkan baudrate bluetooth jadi 38400.

      Pokoknya, baudrate ultrasonik mengikuti baudrate bluetooth.

      Delete
  34. Assalamualaikum gan,saya mau nanya berapa habis uang beli semua bahan diatas????

    ReplyDelete
    Replies
    1. Waalaikum salam, saya lupa pasnya berapa... Sepertinya kurang dari 500rb.

      Delete
    2. Kalau pake arduino uno R3 bisa gak

      Delete
  35. Gan, kalau pakai monster moto shield ada library yg lain ? Mohon penjelasannya, ane pake monster moto shield soalnya terimakasih

    ReplyDelete
    Replies
    1. Ada sedikit perbedaan tentunya. Sudah coba googling?

      Delete
  36. Assalamu'alaykum min, mau tanya, kenapa frekuensi motor dibuat 64 KHz? apakah paten atau memang ada perhitungannya?, mohon pencerahan

    ReplyDelete
    Replies
    1. Waalaikum salam, kalau itu saya gunakan contoh dari librarynya... Penjelasannya bisa dibaca di link ini https://learn.adafruit.com/adafruit-motor-shield/af-dcmotor-class

      Delete
  37. Assalamu'alaykum mas andi, mau tanya, itu pin header female yang miring disamping shield l293d, di solder sendiri kan mas ? btw, itu di solder diatas shield atau di kaki pin nya ya mas ?

    ReplyDelete
    Replies
    1. Waalaikum salam, Iya benar di solder sendiri... Disolder di kaki shield yang atas.

      Delete
  38. Assalamu'alaikum,
    Terimakasih tutornya mas,punya saya berhasil,,,tapi cara memprogram code baru gimana yaa?atau kata lain untuk merestart arduino ke pengaturan awal,soalnya saya upload code baru selalu gagal,apakah bisa dikembalikan ke awal atau harus ganti arduino board yg baru,,,terimakasih

    ReplyDelete
    Replies
    1. Waalaikum alam. Ditimpah saja programnya akan otomatis terhapus.

      Delete
  39. kalo mau menggunakan 4 motor dc sekaligus bagaimana gan?

    ReplyDelete
    Replies
    1. Tinggal dihubungkan ke terminal motor DC yang tersisa gan.

      Delete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian