Arduino, Internet das Coisas e Computação vestível

Você está em » Home :: Motores ::: Servo Motor Mg996R

[Voltar]

[Avançar]

Servo Motor Digital Mg996R

Descrição

É motor eletrônico desenvolvido para aplicação em projetos robóticos. Possui grande precisão e destaca-se pela sua capacidade de propiciar rotações de 45°, 90°, 180°, 270° ou 360° com torque máximo de 11 kgf/cm em 6V. O sistema de transmissão é composto por engrenagens metálicas, o que garante maior durabilidade, segurança e força. Acompanha um kit com diversos acessórios, onde com eles é possível utilizar o servo motor para os mais diversos fins.


Especificações

  • Modelo: MG996R.
  • Torque: 9,4kgf/cm em 4.8V e 11kgf/cm em 6.0V. 
  • Posição: 45°, 90°, 180°, 270° ou 360°
  • Velocidade de operação: 60/0.17 graus/segundo - 4.8V sem carga.
  • Velocidade de operação: 60/0.13 graus/segundo - 6.0V sem carga.
  • Comprimento do fio conector: 28cm.
  • Dimensões (CxLxA): 55x20x45mm.
  • Peso: 57g.
  • Peso com embalagem: 65g.

Biblioteca

Baixe a biblioteca: https://github.com/arduino-libraries/Servo


Projeto(s) relacionado(s)


Hand robot InMoov

Projeto de uma mão robótica biônica que utiliza Arduino Uno R3, Servo motores e Sensor de força resistivo para dirigir e controlar cada dedo separadamente. Ele foi desenvolvido em 2012 pelo escultor e designer francês Gael Langevin. Saiba mais em: O modelo para impressão 3D é disponibilizado em: https://www.thingiverse.com/thing:17773/files. A "Hand robot InMoov" é um subprojeto do "Robot InMoov", primeiro robô em tamanho real impresso em 3D de código aberto. Ele pode ser replicável em qualquer impressora 3D com uma área de 12 x 12 x 12 cm. Foi criado como uma plataforma de desenvolvimento para Universidades, Laboratórios e Hobistas. Saiba mais sobre "Hand robot InMoov" em: http://inmoov.fr/

// Projeto: Hand robot InMoov - movimenta um dedo da mão

 #include "Servo.h" 
 
 const int Pino_Servo1 = 5; 
 const int Pino_Resistivo1 = A0; 
 
 int Leitura_Resistivo1;  
 int Posicao_Servo1; 
 Servo Meu_Servo1; 
 
 void setup () { 
       Serial.begin (57600); 
       Meu_Servo1.write (30);  			// Mão fechada. 
       Posicao_Servo1 = 30; 
       Meu_Servo1.attach (Pino_Servo1); 
 } 
 
 void loop () { 
       Leitura_Resistivo1 = analogRead (Pino_Resistivo1); 
       Serial.print ("Analog reading = "); 
       Serial.print (Leitura_Resistivo1); 					// Leitura bruta
       
  // --------- limites estabelecidos da leitura -------- // 
       
       if (Leitura_Resistivo1 < 25) { 
       	    Serial.println (" - Sem pressao"); 
       } else if (Leitura_Resistivo1 < 30) { 
       		    Serial.println (" - Toque leve"); 
       } else if (Leitura_Resistivo1 < 50) { 
      		    Serial.println (" - Aperto leve"); 
       } else if (Leitura_Resistivo1 < 110) { 
       		    Serial.println (" - Aperto médio"); 
       } else if (Leitura_Resistivo1 < 200) { 
       		    Serial.println (" - Aperto forte"); 
       } 
       delay (1000); 
       
       AbreMao (Posicao_Servo1, 1); 
       delay (3000); 
     
       FechaMao (Posicao_Servo1, 1); 
       delay (3000); 
     
 } 
 
 void AbreMao (int posicao, int servo) { 
 
     for (; posicao < 130;  posicao ++) { 
          Meu_Servo1.write (posicao);    
          if (analogRead (Pino_Resistivo1) > 30) {  
              break; 
          }      
     } 
 } 
 
 void FechaMao () { 
 
     Meu_Servo1.write (30);  			 
     posicao = 30; 
}

 
     
 


Garra controlada por potenciômetro

O projeto usa Micro Servo motor SG90, placa Arduino Uno R, potenciômetro e jumpers para controlar uma garra.

// Projeto: Garra controlada por potenciômetro 
// Autor: André Silveira
// Data: 07/07/2019

#include "Servo.h"
 
Servo MeuServo; 					// Criar um Objeto Servo 
int PinoPoten = A0;                        		// Pino de conexão do potenciômetro
int PinoServo = 5;                            		// Pino de conexão do potenciômetro
int angulo  = 0;
 
void setup(){
  MeuServo.attach(PinoServo);                    // Inicializa Servo Motor 
  pinMode(PinoPoten,INPUT);                      // Inicializa potenciômetro
}
 
void loop(){
  angulo = analogRead(PinoPoten);             	// Lê o valor do Potenciometro
  angulo = map(angulo, 0, 1023, 0, 180);    // Mapeia o valor de 0 a 180 graus
  MeuServo.write(angulo);                    	// Repassa o angulo ao ServoWrite 
  delay(15);                                 		// Delay de 15ms para o Servo alcançar a posição
}








Controlando Micro Servo SG90 com Joystick

O projeto usa Arduino Uno R3, Micro Servo motor SG90 e Módulo Joystick KY-023.

// Projeto: Controlando Micro Servo SG90 com Joystick 
// Autor: André Silveira
// Data: 07/07/2019

#include "VarSpeedServo.h"
 
VarSpeedServo Servo01; 				// Cria objeto para controlar o servo 1
VarSpeedServo Servo02; 				// Cria objeto para controlar o servo 2
 
int pino_x = A4; 					// Pino ligado ao X do joystick
int pino_y = A5; 					// Pino ligado ao Y do joystick
int val_x;   						// Armazena valor do eixo X
int val_y;   						// Armazena valor do eixo Y
 
void setup(){

  Servo01.attach(6, 1, 180);   			// Define porta a ser ligada ao servo 1
  Servo02.attach(7, 1, 180);        		// Define porta a ser ligada ao servo 2

}
 
void loop() {
  
  val_x = analogRead(pino_x); 			// Lê valor do eixo x do joystick  
  val_x = map(val_x, 0, 1023, 1, 180);  	// Converte valor lido para um valor entre 1 e 180 graus  
  Servo01.slowmove(val_x, 60);       		// Move servo base para a posicao 
  
  val_y = analogRead(pino_y); 			// Lê valor do eixo y do joystick  
  val_y = map(val_y, 0, 1023, 1, 180);  	// Converte valor lido para um valor entre 1 e 180 graus  
  Servo02.slowmove(val_y, 60);       		// Move servo base para a posicao 

  delay(30);  						// Aguarda movimentação do servo
}








 

[Voltar]

[Avançar]