Arduino + servo motor + potenciômetro

OBJETIVO
Controlar a posição de um servo motor RC com um Arduino e um potenciômetro.


SERVO MOTOR

Servo-motores possuem três fios: VCC, Terra e o sinal.  O fio de alimentação é tipicamente de cor vermelha, ligado no 5 volts da placa do Arduino. O terra é  preto ou marrom, é ligado no GND da placa. O pino de sinal é de cor amarela ou laranja e deve ser ligado no pino 9 da placa.


POTENCIÔMETRO

O potenciômetro possui 3 terminais, os dois externos são ligados no 5V e no GND do Arduíno, o terminal do meio (cursor) e ligado na entrada analógica do Arduino.




O circuito é montado da seguinte maneira:
O fios Vermelhos são ligados no 5V
Fio preto no GND
Amarelo no Pino 9 do arduino e no Sinal do Servo-motor
Amarelo no Pino analógico 2 e pino central do potenciômetro



CÓDIGO DO ARDUINO

O Código a seguir deve ser gravado para que o Arduino possa controlar efetivamente o servo-motor


Código
// Controlar a posição do servo através de um potenciômetro (resistor variável)

#include <Servo.h> 

Servo myservo; 

int potpin = 2;  // Iniciando o pino analógico conectado ao                 
                    potenciômetro

int val;        //Variável para ler o valor do pino analógico

void setup()
{
  myservo.
attach(9); // Atribui o servo no pino 9 para o objeto servo 
}

void loop()
{
  val = 
analogRead(potpin);            //lê o valor do potenciómetro                      
                                         (valor entre 0 e 1023) 
  val = 
map(val, 0, 1023, 0, 179);  // determina os valores para o servo 
  myservo.
write(val);                  // Define a posição do servo de
                                        acordo com o valor escalado
  
delay(15);                           // espera por o servo chegar 
}



LINKS:

Comentários