Вращение сервопривода по графику
- Войдите на сайт для отправки комментариев
Ср, 30/11/2016 - 22:24
Здравствуйте.
Необходимо написать код который будет изменять скорость согласно графику. У каждого участка графика есть заданное через ком-порт время. На паре говорили, что надо делать через такт. То, до чего додумался:
#include <Servo.h>
Servo myservo;
int speedMotor = 0;
int T1=1;
int T2;
int T3;
int T4;
int T=0;
int Um = 360;
int U2 = 80;
int a1 = 3;
int a2 = 7;
int U;
void setup ()
{
Serial.begin(115200);
Serial.println("Servo Motion");
myservo.attach(10);
}
void loop ()
{
if(Serial.available() > 0)
{
T = Serial.parseInt();
Serial.print("T : ");
Serial.println(String(U));
T=T+1;
if ((T<T1)&&(T>0));
{
U=Um;
}
if ((T<T1)&&(T>T1+T2));
{
U=U2;
}
if ((T<T1+T2)&&(T>T1+T2+T3));
{
U=a1*sin(PI/2*T3+(T1+T2));
}
if ((T<T1+T2)&&(T>T1+T2+T3));
{
U=a2*sin(PI/2*T4+(T1+T2+T3));
}
}
}
Нужен совет. Правильно ли я делаю? Есть ли какие нибудь ошибки? За любой совет или помощь буду благодарен.