车牌识别,抬杆子。人脸识别,抬杆子。你懂我意思把。控制舵机不是必须的么。。
测试镜像:v831-m2dock-maixpy3-0.4.0-20220114.img
测试所用maixpy3版本:0.4.0
设备
主控板:V831
SG90舵机
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。
引脚说明
舵机 | V831 |
---|---|
暗灰(棕色) | GND |
红色 | 5V |
橙色 | PH6 |
舵机工作原理
之前写过咸鱼硬件—舵机Servo这里不赘述
PWM
定义pwm
from maix import pwm
pwm6 = pwm.PWM(6) #PH6 引脚
pwm6.export()
pwm6.period = 20000000 # 表示 pwm 的周期,单位 ns
pwm6.duty_cycle = 500000 # 表示占空比,单位 ns
pwm6.enable = True # 表示是否使能 pwm
注意这个20,000,000ns=20ms正好是舵机的时基脉冲。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围,总间隔为2ms。
示例代码
控制舵机
from maix import pwm
import time
pwm6 = pwm.PWM(6)
pwm6.export()
pwm6.period = 20000000 # 表示 pwm 的周期,单位 ns
pwm6.duty_cycle = 500000 # 表示占空比,单位 ns
pwm6.enable = True # 表示是否使能 pwm
for i in range (5):
for i in range(500000, 15000000, +100000):
pwm6.duty_cycle = i
time.sleep(0.05)
for i in range(15000000, 500000, -100000):
pwm6.duty_cycle = i
time.sleep(0.05)