Neste post você vai aprender a como controlar servo motores. Para isso vamos inicialmente utilizar a plataforma do Arduino, entretanto podem ser utilizados outros microcontrolador.
No vídeo a seguir são mostrados os detalhes da simulação e do código que vamos utilizar.
Componentes utilizados
Abaixo são listados os componentes utilizados para este projeto:
1 Arduino Uno;
2 Servo Motores;
2 Potenciômetros.
Códigos
O controle da posição do servo motor é determinado de acordo com o tempo que o mesmo permanece em nível lógico alto. Entretanto, o ambiente de programação do Arduino possuí uma biblioteca que facilita o controle de servo motores.
Em nosso primeiro exemplo, foram criados dois laços de repetição for, que variam o ângulo do servo motor de 0º até 180º e depois de 180º até 0º, como mostrado abaixo:
/*
Steps to use Servo Motors:
1. Include Library
#include <Servo.h>
2. Create an objetc Servo:
Servo servo_1
Servo servo_2
3. Define pins to control Servo Motor
servo_1.attach (5)
servo_2.attach (3)
4. Control Servo Motor
servo_1.write(90); // Use angle value max = 180
*/
#include <Servo.h>
int i = 0;
Servo servo_1;
Servo servo_2;
void setup() {
servo_1.attach(5);
servo_2.attach(3);
}
void loop() {
for (i = 0; i < 181; i++) {
servo_1.write (i);
servo_2.write(i);
delay(10);
}
for (i = 180; i > 0; i--) {
servo_1.write (i);
servo_2.write(i);
delay(10);
}
}
No exemplo a seguir, os dois servo motores são controlados pelos potenciômetros.
/*
Steps to use Servo Motors:
1. Include Library
#include <Servo.h>
2. Create an objetc Servo:
Servo servo_1
Servo servo_2
3. Define pins to control Servo Motor
servo_1.attach (5)
servo_2.attach (3)
4. Control Servo Motor
servo_1.write(90); // Use angle value max = 180
*/
#include <Servo.h>
int i = 0;
float control_1 = 0;
float control_2 = 0;
Servo servo_1;
Servo servo_2;
void setup() {
servo_1.attach(5);
servo_2.attach(3);
}
void loop() {
control_1 = analogRead (A0);
control_2 = analogRead (A1);
control_1 = control_1 * 180 / 1023;
control_2 = control_2 * 180 / 1023;
servo_1.write (control_1);
servo_2.write(control_2);
}
Simulação
Abaixo é possível ver a simulação do circuito com dois potenciômetros.
Conclusão
Neste post vimos como controlar servo motores usando a plataforma do Arduino, entretanto é possível fazer o mesmo controle utilizando outros microcontroladores.
Isso é tudo pessoal, e até o próximo post!