Arduino + Servo Motor Tower Pro SG-5010

Bem pessoal, hoje a tarde chegou meu mais novo componente para iteração com o arduino, eu falo do Servo Motor Tower Pro SG-5010. Fiquei entusiasmado com a novidade e acabei fazendo mais um projeto simples para demonstração do poder de um “bixo” desses. Sim, falo sobre o poder porque tentei alimenta-lo pela porta USB do computador e ele nem sequer saiu do lugar! Confesso que no começo achei estranho mas então fiz um contato com o ORÁCULO (Google) para ver o que ele me dizia a respeito deste, foi então que descobri que para alimenta-lo eu precisaria de uma bateria (2 pilhas medias ou bateria 9 volts) ou então ligar o arduino diretamente na tomada através de uma fonte 9 volts (a mesma utilizada em celulares e que acompanha o arduino).

Após descobrir esse fato fui direto ao ponto ou melhor, ao projeto. Como base para os testes utilizei dois códigos que acompanham a IDE do arduino, esses codigos são: Knob e Sweep.

Código Knob: Nesse código o autor utiliza um potenciómetro para fazer o controle do servo motor, o código original esta comentado em inglês, para uma melhor compreensão vou mostra-lo em português. Veja:

// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

#include <Servo.h>
Servo myservo;  // cria um objeto do tipo myservo para acessar os métodos
int potpin = 0;  // define um pino analógico para ligar o potenciómetro
int val;    // variavel para armazenar o valor lido do pino analógico

void setup()
{
  myservo.attach(9);  // atribui o pino 9 do arduino para ser controlado pelo objeto
}

void loop()
{
  val = analogRead(potpin);        // lê o valor do potenciometro  (valores entre 0 e 1023)
  val = map(val, 0, 1023, 0, 179);// scalas usadas pelo servo (valores entre 0 e 180)
  myservo.write(val);            // seta o servo de acordo com a posição (scala) lida acima por analogRead()
  delay(15);                    // espera 15 milissegundos para a nova posição
}

Veja o esquema elétrico (hardware):

Veja o resultado.

Código Sweep. Nesse código o autor utiliza dois laços for() para fazer com que o servo movimente 180 graus para direita e logo após 180 graus para esquerda. Veja:

// Sweep
// by BARRAGAN <http://barraganstudio.com>

#include <Servo.h>

Servo myservo;// cria um objeto do tipo myservo para acessar os metodos
              // podem ser criados um maximo de 8 objetos do tipo servo
int pos = 0; // variavel para armazenar a posição do servo

void setup()
{
  myservo.attach(9);// atribui o pino 9 do arduino para ser controlado pelo objeto
}

void loop()
{
  for(pos = 0; pos < 180; pos += 1)// vai de 0 a 180 graus incrementando a cada passagem do laço
  {
    myservo.write(pos);           // escreve o valor da posição (pos) movimentando o eixo do servo
    delay(15);                   // espera 15 milissigundos para movimentar o eixo e modificar o grau
  }
  for(pos = 180; pos>=1; pos-=1)// nesse laço supoem-se que o servo ja foi de o a 180, agora ele precisa voltar
  {                             // por isso sai de 180 e vai para 0
    myservo.write(pos);         // escreve o valor da posição (pos) movimentando o eixo do servo
    delay(15);                  // espera 15 milissigundos para movimentar o eixo e modificar o grau
  }
}

Veja o esquema eletrico (hardware):

Veja o resultado.

Então é isso. Deixo aqui um desafio para quem quiser: Controlar o Servo Motor através do teclado! Acompanhem o proximo post, vou fazer um projeto um pouco maior dos que foram postados até agora. O objetivo é a construção de uma garagem inteligente utilizando o sensor ultrasonico, leds e o servo motor, para isso irei construir uma maquete e simular todo o circuito explicando passo a passo a montagem.

Aguardem…

Anúncios
por ferpinheiro Postado em Arduino

3 comentários em “Arduino + Servo Motor Tower Pro SG-5010

  1. Cara nao tenho palavras para descrever quao nobre é sua iniciativa de fazer um blog tao bem explicado, vc ajuda muitos amantes do arduino, parabens por todos os projetos e continue assim generoso e paciente compartilhando conhecimentos, vou estar sempre aqui a espera de projetos novos, abraços.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s