servo motor

bom dia. Será que alguém poderia me ajudar? Fiz uma ligação onde irei comandar 2 servos motores por controle RF. No programa ainda fata inserir o segundo servo, mas hoje ao apertar o botao B no controle o servo gira, outro toque ele retoma a posição inicial. Até ai tudo perfeito. O problema que preciso inverter o angulo, ele esta se movimentando no sentido anti horario e preciso que seja o inverso.

Abaixo segue o programa

#include <Servo.h>

#define SERVO 5 // Porta Digital 5 PWM

Servo s; // Variável Servo
int pos; // Posição Servo
int cont = 0;
const int buttonPin = 8;

int buttonState = 0;

void setup ()
{
pinMode(buttonPin, INPUT);
s.attach(SERVO);
s.write(0); // Inicia motor posição zero
cont = 0;
}

void loop()
{
buttonState = digitalRead(buttonPin);

if (buttonState == HIGH)
{
cont++;
delay(100);
}

if (cont == 1)
{

for(pos = 0; pos < 90; pos++)
{
s.write(pos);
delay(4); // esse Delay muda a velocidade do servo, quanto menor o valor mais rápido fica //
}
cont++;
delay(100);
}

if (cont == 3)
{
cont++;
for(pos = 90; pos >= 0; pos–)
{
s.write(pos);
delay(4); // esse Delay muda a velocidade do servo, quanto menor o valor mais rápido fica //
}
cont = 0;
}

}

Boas, apenas precisar de iniciar no ângulo máximo/ou pretendido e depois fazê-lo rodar até 0 graus:

int pos=90; // Posição Servo

s.write(pos);

for(pos=90;pos>0;pos–)…

for(pos=0;pos<90;pos++)…

Uma coisa está a gastar memória desnecessária a variavel “pos” pode ser local.Repare iniciou como global e apenas precisa dela no loop().Espero que tenha ajudado