Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Simplificar código

$
0
0
Boas... Escrevi um pequeno código para recriar um movimento tipo radial para usar nos conhecidos sistemas pan/tilt, que usam dois servo-motores, um para o eixo dos xx e outro para o eixo dos yy. #include <Servo.h> #define VSPEED 8 #define HSPEED 10 #define UP 1 #define DOWN 0 Servo horservo; // create servo object to control a servo Servo verservo; // a maximum of eight servo objects can be created int verpos = 0; // variable to store the vertical servo position int horpos = 0; // variable to store the horizontal servo position void setup(){ horservo.attach(9); // attaches the horizontal servo on pin 9 to the servo object verservo.attach(8); // attaches the vertical servo on pin 9 to the servo object horservo.write(90); verservo.write(0); Serial.begin(9600); } void Print_Data(){ Serial.print("Vert Pos: "); Serial.print(verpos); Serial.print(","); Serial.print("Hor Pos "); Serial.print(horpos); Serial.print('\n'); } void motion_1(){ for(; horpos < 180; horpos += 2){ horservo.write(horpos); if(verpos < 90){ verservo.write(++verpos); delay(VSPEED); } else if (verpos > 0){ verservo.write(--verpos); delay(VSPEED); } delay(HSPEED); Print_Data(); } for(; horpos > 0; horpos -= 2){ horservo.write(horpos); if(verpos < 90){ verservo.write(--verpos); delay(VSPEED); } else if (verpos > 0){ verservo.write(--verpos); delay(VSPEED); } delay(HSPEED); Print_Data(); } } void motion_2(){ for(pos = start_pos; pos != end_pos; ) } void loop(){ motion_1(); } O código está a funcionar, não sei se está perfeito ou não, mas para já serve! No entanto, alguém com que eu estava a conversar, disse-me que o meu código podia ser simplificado e deu-me algumas pistas: Estas foram as pistas! Será que me conseguem ajudar???

Viewing all articles
Browse latest Browse all 14700