maly222
@maly222
Учусь основам робототехники.

Как управлять шаговым двигателям с помощью hc-rs04?

Мне хотелось сделать так, чтобы когда ультразвуковой датчик получит сигнал в растоняние 20 см сработал код для остоновкий шагового двигателя.hc-rs04.

Я попробовал так:
#include <CustomStepper.h>        
#include <Ultrasonic.h>
CustomStepper stepper1(4,5,6,7); 
CustomStepper stepper2(8,9,10,11);
int example1 = 1; 
int example2 = 1;

Ultrasonic ultrasonic(12, 13);
int distance;
void setup()
{ 
   Serial.begin(9600);
 stepper1.setRPM(16);   //Для первого двигателя это stepper1              
  stepper1.setSPR(4075.7728395);  
   stepper2.setRPM(16);          //И для второго это stepper2      
  stepper2.setSPR(4075.7728395);

}

void loop()
{
 if (stepper1.isDone() and example1 == 1)  
  {
    stepper1.setDirection(CCW);        
    stepper1.rotate(1);                
  }
  stepper1.run(); 

       
 if (stepper2.isDone() and example2 == 1)  
  {
    stepper2.setDirection(CW);        
    stepper2.rotate(1);                
  }
  
  stepper2.run();      
  distance = ultrasonic.read();
  
  Serial.print("Distance in CM: ");
  Serial.println(distance);
  delay(1000);
if(Distance == 20){
stepper=0;
}else if(Distance!==20){
stepper.run();
}
}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
@AlexSku
Программист по автоматике
Изучите язык контроллеров "Граф состояний", нарисуйте программу (там есть параллельные структуры).
Пример Stateflow на MatLab (в Матлабе есть примеры переноса кода на Ардуино).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы