У меня есть 2 шаговых двигателя и ултрозвуковой датчик hc-rs04. И нужно сделать так чтобы когда hc-rs04 получит сигнал в радиусе 30 см шаговый двигатель замедлялся. Я смог подключит только один шаговый двигатель, и когда звуковой датчик уловил сигнал в ростояние 30 см шаговый двигатель замедлился. Но когда я попробовал сразу на два шаговых двигателя все перестало работат.
Вот код:
#include <Stepper.h>
const int stepsPerRevolution = 400;
const int stepsPerRevolution1 = 400;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); // Порты для двигателей
Stepper myStepper2(stepsPerRevolution1, 4,5,6,7);
const int trigPin = 12; // Подключение hc-rs04
const int echoPin =13;
long duration;
int distance;
long duration1;
int distance1;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;
if (distance > 40) {
myStepper.step(stepsPerRevolution);
myStepper.setSpeed(25);
}
duration1 = pulseIn(echoPin, HIGH);
distance1= duration1*0.034/2;
if(distance1 > 30){
myStepper2.step(stepsPerRevolution1);
myStepper2.setSpeed(25);
}
}