Pada kesempatan kali ini Kita Masih melanjutkan Pembahasan Kita Yaitu PWM dan akan menjadi dasar Proyek Elektro Kita kali ini. Baik Biar ga pada bingung kita jelaskan saja ya tentang Proyek Kita.
Proyek Motor Dc 5 kecepatan ini adalah Sebuah Motor DC yaang di gunakan sebagai Motot utama dan kita Pakai menggunakan 5 kecepatan Yaitu :
1. Mundur
2. Maju pada kecepatan 1,2,3,4,5
Karena ini Merupakan Simulasi Kita siapkan rangkaian nya di Proteus dan Kita buat source codenya
Buatlah Rangkaian seperti di atas atau jika belum Mahir bisa memakai File yang kami sertakan untuk Belajar.
Kita Lanjutkan membuat source Code Nya kita buka halaman Arduini IDE lalu kita tulis seperti di Bawah ini tanpa library ya kawan kawan.
const int pb1=7;
const int pb2=6;
const int pb3=5;
const int pb4=4;
const int pb5=3;
int pb1State=0;
int pb2State=0;
int pb3State=0;
int pb4State=0;
int pb5State=0;
void setup() {
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(pb1,INPUT);
pinMode(pb2,INPUT);
pinMode(pb3,INPUT);
pinMode(pb4,INPUT);
pinMode(pb5,INPUT);
}
void kec1(){
digitalWrite(9,LOW);
analogWrite(10,50);
}
void kec2(){
digitalWrite(9,LOW);
analogWrite(10,95);
}
void kec3(){
digitalWrite(9,LOW);
analogWrite(10,150);
}
void kec4(){
digitalWrite(9,LOW);
analogWrite(10,255);
}
void netral(){
digitalWrite(9,LOW);
analogWrite(10,0);
}
void mundur(){
digitalWrite(10,LOW);
analogWrite(9,50);
}
void loop() {
pb1State=digitalRead (pb1);
pb2State=digitalRead (pb2);
pb3State=digitalRead (pb3);
pb4State=digitalRead (pb4);
pb5State=digitalRead (pb5);
if(pb1State==HIGH){
kec3();
delay(1000);
}
else if(pb2State==HIGH){
kec2();
delay(1000);
}
else if(pb3State==HIGH){
kec1();
delay(1000);
}
else if(pb4State==HIGH){
mundur();
}
else if(pb5State==HIGH){
kec4();
delay(1000);
}
else{
netral();
}
}
Setelah itu lakukan Compile Program Tentunya Tool nya di seting Arduino Uno ya, hasil dari compile tersebut kita tempel pada Arduino yg berada di halam Proteus.
Lalu coba mulai Dengan Menekan Tombil Kecepatan agar motor Bserputar sesuai keinginian Kita.
Bagi Kawan kawan yg belum mahir membuat source code maupun Rangkaian Proteus kalian bisa Download Melalui Link Berikut Ini:
Setelah Proyek kalian berhasil maka kalian bebas merubah File Source Code maupun File Proteusnya
tidak pelu lagi memintaa ijin kepada Kami .
Dalam Pembuatan Video ,Penulisan Artikel Pihak DDC OFFICIAL Tidak Pernah Meminta Sumbangan , uang Tunai, Hadiah dan lainya , Jika Terdapat dari Team Kami melakukan ini segera laporkan Kepada kami . Bisa Kunjungi Diclaimer DDC OFFICIAL DI Link berikut;
Pada Kesempatan Kali ini Kita akan membahas tentang PWM ( Pulse Width Modulation) Nah PWM ini Adalah sebuah cara Untuk Membuat Analog Output . PWM ini Biasa di pakai Untuk Proyek proyek Elektro yang menggunakan Motor DC, Motor Stepper , Motor Servo dan juga Lampu sebagai fungsi Dimmer.
PWM dalam Hal ini adalah merubah Gelombang Kotak PWM untuk Mendapatkan kecepatan pada motor dan Nyala lampu yg tepat sesuai dengan yang kita Inginkan.
PWM terdiri dari Nilai 0 sampai dengan 255, Maka untuk menetukan kecepatan dan nyala yg tepat kita perlu mengatur Gelombang Kotak PWM . Untuk Lebih Jelasnya Kita bisa lihat diagram berikut ini
Pada Arduino IDE untuk membuat Fungsi PWM Maka cukup Kita Tulis
void Setup(){
pinMode(No pin, OUTPUT);
}
void loop (){
analogWrite( No Pin, No PWM);//Contoh (9,255); maka Kita sudah Bisa membuat Gelombak kotak PWM ini.
Picture from google
Pada Gambar di atas adalah Bentuk dan beberapa contoh Gelombang PWM Yaitu 0,20,50,75&100%
Setelah Mengerti tentang PWM maka kita akan membuat sebuah Proyek Elektronik dengan menggunakan PWM . dan akan kita simulasikan di Proteus.
kita awalai dengan membuat sebuah Coding Atau source code PWM ini. di mana kita asumsikan kita mempunyai sebuah Motor Listrik yang akan kita buat sebuah Penggerak kendaraan , Kita simbolkan dengan Tombol Yang akan mewakili Sebuah kecepatan .
Baik Pada pertemuan kita Kali ini kita akan Memberika Tutorial Penggunaan Motor DC yg akan kita drive menggunakan Modul L293D Shield yg bisa di gunakan mengontrol Motor DC, Motor Stepper dan Juga Motor Servo. Pembahasan kita kali ini akan kita fokuskan kepada pengontrollan motor DC baik secara sendiri sendiri maupun ercara berkelompok.
Yuk Kita Lihat Modul tersebut :
Modul Tersebut Dapat Mengontrol $ Motor DC Sekaligus, Ini menguntungkan jika kita akan membuat proyek Eleketro yg menggunakan 4 motor. pin Out nya sebagai berikut:
Pada Terminal Kanan dan kiri untuk di sambung Ke motor Dc dari Motor 1 sampai 4 dan terminal baagian Bawah kita sambung Ke Power Supply . Mohon Berhati Hati Jika akan menggunakan ini harap di lihat untuk Power supply harus di sesuaikan dengan Motor yang kita pakai . misal motor yg di pakai 5 Volt maka Suplai power berkisar 6 Volt . hal ini untuk menjaga agar motor kita aman dan tidak terbakar akibat kelebihan Tegangan pada saat kita mengatur PWM pada Nilai 255.
Modul tersebut kita hubungkan ke Arduino Uno Atau Mega ,lalu kita siapkan Arduino IDE untuk membuat Program nya . adapun Program untuk On Off motor secara bergantian seperti pada Vidio bisa di tulis seperti di bawah ini:
/*
DDC OFFICIAL Notice: souce code ini bebas di gunakan
Untuk keperluan Apapun Baik bisnis maupun Edukasi
Tanpa harus menyertakan Nama Kami
Terima kasih
*/
#include <AFMotor.h>
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup() {
}
void satu(){
motor1.setSpeed(70);//170 0N SEMUA
motor2.setSpeed(0);
motor3.setSpeed(0);
motor4.setSpeed(0);
motor1.run(FORWARD);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void dua(){
motor1.setSpeed(0);//170 0N SEMUA
motor2.setSpeed(170);
motor3.setSpeed(0);
motor4.setSpeed(0);
motor1.run(RELEASE);
motor2.run(FORWARD);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void tiga(){
motor1.setSpeed(0);//170 0N SEMUA
motor2.setSpeed(0);
motor3.setSpeed(170);
motor4.setSpeed(0);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(BACKWARD);
motor4.run(RELEASE);
}
void empat(){
motor1.setSpeed(0);//170 0N SEMUA
motor2.setSpeed(0);
motor3.setSpeed(0);
motor4.setSpeed(170);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(FORWARD);
}
void lima(){
motor1.setSpeed(70);//170 0N SEMUA
motor2.setSpeed(170);
motor3.setSpeed(170);
motor4.setSpeed(170);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}
void netral(){
motor1.setSpeed(0);//170 0N SEMUA
motor2.setSpeed(0);
motor3.setSpeed(0);
motor4.setSpeed(0);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void loop() {
satu();
delay(5000);
netral();
delay(1000);
dua();
delay(5000);
netral();
delay(1000);
tiga();
delay(5000);
netral();
delay(1000);
empat();
delay(5000);
lima();
delay(4000);
netral();
delay(2000);
}
Tulis Program Tersebut atau salin dan Tempel di Arduino IDE . lalu Upload ke Arduino . Rubah Program dansesuaikan dengan Proyek Yang sedang Kamu Kerjakan.
Terima kasih .
Bagi yang Belum Jelas denganArtikel ini bisa lihat vidio Tutorialnya di Link Berikut: