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.
Tags:
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.;
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por