Criei uma função que você chama falando o pino e o ângulo "moverServo(pino , angulo);" e ele faz os cálculos e move, semelhante a biblioteca original, quem quiser usar ta ai. void setup() { pinMode(servo1, OUTPUT); //saída para o servo1 } void loop() { //moverServo(pino , angulo); moverServo(servo1, 90); delay(2000); moverServo(servo1, 180); delay(2000); } void moverservo(int serv, int val) { int tempo = map(val, 0, 179, 600, 2400); int aux = 20000/tempo; for (int i = 0; i
Obrigado pelas informações e parabéns pelos vídeos. Já me ajudaram muito. Gostaria de saber se posso fazer esses movimentos do servo ser mais lento usando esses mesmo algoritmo?
e se eu quiser que o servo gire de 0 a 359º ? o calculo é o mesmo ? ou o valor de 2400mm é o máximo que ele vai e só gira a até 180º ? meu servo é o mg 946R (meu servo é de 360º )
Parabéns Wagner por mais essa aula. me ajuda com uma questão simples? um exemplo de um controlador de PWM com um potenciômetro mais eu preciso de uma certa segurança quando ligo o Arduíno mais não consegui nada a respeito. supondo que ligo o Arduíno com o potenciômetro em sua metade do curso e assim o Arduíno iniciaria ligando o motor já de mediato teria como impedir isso? tipo assim o Arduíno só daria continuidade depois de aguarda 2sg no seu curso minimo. obrigado.
Valeu! Simples de implementar este algoritmo: #define pot A0 void setup() { //definições diversas do setup... pinMode(pot, INPUT); while( analogRead(pot) > 15 ); //prende o código aqui até que o potenciômetro esteja quase no mínimo delay(2000); //aguarda 2 segundos antes de entrar no loop infinito. } void loop() { //código para gerar o PWM com duty cycle baseado na leitura do potenciômetro... }
Olá Wagner, sei que o vídeo é meio "antigo" mas será q poderia me ajudar, gostaria de utilizar o mesmo modelo de controle em mais de um servo ao mesmo tempo. Sabe se é possível utilizando esse programa.
Professor primeiramente agradecer pela aula e postar o código para que pessoas como possa estudar e aprender com o Sr. Parabéns e muito obrigado
Sempre que estou pesquisando sobre algo, acabo caindo no seu canal! Muito legal usar o servo sem biblioteca!
Criei uma função que você chama falando o pino e o ângulo "moverServo(pino , angulo);" e ele faz os cálculos e move, semelhante a biblioteca original, quem quiser usar ta ai.
void setup()
{
pinMode(servo1, OUTPUT); //saída para o servo1
}
void loop()
{
//moverServo(pino , angulo);
moverServo(servo1, 90);
delay(2000);
moverServo(servo1, 180);
delay(2000);
}
void moverservo(int serv, int val)
{
int tempo = map(val, 0, 179, 600, 2400);
int aux = 20000/tempo;
for (int i = 0; i
obrigado, vou testar depois
Obrigado pelas informações e parabéns pelos vídeos. Já me ajudaram muito.
Gostaria de saber se posso fazer esses movimentos do servo ser mais lento usando esses mesmo algoritmo?
Muito bom o exemplo de controle servo
Muito obrigado!
show de bola !
Aula excelente. você poderia fazer um curso de programação em Android e/ou iOS, seria bastante interessante.
+Nfsgamer , valeu! No Clube Maker tem curso de programação IOS, ministrado pelo meu irmão. Confira www.clubemaker.com.br/curso/28
olá, porque na hora da conta para achar o tempo de microsegundos, você tirou 600?
e se eu quiser que o servo gire de 0 a 359º ? o calculo é o mesmo ? ou o valor de 2400mm é o máximo que ele vai e só gira a até 180º ? meu servo é o mg 946R (meu servo é de 360º )
Parabéns Wagner por mais essa aula. me ajuda com uma questão simples? um exemplo de um controlador de PWM com um potenciômetro mais eu preciso de uma certa segurança quando ligo o Arduíno mais não consegui nada a respeito. supondo que ligo o Arduíno com o potenciômetro em sua metade do curso e assim o Arduíno iniciaria ligando o motor já de mediato teria como impedir isso? tipo assim o Arduíno só daria continuidade depois de aguarda 2sg no seu curso minimo. obrigado.
Valeu! Simples de implementar este algoritmo:
#define pot A0
void setup()
{
//definições diversas do setup...
pinMode(pot, INPUT);
while( analogRead(pot) > 15 ); //prende o código aqui até que o potenciômetro esteja quase no mínimo
delay(2000); //aguarda 2 segundos antes de entrar no loop infinito.
}
void loop()
{
//código para gerar o PWM com duty cycle baseado na leitura do potenciômetro...
}
muito obrigado Wagner funcionou tudo certo. obrigado.
Show. Parabens
Olá Wagner, sei que o vídeo é meio "antigo" mas será q poderia me ajudar, gostaria de utilizar o mesmo modelo de controle em mais de um servo ao mesmo tempo. Sabe se é possível utilizando esse programa.
como aumentar a velocidade do servo usando servo.h? a frequencia máxima é 50 Hz?
Amigo, como ficaria o codigo para 03 servos?
Controle remoto sem biblioteca!
Não entendi o calculo quero colocar o servo em 40º como faço ?
Regra de 3. Se 0° equivalem a um pulso de 0,6ms, então 40° equivalem a um pulso de X ms.
vlw gostei.
+Jorge Santos , valeu!