А если удалить все, что касается ИК-приемника и сериала, то шаговик начнет крутиться. Такое ощущение, что библиотеки для шаговиков ни с чем нельзя использовать.
Ну слава богу - локализовали проблему! А теперь берем другую библиотеку для шаговых двигателей (ну не верю я, что это единственная) и проверяем ее.
mykaida, штатная библиотека <Stepper.h> работает с библиотекой <IRremote.h>, но криво. Пока мотор крутится ничего нельзя сделать. Библиотеки <CustomStepper.h> и <AccelStepper.h> я не понял как подружить с <IRremote.h> и даже с Serial.
mykaida, штатная библиотека <Stepper.h> работает с библиотекой <IRremote.h>, но криво. Пока мотор крутится ничего нельзя сделать. Библиотеки <CustomStepper.h> и <AccelStepper.h> я не понял как подружить с <IRremote.h> и даже с Serial.
Вы извините, конечно, но в ШТАТНОЙ библиотеке stepper я не нашел stepper.run(). Что и не удивительно.
Скетч рабочий. Вы видимо что-то неправильно подключаете. Проверьте работоспособность пинов и/или поменяйте их. Проверьте коды пульта. Я уже давно разобрал схему, иначе выложил бы видео, а собирать заново неохота.
т.е. программа виснет на stepper.run();
А если убрать тоже виснет ?
AlexanderNO Так после нажатия кнопки пульта, example должна присвоится 1.
int
example = 0;
loop()
if
(results.value == 0x20DF40BF) example = 1;
Или я что-то не понимаю?
До нажатия кнопки надо, чтобы программа загрузилась. А сразу после загрузки начинается loop и упирается в stepper.run(); еще до Вашего нажатия.
Не помню что, но иногда в последней строке что то вставляют чтобы лооп не останавлялся, возможно что этот
перенести туда хватит.
https://forum.arduino.cc/index.php?topic=464583.0
Rename your loop() function to something else, for instance: drive_the_car()
Write a new loop() function whose job it is to invoke driive_the_car() when conditions are such that it ought to be invoked.
т.е. программа виснет на stepper.run();
Ну слава богу - локализовали проблему! А теперь берем другую библиотеку для шаговых двигателей (ну не верю я, что это единственная) и проверяем ее.
mykaida, штатная библиотека <Stepper.h> работает с библиотекой <IRremote.h>, но криво. Пока мотор крутится ничего нельзя сделать. Библиотеки <CustomStepper.h> и <AccelStepper.h> я не понял как подружить с <IRremote.h> и даже с Serial.
AlexanderNO, Вы правы. Присвоил 1 переменной example и loop закрутился, а мотор нет.
Монитор порта:
mykaida, штатная библиотека <Stepper.h> работает с библиотекой <IRremote.h>, но криво. Пока мотор крутится ничего нельзя сделать. Библиотеки <CustomStepper.h> и <AccelStepper.h> я не понял как подружить с <IRremote.h> и даже с Serial.
Вы извините, конечно, но в ШТАТНОЙ библиотеке stepper я не нашел stepper.run(). Что и не удивительно.
Попробуйте вместо 21-49:
Исправил 11.
такие конструкции в коде просто бесют сутра
if
(stepper.isDone() ==
false
)
isDone и так возвращает bool, нахрена bool в bool преобразовывать?
if
(!stepper.isDone()
)
и сё.
DetSimen, спасибо! Пора значит заканчивать ночные бдения)
Рабочий код для AnyPenny
такие конструкции в коде просто бесют сутра
if
(stepper.isDone() ==
false
)
isDone и так возвращает bool, нахрена bool в bool преобразовывать?
if
(!stepper.isDone()
)
и сё.
AlexanderNO, к сожалению скетч не работает. Извиняюсь за долгий ответ.
Спасибо большое за помощь.
Скетч рабочий. Вы видимо что-то неправильно подключаете. Проверьте работоспособность пинов и/или поменяйте их. Проверьте коды пульта. Я уже давно разобрал схему, иначе выложил бы видео, а собирать заново неохота.
такие конструкции в коде просто бесют сутра
if
(stepper.isDone() ==
false
)
isDone и так возвращает bool, нахрена bool в bool преобразовывать?
if
(!stepper.isDone()
)
и сё.
Зато в коде сия конструкция меньше места занимает, ежели читать состояние пина напрямую и инвертировать )))
Зато в коде сия конструкция меньше места занимает, ежели читать состояние пина напрямую и инвертировать )))
меньше чем эта ?
AlexanderNO, мотор заработал после того как убрал строчку
"
Serial
.begin(9600);"
Спасибо большое за скетч, была такая же проблема!!!