Yazacağımız kodlarla step motorun bir tur ileri gidip 2 saniye bekleyip, sonra bir tur geri gelmesini isteyeceğiz.
Gerekli Malzemeler
1 adet Arduino Uno R3
1 adet breadboard
1 adet Step Motor
9 adet jumper kablo (5 EE, 4DE)
28 BYJ-48 Redüktörlü Step Motor ve ULN2003A Step Motor Sürücü Kartı nedir?
28 BYJ-48 5V'luk hobi, robotik ve elektronik projelerde kullanabileceğiniz redüktörlü bipolar step motordur.
Kart üzerinde 4 led ve 4 kontrol pini bulunmaktadır. Bu pinler sayesinde step motorun sürülmesini, Arduino veya herhangi bir mikrodenetleyeci ile gerçekleştirebilirsiniz. (Robotistan)
Step Motor Özellikleri:
Çalışma Gerilimi: 5V DC
4 Fazlı
Adım Açısı 5.625°/64
Frekans: 100 Hz
Direnç: 130 Ohm
Step Motor Devresi
Step Motor Kodları
Dilerseniz çeşitli kütüphanelerle daha az satır kodla step motoru çalıştırabilirsiniz.
// Meraklı Mühendis Sayfasının hazırlığı kodlar kullanılmıştır.
//Dilerseniz farklı fonksiyonlar kullanabilirsiniz.
const int motorPin1 = 2;
const int motorPin2 = 3;
const int motorPin3 = 4;
const int motorPin4 = 5;
int bekleme = 10;
// bekleme süresini değiştirerek step motorun hızlı veya yavaş ilerlemesini sağlayabilirsiniz.
//1sn=1000
void adim1() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(bekleme);
}
void adim2() {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(bekleme);
}
void adim3() {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(bekleme);
}
void adim4() {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(bekleme);
}
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
for (int i = 0; i < 512; i++) // buradaki 512 değerleri step motorun tam bir tur dönmesini sağlıyor. dilerseniz bu sayıyı değiştirebilirsiniz
{
adim1();
adim2();
adim3();
adim4();
}
delay(2000); // 2 saniye bekle
for (int i = 0; i < 512; i++)
{
adim4();
adim3();
adim2();
adim1();
}
delay(2000);
}
Step Motor Kullanımı Mblock Kodları
Öncelikle uzantılar, uzantıları yönet kısmından step motor sürücüyle ilgili kod blokların gelmesi için gerekli uzantıyı indiriyoruz. Biz ULN2003 Step Motor Sürücü isimli uzantıyı ekledik.
Konuyla ilgili önerilen videolar
Evde Elektronik
https://www.youtube.com/watch?v=dhzL9snzaJY
Roobtistan
https://www.youtube.com/watch?v=oxjZ4GaAbhs
Meraklı Mühendis
https://www.youtube.com/watch?v=TQLa4YLJ46Y