Control preciso de posicion angular de 0 a 180 grados. Desde el diminuto SG90 hasta el potente MG996R, elige el servo ideal para cada proyecto.
Micro Servo SG90
Servo MG996R
Motores de corriente continua con caja reductora y sistema de control de posicion integrado, que permiten girar el eje exactamente al angulo deseado.
Un servomotor es un actuador que combina un motor DC, una caja reductora de engranajes y un sistema de retroalimentacion interno. A diferencia de un motor normal que simplemente gira, el servo recibe una senal PWM (modulacion por ancho de pulso) y mueve su eje exactamente al angulo indicado, entre 0 y 180 grados, manteniendolo en esa posicion con fuerza.
Con micro:bit y MakeCode la programacion es tremendamente sencilla: no necesitas ninguna extension adicional, el entorno ya incluye el bloque "servo write pin" que acepta directamente un angulo de 0 a 180. Solo conecta el cable de signal al pin de servo de la shield (P0, P1 o P2) y ya puedes controlar la posicion con una sola instruccion.
Los servos necesitan 5V para funcionar correctamente. Asegurate de que la shield expansion tiene pila conectada. Con solo el cable USB del micro:bit no hay suficiente corriente y el servo se comportara de forma erratica.
Dos opciones para cada necesidad: el compacto SG90 para proyectos ligeros y el robusto MG996R para aplicaciones de mayor exigencia.
Proyectos ligeros, mecanismos pequenos, aeromodelismo ligero y primeros proyectos de robotica educativa.
Brazos roboticos, proyectos con carga, mecanismos de precision y robotica avanzada con altas exigencias de fuerza.
Ambos servos (SG90 y MG996R) se conectan de forma identica. Tres pasos sencillos para tener tu servo funcionando.
| Pin servo | Cable | Descripcion | Conexion en shield |
|---|---|---|---|
| S — Signal | Amarillo / Naranja | Señal PWM de control | P0, P1 o P2 (pin servo) |
| V — VCC | Rojo | Alimentacion 5V | V de la shield (pila necesaria) |
| G — GND | Marron / Negro | Tierra comun | G de la shield |
Codigo listo para usar en MakeCode (JavaScript) y MicroPython. El control de servo esta integrado en MakeCode, sin extensiones.
// Servomotor - Control de posicion 0-180 grados // Conectado al pin P0 (servo) // Ir al centro al empezar pins.servoWritePin(AnalogPin.P0, 90) basic.pause(1000) basic.forever(function () { // Girar al boton A: posicion 0 if (input.buttonIsPressed(Button.A)) { pins.servoWritePin(AnalogPin.P0, 0) basic.showIcon(IconNames.ArrowLeft) } // Girar al boton B: posicion 180 if (input.buttonIsPressed(Button.B)) { pins.servoWritePin(AnalogPin.P0, 180) basic.showIcon(IconNames.ArrowRight) } basic.pause(100) })
from microbit import * # Funcion auxiliar para mover servo a un angulo (0-180) def servo_write(pin, angulo): # Convierte angulo a pulso PWM (26 = 0°, 77 = 90°, 128 = 180°) pulso = int(26 + (angulo / 180) * 102) pin.write_analog(pulso) # Ir al centro al empezar servo_write(pin0, 90) sleep(1000) while True: # Boton A: posicion 0 grados if button_a.is_pressed(): servo_write(pin0, 0) display.show(Image.ARROW_W) # Boton B: posicion 180 grados elif button_b.is_pressed(): servo_write(pin0, 180) display.show(Image.ARROW_E) sleep(100)
basic.forever(function () { for (let ang = 0; ang <= 180; ang += 10) { pins.servoWritePin(AnalogPin.P0, ang) basic.pause(50) } for (let ang = 180; ang >= 0; ang -= 10) { pins.servoWritePin(AnalogPin.P0, ang) basic.pause(50) } })
basic.forever(function () { let incl = input.acceleration(Dimension.X) let angulo = Math.map(incl, -1023, 1023, 0, 180) angulo = Math.constrain(angulo, 0, 180) pins.servoWritePin(AnalogPin.P0, angulo) basic.pause(20) })
basic.forever(function () { let seg = (input.runningTime() / 1000) % 60 let ang = Math.map(seg, 0, 59, 0, 180) pins.servoWritePin(AnalogPin.P0, Math.round(ang)) basic.pause(1000) })
let posicion = 90 pins.servoWritePin(AnalogPin.P0, posicion) basic.forever(function () { if (input.buttonIsPressed(Button.A) && posicion > 0) { posicion -= 5 pins.servoWritePin(AnalogPin.P0, posicion) basic.pause(100) } if (input.buttonIsPressed(Button.B) && posicion < 180) { posicion += 5 pins.servoWritePin(AnalogPin.P0, posicion) basic.pause(100) } })
Disponibles en varias tiendas online. Los precios indicados son por unidad. El SG90 y el MG996R se compran por separado.
Estructuras disenadas especificamente para integrar servos en proyectos educativos. Listas para imprimir o te las enviamos impresas en PLA.
Proyectos probados en el aula que usan servomotores como componente principal. Ordenados de menor a mayor complejidad.