Вращение сервопривода по графику
- Войдите на сайт для отправки комментариев
Ср, 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)); } } }
Нужен совет. Правильно ли я делаю? Есть ли какие нибудь ошибки? За любой совет или помощь буду благодарен.