I have used Arduino UNO R3 with stepper driver A4988 for a stepper motor, with a relay and here my code:
int pinDir = 8;
int pinStep = 9;
int pinRelay = 10;
void setup() {
pinMode(pinRelay, OUTPUT);
pinMode(pinDir, OUTPUT);
pinMode(pinStep, OUTPUT);
digitalWrite(pinRelay, HIGH);
digitalWrite(pinDir, LOW);
digitalWrite(pinStep, LOW);
}
void loop() {
digitalWrite(pinStep, HIGH);
delayMicroseconds(30000);
digitalWrite(pinStep, LOW);
delayMicroseconds(30000);
}
It works perfectly but when I put more code for the ultrasonic sensor, the motor seems to be struggling however the ultrasonic work well
int pinDir = 8;
int pinStep = 9;
int pinRelay = 10;
const int trig = 7;
const int echo = 6;
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(pinRelay, OUTPUT);
pinMode(pinDir, OUTPUT);
pinMode(pinStep, OUTPUT);
digitalWrite(pinRelay, HIGH);
digitalWrite(pinDir, LOW);
digitalWrite(pinStep, LOW);
}
void loop() {
unsigned long duration;
int distance;
digitalWrite(trig, 0);
delayMicroseconds(2);
digitalWrite(trig, 1);
delayMicroseconds(5);
digitalWrite(trig, 0);
duration = pulseIn(echo, HIGH);
distance = int(duration / 2 / 29.412);
digitalWrite(pinStep, HIGH);
delayMicroseconds(30000);
digitalWrite(pinStep, LOW);
delayMicroseconds(30000);
Serial.print(distance);
Serial.println("cm");
delay(200);
}
So my code make the stepper motor work badly or because of the power source? please help, also I use 5V pin arduino for ultrasonic sensor, relay and driver motor A4988, is it ok?