Boa noite, estou fazendo um projeto onde basicamente usarei um servo motor para mover uma alavanca. O servo vai ser acoplado no eixo da alavanca, então só preciso fazer com que o servo motor varie até o angulo da alavanca.

O servo deve ser controlado por um botão. Ou seja, quando eu apertar esse botão, o servo irá para a a angulação máxima. Quando ele estiver nessa angulação máxima deve-se acender um LED. Porém, caso eu deseje retornar o servo para a angulação inicial, eu irei apertar esse mesmo botão, e ele voltará para sua angulação mínima. Quando o angulo do servo não estiver na sua angulação máxima, o LED deve apagar. 

A lógica é basicamente simples: aperto um botão, servo vai para a posição máximo. Aperto o botão de novo, o servo volta para a posição inicial. E nesse meio tempo, acenda o LED caso esteja na angulação máxima.

Porém, estou tendo problemas na programação. Não sei o que estou fazendo de errado, porém não está funcionando, o servo não está mexendo. A função "afogar" no código é para mexer o servo da posição inicial, angulação mínima, para posição final, angulação máximo. E a função desafogar é para fazer justamente o contrário. Como ainda não sei o valor em graus desse angulo, usei um define.

Vou postar o código no bloco de notas.

Exibições: 222

Anexos

Responder esta

Respostas a este tópico

Como vc ligou o botão ?

Vejo que vc busca um HIGH para apertado, mas quando o pino está desconectado já é lido um high.

Veja se não é isso. Aih vc teria que por o botão para +5V e um resistor para GND.

O mais convencional seria definir o botão como INPUT_PULLUP  e usar DOWN, com a chave a GND.;

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço