千家信息网

MicroPython怎么实现旋转按钮控制脱机摆动

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"MicroPython怎么实现旋转按钮控制脱机摆动"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"MicroPython怎么实现旋转按钮控制脱
千家信息网最后更新 2025年12月02日MicroPython怎么实现旋转按钮控制脱机摆动

这篇文章主要介绍"MicroPython怎么实现旋转按钮控制脱机摆动"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"MicroPython怎么实现旋转按钮控制脱机摆动"文章能帮助大家解决问题。

一、实验目的:

学习在PC机系统中扩展简单I/O 接口的方法
学习TurnipBit拼插编程
了解舵机工作原理
学习TurnipBit扩展板舵机和旋转按钮接线方式

二、所需原器件:

TurnipBit一块
TurnioBit扩展板一块
杜邦线若干
usb数据线一条
舵机一个
旋转按钮一个

三、实验原理:

1. 舵机的组成与参数
舵机,又称伺服马达,是一种具有闭环控制系统的机电结构。舵机主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。 其工作原理是由控制器发出PWM(脉冲宽度调制)信号给舵机,经电路板上的IC处理后计算出转动方向,再驱动无核心马达转动, 透过减速齿轮将动力传至摆臂,同时由位置检测器(电位器)返回位置信号,判断是否已经到达设定位置,一般舵机只能旋转180度。


舵机的接线
舵机有3根线,棕色为地,红色为电源正,橙色为信号线,但不同牌子的舵机,线的颜色可能不同。

舵机的控制原理
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的。

占空比:
1.指高电平在一个周期之内所占的时间比率。
2.正脉冲的持续时间与脉冲总周期的比值。例如:正脉冲宽度1μs,信号周期10μs的脉冲序列占空比为0.1。即:脉冲的宽度除以脉冲的周期称为占空比。标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms之间,但是,事实上脉宽可由0.5ms到2.5ms之间,脉宽和舵机的转角0°~180°相对应。

四、接线方法:

TurnipBit扩展板与发光二极管接口对应如下表:


五、源代码:

from microbit import * #-----------#github:https://github.com/microbit-playground/microbit-servo-class#------------class Servo:    def __init__(self, pin, freq=50, min_us=600, max_us=2400, angle=180):        self.min_us = min_us        self.max_us = max_us        self.us = 0        self.freq = freq        self.angle = angle        self.analog_period = 0        self.pin = pin        analog_period = round((1/self.freq) * 1000)  # hertz to miliseconds        self.pin.set_analog_period(analog_period)    def write_us(self, us):        us = min(self.max_us, max(self.min_us, us))        duty = round(us * 1024 * self.freq // 1000000)        self.pin.write_analog(duty)        self.pin.write_digital(0)  # turn the pin off    def write_angle(self, degrees=None):        degrees = degrees % 360        total_range = self.max_us - self.min_us        us = self.min_us + total_range * degrees // self.angle        self.write_us(us)        sv1 = Servo(pin1)temp=0while True:    #读取旋转按钮传入的值,范围2~1023    read_val=pin0.read_analog()    #舵机旋转180度,将1023分割成180份,约等于5.67    angle=round(read_val/5.67)    if (temp!=angle):        temp=angle        sv1.write_angle(angle)        sleep(60)

关于"MicroPython怎么实现旋转按钮控制脱机摆动"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

舵机 脉冲 按钮 控制 信号 周期 宽度 位置 原理 脱机 不同 方法 知识 马达 扩展板 学习 接线 调制 之间 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发工程师英文怎么说 厦门理工学院图书馆数据库 数据库预约时间为什么是字符型 国产数据库及特点 慈溪市艾特网络技术 福建计算机网络技术大专学校 网易我的世界怎么在别人的服务器里开材质包 原石互联网科技有限公司 日本网络安全立法 魔域08数据库 关于网络安全防护的画 网络安全知识给家长的信 集群服务器时间同步 mysql数据库字符编码更改 健康网络技术服务有限公司 眼镜行业软件开发去哪 病人和药物管理系统数据库设计 金瑞网络安全 学计算机软件开发靠谱吗 软件开发方面的选择 正规的浪潮服务器代理在哪里 网络安全工程师可以干到多少岁 医院机房服务器升级报告 t220服务器 国光软件开发有限公司泉州 陕西智能养老软件开发专业制作 凯里行业专业软件开发 宁波专业软件开发 网络安全竞赛知识答题二维码 登录的数据库哪里看账号密码
0