Ви не увійшли.
Сторінки 1
Всем привет, у меня тут такая задача, но что-то пока не разобрался как это сделать.
У меня есть DC - моторчик, и мне нужно чтобы он работал в две стороны с какой-то частотой(например когда моторчик работает в одном направлении 1 секунду, в другом 5 секунд, потом 2 секунды и в другую 5 и тд, хорошо было бы задавать эти значения с клавиатуры, чтобы была возможность с цикличной частотой и с наростающей, как я описал выше), ход в этого моторчика 60 градусов(ограничен специальными затворками).
Подробнее объясню задачу при контакте, сейчас так сумбурно
Кто за какие цены готов решить эту задачу?
Предложения услуг на почту: fckdoto@gmail.com
Ну так оно точно нормально работать не будет.
В коде не должно быть задержек delay()....
И не надо замораживать поток Serial.Read....Почитай что то типа https://www.instructables.com/id/Coding-Timers-and-Delays-in-Arduino/
Ну или обратись к кому то чтобы нормально написали
Спасибо, буду с этим что-то крутить
Если бы у меня был кто-то, кто разбирается в этом xD
Всем привет, у меня тут такая задача, но что-то пока не разобрался как это сделать.
У меня есть DC - моторчик, и мне нужно чтобы он работал в две стороны с какой-то частотой, но её нужно задать вводом с сериал порта с клавиатуры, ну и например, чтобы эта задержка росла с каждым тиком на 500мс. Я с ардуино не так давно знаком, еще не понял как это реализировать. Это через Serial.read ()?
Вот что я накидал, ну очевидно, что оно не работает, но если убрать эти сериал, моторчик тикает.
#include <L298N.h> //library l298n
int in1 = 8;
int in2 = 9;
int i;
void setup()
{
pinMode(in1, OUTPUT); //in1,in2 as outputs
pinMode(in2, OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.read(i); //Ввести значение задержки i начальное
Serial.write("delayClose=")//Пишет на экране текст и значение
for (i; i<20000; i+500) // От заданого i увеличивается на 500мс
{
digitalWrite(in1, HIGH); //on in1 +, on in2 -
digitalWrite(in2, LOW);
delay(i); //delay after 5s
if (i == 20000) break; // Когда задержка 20с заканчиватся работа
}
Serial.read(k);//Ввести значение задержки k начальное
Serial.write("delayOpen=")//Пишет на экране текст и значение
for (k; k<20000; k+500)// От заданого k увеличивается на 500мс
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(k);
if (i == 20000) break;// Когда задержка 20с заканчиватся работа
}
}
}
Сторінки 1