Servo motor com Arduino: Controle de velocidade
Servo motor com Arduino: Controle de velocidade
Controlar a velocidade de um servo motor pode ser útil em muitos projetos de robótica e automação, onde um movimento mais suave e controlado é necessário. Usando a biblioteca VarSpeedServo.h, podemos ajustar diretamente a velocidade do servo motor. Além disso, usaremos dois potenciômetros: um para ajustar a posição e outro para ajustar a velocidade.
Montagem
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | // Programa: Controlando a velocidade de um servo motor #include <VarSpeedServo.h> // Inclui a biblioteca VarSpeedServo para controlar servos com velocidade VarSpeedServo meuServo; // Cria um objeto VarSpeedServo para controlar o servo motor int posPotPin = A0; // Pino analógico onde o potenciômetro de posição está conectado int velPotPin = A1; // Pino analógico onde o potenciômetro de velocidade está conectado int pos; // Variável para armazenar a posição do servo motor int vel; // Variável para armazenar a velocidade do servo motor void setup() { meuServo.attach(6); // Associa o servo motor ao pino digital 6 do Arduino } void loop() { int posVal = analogRead(posPotPin); // Lê o valor do potenciômetro de posição (0 a 1023) int velVal = analogRead(velPotPin); // Lê o valor do potenciômetro de velocidade (0 a 1023) pos = map(posVal, 0, 1023, 0, 180); // Mapeia o valor do potenciômetro de posição para a faixa de 0 a 180 graus vel = map(velVal, 0, 1023, 0, 255); // Mapeia o valor do potenciômetro de velocidade para a faixa de 0 a 255 meuServo.write(pos, vel, true); // Define a posição e a velocidade do servo motor delay(15); // Aguarda um curto intervalo para estabilizar o movimento do servo } |
Comentários
Postar um comentário