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.

Servo Shield

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

Pinout Servo Shield

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)