sexta-feira, 9 de maio de 2014

Teste de Servo Motor com Arduino

Palavras-chave: Servo, Motor, Arduino, Tower, Pro, SG90.

Há um tempo, comprei um servo motor da Greatplanes. Depois de meses, fui desembalar para utilizar e com o cheirinho de novo veio a surpresa... ele não funcionava!

Infelizmente já era tarde para acionar a garantia.

Enfim, aprendi a lição: "Sempre teste os servo motores principalmente se forem aqueles chineses baratinhos!"

Neste post deixo um procedimento fácil e rápido para testá-lo, utilizando o Arduino e uma adaptação do código exemplo Sweep que acompanha a IDE.

INFORMAÇÕES INICIAIS

IDE Arduino: v.1.5.4;
Library: Servo;
Arduino Uno R2;
Micro Servo Motor Tower Pro SG90 9g.

PROCEDIMENTO

A Figura 1 mostra o servo motor utilizado no teste.

Fig. 1 - Micro servo motor Tower Pro SG90 9g.

Copie o código abaixo integralmente e faça o upload.

/*-------------------------------------------------- 
 * TESTE DE SERVO MOTOR
 * 
 * Codigo original por BARRAGAN
 * <http://barraganstudio.com>
 *
 * Adaptado por BINARYCODEC
 * <http://www.binarycodec.blogspot.com>
 * Data: 08/05/2014 
 * v.1.0 
--------------------------------------------------*/ 

#include <Servo.h> 
 
Servo myservo; // Cria objeto servo para controle (max. de 8 objetos)
 
int pos = 0; // Variavel para armazenar a posicao do servo motor
 
void setup() 
{ 
  myservo.attach(6); // Conectar servo motor no pino digital 6
} 
  
void loop() 
{ 
  for(pos = 0; pos < 90; pos += 1) // Vai de 0 a 90 graus em incrementos de 1 grau
  {                                   
    myservo.write(pos); // Manda o servo motor ir para a posicao "pos"
    delay(6); // Espera 6ms para o servo voltar para "pos" 
  } 
  
  for(pos = 90; pos>=1; pos-=1) // Vai de 90 graus para 0 
  {                                
    myservo.write(pos); // Manda o servo motor ir para a posicao "pos" 
    delay(6); // Espera 6ms para o servo voltar para "pos"
  } 
  
} 

Conecte o servo motor no Arduino da seguinte forma:

Fio vermelho -> 5V
Fio marrom -> Gnd
Fio laranja -> D6 (pino digital)

Nenhum comentário: