Micropython加速物联网开发9

来源:互联网 发布:js定时器 内存满了 编辑:程序博客网 时间:2024/06/16 08:24

舵机经常用在航模、玩具车以及机器人上。通过 PWM 脉冲信号驱动舵机旋转到一个精确的角度从而实现转向、控制器械手臂等功能。
舵机的种类非常多,本文使用的舵机型号如下:

这里写图片描述

舵机引脚描述

  • 棕色 - 地线
  • 红色 - 电源线
  • 黄色 - 信号线(PWM)

MicroPython 舵机源码

MicroPython 已经实现了对该舵机的支持,源码地址为 /stmhal/servo.c
TPYBoard 开发板提供了四个默认的舵机接口,分别为 X1、X2、X3、X4
本文使用 X1 接口,舵机和开发板的接线方式为:

  • 棕色 <–> GND
  • 红色 <–> 3V3
  • 黄色 <–> X1

控制舵机

在 REPL 终端中输入代码实现对舵机的控制。
导入 Servo 模块

from pyb import Servo

创建舵机对象

servo1=Servo(1)

使用 Servo 的 angle 方法改变舵机角度

servo1.angle(45)
servo1.angle(90)
servo1.angle(-45)
servo1.angle(0)

如果 angle 不带参数则返回当前的角度值,可用于当前舵机角度的测量。

servo1.angle()
0

通过给 angle 添加一个新的参数可以设置其旋转到指定角度的时间。

servo1.angle(90,2000)

以上代码的作用是使舵机花2秒的时间旋转到90度并停止。