300,00 TL269,00 TL
Vergiler Hariç: 269,00 TL
ULN2003 STEP MOTOR SÜRÜCÜULN2003 Step Motor Sürücü Modülü, elektrik enerjisini dönme hareketine dönüştüren, dijital çıkışlı, step motor sürmek için kolaylıkla kullanılabilecek küçük bir sürücü modülüdür.Nerede Kullanılır?Arduino ile robotik kodlama projelerinde kullanılabilir. Özellikle step motor kullanılan robotik uygulamalarda step motor sürücüsü olarak kullanabilirsiniz. Çalışma Voltajı5V DCData Çıkışı DijitalEn43.77mmBoy45.06mmVida Delik Çapı3.2mmÖrnek Proje Devre ŞemasıBu projede, modülün IN1 pini D4pinine, IN2 pini D3 pinine, IN3 pini D2 pinine, IN4 pini D1 pinine bağlanması ve step motora önce 5000 adım daha sonra ters yönde 5000 adım attırılması kodlanmıştır.ULN2003 Step Motor Sürücü ModülüArduino Uno BreadboardIN14IN23IN32IN41Örnek Proje Arduino Kodu/* ALPGEN Robotics */
// Step Motor Sürücü Modül Kullanımı
// 08.05.2021
// Soru ve Yardım İçin: proje@alpgenrobotics.com
// www.alpgenrobotics.com //#include <Arduino.h>
#include <StepperMotor.h>
StepperMotor::StepperMotor(int In1, int In2, int In3, int In4){
// Record pin numbers in the inputPins array
this->inputPins[4] = In1;
this->inputPins[3] = In2;
this->inputPins[2] = In3;
this->inputPins[1] = In4;
// Iterate through the inputPins array, setting each one to output mode
for(int inputCount = 0; inputCount < 4; inputCount++){
pinMode(this->inputPins[inputCount], OUTPUT);
}
duration = 50;
}
void StepperMotor::setStepDuration(int duration){
this->duration = duration;
}
void StepperMotor::step(int noOfSteps){
/*
The following 2D array represents the sequence that must be
used to acheive rotation. The rows correspond to each step, and
the columns correspond to each input. L
*/
bool sequence[][4] = {{LOW, LOW, LOW, HIGH },
{LOW, LOW, HIGH, HIGH},
{LOW, LOW, HIGH, LOW },
{LOW, HIGH, HIGH, LOW},
{LOW, HIGH, LOW, LOW },
{HIGH, HIGH, LOW, LOW},
{HIGH, LOW, LOW, LOW },
{HIGH, LOW, LOW, HIGH}};
int factor = abs(noOfSteps) / noOfSteps; // If noOfSteps is +, factor = 1. If noOfSteps is -, factor = -1
noOfSteps = abs(noOfSteps); // If noOfSteps was in fact negative, make positive for future operations
/*
The following algorithm runs through the sequence the specified number
of times
*/
for(int sequenceNum = 0; sequenceNum <= noOfSteps/8; sequenceNum++){
for(int position = 0; ( position < 8 ) && ( position < ( noOfSteps - sequenceNum*8 )); position++){
delay(duration);
for(int inputCount = 0; inputCount < 4; inputCount++){
digitalWrite(this->inputPins[inputCount], sequence[(int)(3.5 - (3.5*factor) + (factor*position))][inputCount]);
}
}
}
}
..
Sepete Ekle