Servo Shield#
Servo Shield (v3) menggerakkan hingga empat servo hobi standar langsung dari OpenMV Cam. Regulator on-board-nya menerima input 6–36 V pada terminal block dan menghasilkan 5,6 V hingga 5 A — cukup untuk memberi daya pada kamera maupun servo dari satu sumber daya tunggal.
Untuk datasheet lengkap, foto, dan pemesanan, lihat halaman produk Servo Shield.
Sorotan#
Gerakkan hingga empat servo hobi melalui P7 / P8 / P9 / P10
Input 6–36 V pada terminal block (tahan pembalikan polaritas)
5,6 V hingga 5 A pada VIN — memberi daya pada kamera dan servo
Input ADC 0–5 V dengan proteksi tegangan lebih hingga ±36 V
I/O digital dua arah 0–5 V dengan level shifting 3,3 V ke 5 V
Pinout#
Referensi pin#
Pin | Fungsi |
|---|---|
P6 | Pembacaan kembali AIN bergeser level (0–3,3 V pada P6) |
P7 | Servo 1 — GPIO dua arah 3,3 V ↔ 5 V |
P8 | Servo 2 — GPIO dua arah 3,3 V ↔ 5 V |
P9 | Servo 3 — GPIO dua arah 3,3 V ↔ 5 V |
P10 | Servo 4 — GPIO dua arah 3,3 V ↔ 5 V |
PWR in | Input lebar 6–36 V pada terminal block (tahan pembalikan polaritas) |
AIN in | Input analog pada terminal block |
VIN out | 5,6 V terregulasi, hingga 5 A gabungan untuk servo dan kamera |
Rel 3,3V | Memberi daya pada elektronik on-board shield |
Rel GND | Ground bersama |
Catatan
AIN dilindungi terhadap tegangan lebih hingga ±36 V dan secara default sebagai input tegangan 0–5 V, diturunkan ke 0–3,3 V pada P6. Jembatkan shunt mode 4–20 mA di bagian belakang shield untuk mengalihkan AIN ke input loop arus 4–20 mA.
Catatan
Setiap pin P6–P10 terhubung ke kamera melalui resistor 0-ohm di bagian belakang shield. Lepaskan resistor pada pin mana pun yang ingin Anda gunakan untuk keperluan lain.
Catatan
Pada versi v2 shield, P6–P9 adalah level shifter searah 3,3 V → 5 V (hanya output). P10 adalah jalur digital open-drain, ditarik ke 3,3 V di sisi kamera dan 5 V di sisi pin servo. Secara default berfungsi sebagai input — shield menggeser level 0–5 V pada pin servo turun ke 0–3,3 V pada P10. Ubah jumper solder on-board untuk membalik P10 menjadi output, menggeser level 0–3,3 V pada P10 naik ke 0–5 V pada pin servo.
Penggunaan#
Gerakkan servo hobi dari salah satu pin P7–P10 dengan sinyal PWM 50 Hz. Rentang lebar pulsa bervariasi antara servo, jadi sesuaikan MIN_US dan MAX_US agar cocok dengan servo Anda — nilai umum sekitar 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)
Baca input terminal block AIN (hasil yang telah digeser levelnya muncul pada 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)