INFORMACIÓN
El Servomotor SG90 RC 9g es un motor que permite el control preciso de la posición angular de 0° hasta 180° mediante una señal PWM. Incluye 3 brazos y 3 tornillos, cuenta con un cable de hasta 25cm.
Son utilizados en gran variedad de proyectos de electrónica, robótica, carros de control remoto, aeronaves y más. Funcionan con la mayoría de tarjetas electrónicas de control con microcontroladores, como por ejemplo las tarjetas de Arduino, Nodemcu, Esp32, Pic´s y Raspberry Pi y otras.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Modelo: SG90
- Color: Azul
- Tamaño: 22.8mm x 12.3mm x 22.5mm
- Peso: 13 g
- Grados / Angulo de Rotación Máximo: 0° a 180°
- Engranajes: Nylon
- Temperatura de trabajo:-30 a +60 °C
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Aplicaciones
- Se utiliza actuador de muchos robots como Biped Robot, Hexapod, brazo robótico, etc.
- De uso común para el sistema de dirección en juguetes RC
- Robots donde se requiere control de posición sin retroalimentación
- Por lo tanto, se usa menos peso en robots con múltiples DOF como robots humanoides
Servomotor SG90 utilizando la tarjeta UNIT DUAL MCU
A continuación te mostramos un diagrama y su respectivo código en MicroPython utilizando Thonny y el RP2040 en la nueva UNIT DUAL MCU para controlar un servomotor SG90 con dos botones:

Código
#Este código también funciona en el ESP32 mismo que se incluye en el UNIT DUAL MCU o por separado, solo recuerda cargar el bootloader de MicroPython y revisar los pines
import machine
import utime
# Configuración de los botones
boton1 = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP)
boton2 = machine.Pin(3, machine.Pin.IN, machine.Pin.PULL_UP)
# Configuración de los LEDs (opcional)
led1 = machine.Pin(21, machine.Pin.OUT)
led2 = machine.Pin(15, machine.Pin.OUT)
# Configuración del pin de control del servomotor
servo_pin = machine.Pin(0)
# Crea un objeto PWM para controlar el servomotor
pwm_servo = machine.PWM(servo_pin)
# Frecuencia del PWM para el servomotor (50 Hz)
pwm_servo.freq(50)
# Función para ajustar el ángulo del servomotor
def set_servo_angle(angle):
duty_cycle = int(1024 + (angle / 180) * 3072)
pwm_servo.duty_u16(duty_cycle)
try:
valor = 90 # Ángulo inicial en 90 grados
while True:
# Si el botón 1 está presionado, mueve el servomotor en una dirección (aumenta el ángulo)
if boton1.value() == 0: # Si el botón 1 está presionado
if valor < 390:
valor += 10
set_servo_angle(valor)
print(f"Ángulo del servo: {valor} grados") # Solo para depuración
led1.on() # Enciende el LED1 cuando el botón 1 está presionado
led2.off() # Apaga el LED2
# Si el botón 2 está presionado, mueve el servomotor en la dirección opuesta (disminuye el ángulo)
elif boton2.value() == 0: # Si el botón 2 está presionado
if valor > 0:
valor -= 10
set_servo_angle(valor)
print(f"Ángulo del servo: {valor} grados")
led2.on() # Enciende el LED2 cuando el botón 2 está presionado
led1.off() # Apaga el LED1
else:
led1.off() # Apaga LED1 cuando no se presiona el botón 1
led2.off() # Apaga LED2 cuando no se presiona el botón 2
utime.sleep(0.02) # Pausa corta para evitar lecturas innecesarias
except KeyboardInterrupt:
# Detén el PWM y limpia los recursos al interrumpir el programa con Ctrl+C
pwm_servo.deinit()
print("\nPWM detenido. Recursos liberados.")
*Nota: El servomotor incorpora un controlador que sólo permite tener una rotación 0° hasta 180° si se manda el ancho de pulso PWM desde el microcontrolador. Si estás utilizando el probador de servos este estará limitado de 0° a 90°. Este servo no incorpora tope para definir en los engranes mecánicamente la rotación de 0° hasta 180° por lo que si gira de forma manual el servo tendrá una rotación continua sin tener tope.

Fuente Conmutada 48V 12.5A
TDA8932 Amplificador Monoaural 35W 12-24V
PIC16F886-I/SP Microcontrolador 8bits DIP-28
MYJG60W-1 AC 110V Fuente de Poder para Maquina Laser
Puntas para Multímetro de 1000V 10A
Cautín de 60W 110V con Puntas Soporte y Esponja
Transformador 6VC/T 1A con Tap Central
Elevador de Voltaje 1200W 20A
Kit Reloj Electrónico Digital AT89C2051 4 Bits
ARYX5300 Reproductor MP3 WAV UART Micro SD
Estación de Soldadura con Brazos Flexibles
Cable Dúplex para Bocina 22 AWG 2 Vías Bicolor 1 Metro
Limpiador de Alambre para Puntas de Cautín
UNIT Placa de Expansión para Raspberry Pi Pico
Pico Gravity Board V1.0 Placa de Expansión para Raspberry Pi Pico DFR0848
TTP223B Sensor Capacitivo Touch - UNIT DevLab
Convertidor de PWM a Voltaje Analógico 0-10V PLC
Led RGB Catodo Comun KY-016
Punta de Prueba SMD para Multímetro
Limpiador Electrónico en Aerosol 450ml DesTec
140 alambres para puentear 14 tamaños protoboard
PIC18F2550-I/SP Microcontrolador 8 Bits DIP-28
Pasta para Soldar ZJ-18 30g
DualMCU ONE ESP32 + RP2040 - UNIT DevLab
UShieldX Shield de Expansión para Arduino UNO
Eliminador 5V 3A USB C






































Valoraciones
No hay valoraciones aún.