Servo Shield¶
El Servo Shield (v3) controla hasta cuatro servos de hobby estándar directamente desde la OpenMV Cam. Su regulador integrado acepta una entrada de 6–36 V en el bloque de terminales y entrega 5,6 V a hasta 5 A, suficiente para alimentar tanto la cámara como los servos desde una única fuente.
Para consultar la hoja de datos completa, fotos e información de compra, visita la página de producto del Servo Shield.
Características destacadas¶
Controla hasta cuatro servos de hobby a través de P7 / P8 / P9 / P10
Entrada de 6–36 V en el bloque de terminales (tolerante a tensión inversa)
5,6 V a hasta 5 A en VIN: alimenta la cámara y los servos
Entrada ADC de 0–5 V con protección contra sobretensión de hasta ±36 V
E/S digital bidireccional de 0–5 V con cambio de nivel de 3,3 V a 5 V
Distribución de pines¶
Referencia de pines¶
Pin |
Función |
|---|---|
P6 |
Lectura de AIN con cambio de nivel (0–3,3 V en P6) |
P7 |
Servo 1 — GPIO bidireccional 3,3 V ↔ 5 V |
P8 |
Servo 2 — GPIO bidireccional 3,3 V ↔ 5 V |
P9 |
Servo 3 — GPIO bidireccional 3,3 V ↔ 5 V |
P10 |
Servo 4 — GPIO bidireccional 3,3 V ↔ 5 V |
Entrada PWR |
Entrada amplia de 6–36 V en el bloque de terminales (tolerante a tensión inversa) |
Entrada AIN |
Entrada analógica en el bloque de terminales |
Salida VIN |
5,6 V regulados, hasta 5 A combinados para los servos y la cámara |
Riel de 3.3V |
Alimenta la electrónica integrada del shield |
Riel de GND |
Tierra común |
Nota
AIN está protegida contra sobretensión de hasta ±36 V y por defecto es una entrada de tensión de 0–5 V, reducida a 0–3,3 V en P6. Puentea el shunt del modo 4–20 mA en la parte posterior del shield para cambiar AIN a una entrada de bucle de corriente de 4–20 mA.
Nota
Cada uno de los pines P6–P10 está conectado a la cámara a través de una resistencia de 0 ohmios en la parte posterior del shield. Retira la resistencia del pin que quieras reutilizar para otros fines.
Nota
En la versión v2 del shield, P6–P9 son conversores de nivel unidireccionales de 3,3 V → 5 V (solo salida). P10 es una línea digital de drenaje abierto, con pull-up a 3,3 V en el lado de la cámara y a 5 V en el lado del pin del servo. Por defecto es una entrada: el shield convierte el nivel de 0–5 V en el pin del servo a 0–3,3 V en P10. Cambia el puente de soldadura integrado para convertir P10 en una salida, elevando el nivel de 0–3,3 V en P10 a 0–5 V en el pin del servo.
Uso¶
Controla un servo de hobby desde cualquiera de los pines P7–P10 con una señal PWM de 50 Hz. El rango de ancho de pulso varía entre servos, así que ajusta MIN_US y MAX_US para los tuyos: los valores típicos rondan los 1000–2000 µs:
from machine import Pin, PWM
import time
MIN_US = 1000 # full-left pulse width (microseconds)
MAX_US = 2000 # full-right pulse width
servo = PWM(Pin("P7"), freq=50)
def angle(deg):
pulse_us = MIN_US + (deg * (MAX_US - MIN_US)) // 180
servo.duty_ns(pulse_us * 1000)
while True:
angle(0)
time.sleep(1)
angle(90)
time.sleep(1)
angle(180)
time.sleep(1)
Lee la entrada del bloque de terminales AIN (el resultado con cambio de nivel aparece en P6):
from machine import ADC
import time
ain = ADC("P6")
while True:
# 0–5 V on the AIN terminal scaled to 0–3.3 V on P6
v = ain.read_u16() * 3.3 / 65535
print("AIN:", v * (5.0 / 3.3), "V")
time.sleep_ms(100)