Control 3 Step Kecepatan Motor DC dengan Arduino

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Jumpa lagi sobat-sobat pembaca setia blog Nofgi Piston … Setelah sekian lama NP vakum dari dunia blogger, Alhamdulillah sekarang sudah mampu update artikel terbaru lagi 😀 .

Nah kali ini NP akan share tutorial tentang bagaimana cara mengcontrol putaran motor DC dengan 3 step putaran, yakni putaran rendah, sedang, dan putaran tinggi. Yups, ada tiga buah tombol push button untuk pengaturan kecepatan dan satu buah untuk mematikan putaran motor dc tersebut.

Komponen-komponen yang perlu dipersiapkan yakni :

  • Arduino (bisa type UNO, Nano, Mega, dll, bisa diperoleh Di Sini)
  • 1 buah Motor DC
  • 4 buah tombol Push Button
  • Kabel jumper secukupnya

Oke setelah semua komponen telah dipersiapkan, monggo rangkai seperti rangkaian di bawah ini :

control-kecepatan-motor-dc-3-step-jpg

Setelah itu buka software IDE Arduino untuk memprogram, dan masukkan program berikut ini :

/* ---Program Control Kecepatan Motor DC dengan Tiga Step Kecepatan--- */
  /* --------Dibuat Oleh : Muhamad Nofgi Yugo Prasetyo Utomo---------- */
  /* ----------------www.nofgipiston.wordpress.com----------------- */

//Penambahan library Software Serial
 #include 

//Inialisasi pin tombol
 const int pinTombol1 = 2;
 const int pinTombol2 = 3;
 const int pinTombol3 = 4;
 const int pinTombol4 = 5;

//Inialisasi pin motor
 //Pin motor harus pin support PWM
 const int pinMotor = 6;

void setup()
 {
 //Inialisasi baud rate Serial Monitor
 Serial.begin(9600);

//Inialisasi status I/O pin tombol
 pinMode(pinTombol1, INPUT);
 pinMode(pinTombol2, INPUT);
 pinMode(pinTombol3, INPUT);
 pinMode(pinTombol4, INPUT);

//Inialisasi pin I/O motor
 pinMode(pinMotor, OUTPUT);

//Memberi status awal pada pin tombol
 digitalWrite(pinTombol1, HIGH);
 digitalWrite(pinTombol2, HIGH);
 digitalWrite(pinTombol3, HIGH);
 digitalWrite(pinTombol4, HIGH);
 }

//Memberi nilai awal variabel Kecepatan
 int Kecepatan = 0;

void loop()
 {
 //Pembatasan niali Kecepatan dari 0 sampai 255 saja
 Kecepatan = constrain(Kecepatan, 0, 255);

//Cetak nilai Kecepatan pada Serial Monitor
 Serial.println(Kecepatan);
 //Delay update pembacaan Kecepatan
 delay(500);

//Memberi nilai PWM pada motor
 analogWrite(pinMotor, Kecepatan);

//Jika pinTombol1 bernilai LOW
 if (digitalRead(pinTombol1) == LOW)
 {
 //Set nilai Kecepatan = 100
 Kecepatan = 100;
 }

//Jika pinTombol2 bernilai LOW
 else if (digitalRead(pinTombol2) == LOW)
 {
 //Set nilai Kecepatan = 180
 Kecepatan = 180;
 }

//Jika pinTombol3 bernilai LOW
 else if (digitalRead(pinTombol3) == LOW)
 {
 //Set nilai Kecepatan = 255
 Kecepatan = 255;
 }

//Jika pinTombol4 bernilai LOW
  else if (digitalRead(pinTombol4) == LOW)
  {
  //Set nilai Kecepatan = 0
  Kecepatan = 0;
  }
  }

Yaps penjelasan singkat dari program di atas yakni sebagai berikut :

//Pembatasan niali Kecepatan dari 0 sampai 255 saja
  Kecepatan = constrain(Kecepatan, 0, 255);

Program di atas bertujuan untuk membatasi nilai dari variable “Kecepatan” agar berada pada range 0 sampai dengan 255 saja.

//Jika pinTombol1 bernilai LOW
  if (digitalRead(pinTombol1) == LOW)
  {
  //Set nilai Kecepatan = 100
  Kecepatan = 100;
  }

//Jika pinTombol2 bernilai LOW
  else if (digitalRead(pinTombol2) == LOW)
  {
  //Set nilai Kecepatan = 180
  Kecepatan = 180;
  }

//Jika pinTombol3 bernilai LOW
  else if (digitalRead(pinTombol3) == LOW)
  {
  //Set nilai Kecepatan = 255
  Kecepatan = 255;
  }

//Jika pinTombol4 bernilai LOW
  else if (digitalRead(pinTombol4) == LOW)
  {
  //Set nilai Kecepatan = 0
  Kecepatan = 0;
  }

Nah sedangkan program kali ini untuk menentukan nilai PWM output ke motor dc. Jika tombol 1 ditekan, maka akan mengalirkan arus listrik dari ground yang selanjutnya dibaca oleh pinTombol1 sebagai logic LOW dan membuat niali dari variabel “Kecepatan” menjadi 100. Ingat, nilai output PWM berada pada range 0-255. Jadi nilai 100 termasuk pada kecepatan rendah. Sedangkan jika tombol 2 ditekan maka nilainya akan menjadi 180 yang artinya kecepatan sedang, dan tombol 3 adalah kecepatan maksimal yakni 255. Tombol 4 hanya untuk mematikan motor karena bertugas mengubah nilai variabel “Kecepatan” menjadi 0.

Yaps, dengan begitu nilai dari masing-masing tombol dapat sampean rubah sesuka hati sesuai dengan keinginan. Bisa dirubah jadi 80 atau 120, atau 200, dan lain sebagainya asal masih dalam lingkup range 0-255. Tergantung kebutuhan sampean 😀 .

Silahkan dicoba ….. Silahkan berkomentar kalau masih kebingungan 😀 .

Salam Teknologi … 🙂 .

Wassalamualaikum.

*

*

*

*

*

********************

#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.

Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …

Bisa untuk keperluan hobi, tugas kuliah/sekolah, project industri/rumahan, dan sebagainya …

Silahkan kontak saya :

Facebook              : Nofgi Yugo Prasetyo
Fans Page on Facebook : Nofgi Piston Blog
E-Mail                : Nofgimotor@gmail.com
PIN BBM               : D2F100C2
Line                  : nofgi piston
Instagram             : nofgi_piston
Youtube               : NF-308
No. HP/WA             : 088217082017
Iklan

Tentang Nofgi

Suka berbagai hal yang berhubungan dengan otomotif ... Penggemar Motor Sport ... Suka menulis di dunia maya ...
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronika, Mekatronika, Robotika, Teknologi dan tag , , , , , , , . Tandai permalink.

6 Balasan ke Control 3 Step Kecepatan Motor DC dengan Arduino

  1. Kalisen Tono berkata:

    Terimakasih,pertahankan tetap semangat dan tambah terus

Komentar Anda Membuat Semangat Saya Membara ... :D

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s