Скорость вращения мотора

IKSBOKS
Offline
Зарегистрирован: 28.07.2022

Всем доброго времени суток прошу помощи как задать скорость вращения шагового двигателя с помощью слайдора с некстион 

#define dirPin 8
#define stepPin 9
#define motor 4000
#include <SoftwareSerial.h>
#include <Nextion.h>

SoftwareSerial nextion(10, 11);// Nextion TX к контакту 10 и RX к контакту 11 Arduino
Nextion myNextion(nextion, 9600); // создаем объект Nextion с именем myNextion, используя последовательный порт nextion @ 9600 бит / с

bool but_nextion = false;

void setup() {
  Serial.begin(9600);
  myNextion.init();
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
}

void loop()
    {

  String message = myNextion.listen(); // проверяем наличие сообщения
  if(message == "65 0 5 0 ffff ffff ffff") but_nextion = false;
  if (message == "65 0 5 1 ffff ffff ffff") but_nextion = !but_nextion;
  if (but_nextion)
    {
      digitalWrite(dirPin, LOW); // Устанавливаем направление вращения по часовой стрелке: 
      for (int i = 0; i < 5 * motor; i++) // Быстрое вращение шагового двигателя на 5 оборотов: 
        {
           // Эти четыре строки приводят к 1 шагу:
            digitalWrite(stepPin, HIGH);
            delayMicroseconds(100);
            digitalWrite(stepPin, LOW);
            delayMicroseconds(100);    
        }  
    }
    delay(3000);
    }

 

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Заменить delayMicroseconds(100); на delayMicroseconds(period);
А значение period брать со слайдеранекстиона.

IKSBOKS
Offline
Зарегистрирован: 28.07.2022

Извини не правильно сформулировал вопрос нужна не скорость а количество оборотов нужно каким то чудным образом менять значение или это #define motor 4000 или в этой строке значение 5  

for (int i = 0; i < 5 * stepsPerRevolution; i++)

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Чудным образом происходит только в сказках. Возьмите время до завтра на «подумать» (или больше, если нужно) и сформулируйте свой вопрос так, чтобы не возникло даже повода потом сказать - «а не, ещё вот» или «и тут» и так далее.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

IKSBOKS пишет:

Извини не правильно сформулировал вопрос нужна не скорость а количество оборотов нужно каким то чудным образом менять значение или это #define motor 4000 или в этой строке значение 5  

for (int i = 0; i < 5 * stepsPerRevolution; i++)

И чем это будет принципиально отличается, от того что я сказал, кроме того, что переменная будет другая ?
stepsPerRevolution это константа(количество шагов в обороте), а количество оборотов у тебя 5.
Заведи переменную(даже могу за тебя название ей придумать, пусть будет "nRevolution") за место этого литерала и меняй ее значение

IKSBOKS
Offline
Зарегистрирован: 28.07.2022

с переменными немного разобрался что то стало понятно =))  подскажи пожалуйста как мне теперь взять значения с некстиона и все это дело связать 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

IKSBOKS пишет:

с переменными немного разобрался что то стало понятно =))  подскажи пожалуйста как мне теперь взять значения с некстиона и все это дело связать 

Это точно опубликовано в разделе "Программирование"? Не в "Вопросах коррекционной педагогики"?

IKSBOKS
Offline
Зарегистрирован: 28.07.2022

Не все такие умные как некоторые или еще не успели научиться что самое интересное (коронованные ? или бестолковые постоянно умудряются сумничать ) а просьба всего лишь была о помощи в пару строк огромное спасибо тем ребятам которые чем то помогли. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Да задолбали новички обижаться!!!

Нормально всё. Конечно нужно учиться, никто за незнание тебя не винит!

РАЗДЕЛ НЕ ТОТ! Неужели сам не видишь, что тебе нужно в песочницу? Вот зачем ты в "Ищу" это запостил? Ты готов платить за такое?

Для Некстиона есть примеры. Куча примеров. Прям в библиотеке. Или без неё, что лучше, просто через сериал.

На основе примера сперва пишешь самый простой код, который тебе значение слайдера будет в Сериал печатать. Ну а дальше сообразишь. Если ты в самом деле не выпускник коррекционной школы! ;))) Только без обид! Не нужно быть таким нежным, как (прости мой французский) кожа на залупе. Цинизма побольше и успех придет! ;)

IKSBOKS
Offline
Зарегистрирован: 28.07.2022

конечно готов заплатить ток все в пределах разумного