Подскажите пожалуйста со скетчем для шагового двигателя и дальгомером HC-SR04

Николай620
Offline
Зарегистрирован: 10.12.2019

К примеру хочу поставить задачу когда подхожу к машинке на расстояние 40 см она отЬезжала назад на определенное количество шагов и это повторялось,начинаю изучать только новенький в этом деле понять алгоритм скетча собрать его))СПАСИБО))

Николай620
Offline
Зарегистрирован: 10.12.2019

int TrigPin = 2;

int EchoPin = 3;

int LedPin = 13;

 

void setup() {

Serial.begin (9600);

pinMode(TrigPin, OUTPUT);

pinMode(EchoPin, INPUT);

pinMode(LedPin, OUTPUT);

}

void loop() {

int distance, duration;

digitalWrite(TrigPin, HIGH);//На пин Trig подаётся логическая единица.

delayMicroseconds(10);//Удерживается это состояние 10 микросекунд

digitalWrite(TrigPin, LOW);//убирается это состояние

duration = pulseIn(EchoPin, HIGH);//Значение с пина Echo, считывается и записывается в значение duration

duration = duration/29/2;//Подсчёт дистанции. Скорость звука 340 м/с или 29 микросекунд на сантиметр

Serial.print(duration);

Serial.println(" cm");

if (duration<50) // Если расстояние менее 50 сантиметром

{    

digitalWrite(LedPin, HIGH); // Светодиод горит

} 

else

{  

digitalWrite(LedPin, LOW); // иначе не горит

}  

delay(1000);

}

это что б светодиод загарался

Николай620
Offline
Зарегистрирован: 10.12.2019
01 #include <Stepper.h>
02  
03 const int stepsPerRevolution = 192;   // Количество шагов
04 Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
05  
06 void setup()
07 {
08   myStepper.setSpeed(60);             // Установка скорости 60 об/мин
09   Serial.begin(9600);                
10 }
11  
12 void loop()
13 {
14   Serial.println("clockwise");      
15   myStepper.step(stepsPerRevolution);
16   delay(500);
17   Serial.println("counterclockwise");
18   myStepper.step(-stepsPerRevolution);
19   delay(500);
20 }

это двигатель вращается туда обратно

Николай620
Offline
Зарегистрирован: 10.12.2019
01 int TrigPin = 2;
02 int EchoPin = 3;
03  
04 #include <Stepper.h>
05  
06 const int stepsPerRevolution = 200;   // Количество шагов
07 Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
08  
09  
10 void setup()
11  
12 {
13   Serial.begin (9600);
14   pinMode(TrigPin, OUTPUT);
15   pinMode(EchoPin, INPUT);
16   
17 }
18  
19 {
20   myStepper.setSpeed(60);             // Установка скорости 60 об/мин
21   Serial.begin(9600);                
22 }
23  
24 void loop()
25  
26 {
27  int distance, duration;
28  digitalWrite(TrigPin, HIGH);//На пин Trig подаётся логическая единица.
29  delayMicroseconds(10);//Удерживается это состояние 10 микросекунд
30  digitalWrite(TrigPin, LOW);//убирается это состояние
31  duration = pulseIn(EchoPin, HIGH);//Значение с пина Echo, считывается и записывается в значение duration
32  duration = duration/29/2;//Подсчёт дистанции. Скорость звука 340 м/с или 29 микросекунд на сантиметр
33  Serial.print(duration);
34  Serial.println(" cm");
35  if (duration<50) // Если расстояние менее 50 сантиметром
36  
37 {    
38  Serial.println("counterclockwise");
39   myStepper.step(-stepsPerRevolution);
40 }
41  
42 else
43  
44 ШАГОВЫЙ ДВИГАТЕЛЬ СТОИТ

 

Николай620
Offline
Зарегистрирован: 10.12.2019

в последнем скетче подскажите пожалуйста