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

Postagens mais visitadas