Descripción
Uno de los servos más extendidos en el mundo de la electrónica, al combinar un tamaño reducido con un gran par. Su construcción con engranajes metálicos (Metal Gear) lo dota de gran resistencia. Si lo deseas, tenemos la siguiente evolución de este modelo: MG966R.
- Tipo de construcción interna: engranajes metálicos
- Ángulo de rotación: 120º
- Tensión de alimentación: 4.8 V ~ 7.2 V
- Par con rotor bloqueado: 8.5 Kg·cm (@4.8V) / 10 Kg·cm (@6V)
- Velocidad angular: 0.2 s/60º (@4.8V) / 0.16 s/60º (@6V)
- Consumo en reposo: 10 mA
- Consumo sin carga: 170 mA
- Consumo a máximo par: 1.200 mA
- Temperatura de operación: 0 ºC ~ 55 ºC
- Dimensiones aproximadas: 40.7 x 19.7 x 42.9 mm
- Peso aproximado: 55 g
- Control PPM: señal PWM de 50Hz con ancho de pulso 0,5 ms (0º) ~ 2,5 ms (180º)
Accesorios:
- Rueda metálica: aquí
- Extensión cable servo 30 cm: aquí
- Soporte tipo «pie»: aquí
- Soporte recto: aquí
- Soporte tipo «L»: aquí
- Soporte «U corta»: aquí
- Soporte «U larga»: aquí
- Soporte «U grande»: aquí
- Soporte «U oblicua»: aquí
- Soporte multifunción: aquí
Conexionado:
- Rojo: Vcc (4.8 V ~ 7.2 V)
- Negro: GND
- Naranja: señal
Más información: Hoja de datos MG995
Código de ejemplo:
Basado en la librería servo.h (comentarios en español por electronperdido)
#include <Servo.h> //Incluye la librería servo.h en el proyecto // **** VARIABLES **** //Se crea un tipo de variable especial, de tipo "Servo". Es necesario crear una para cada servo (máximo 12). Realmente se llaman "objetos" en la programación en C. Servo servo1; int posicion; // Se crea la variable para la posición a la que llevar cada servo. En este caso la compartirán. // **** INICIALIZACIÓN **** void setup() { servo1.attach(8); // Indica que el servo1 está conectado al pin 8 (cable naranja) } // **** CÓDIGO PRINCIPAL **** void loop() { for (posicion = 0; posicion <= 180; posicion += 1) { // Bucle que varía la posición desde 0 a 180º, en pasos de 1º (esta librería no permite pasos menores) servo1.write(posicion); // Mueve el servo1 a la posición que indica la variable "posicion" delay(20); // Retardo para dar tiempo al servo a llegar a la posición indicada. En cualquier caso, no es recomendable actualizar el valor más rápido de 20ms. } for (posicion = 180; posicion >= 0; posicion -= 1) { // Bucle de 180º a 0º servo1.write(posicion); // Mueve el servo1 a la posición que indica la variable "posicion" delay(20); // Retardo para dar tiempo al servo a llegar a la posición indicada. En cualquier caso, no es recomendable actualizar el valor más rápido de 20ms. } }
Valoraciones
No hay valoraciones aún.