资料介绍
描述
在这个任务中,您将使用另一种电机,伺服电机。其臂的角度可以随电位器的变化而变化
第 1 步:您需要什么
您需要的零件都包含在Maker 套件中。
- SwiftIO 板
- 盾
- 伺服
- 电位器模块
- 4 针电缆
第2步:伺服电机
伺服电机可以根据信号调整其手臂的位置。您可以设置 PWM 输出来控制它。该伺服系统每 20 毫秒需要一个脉冲。每个脉冲的持续时间决定了手臂的位置:
- 如果高压持续0.5ms,则手臂将处于0度。
- 如果高压持续2.5ms,则手臂将处于180度。
- 如果高压持续 1.5ms,则手臂将处于 90 度。
注意:本舵机需要脉冲在 0.5 到 2.5ms 范围内。您可能还会遇到其他需要 1 到 2ms 脉冲的舵机。
第 3 步:电路
将屏蔽罩放在 SwiftIO 板的顶部。
使用 4 针电缆将电位计模块连接到针脚 A0。
将伺服连接到引脚 PWM4A。舵机有三根线:地线是棕色的,电源线是红色的,信号线是橙色的。
第 4 步:代码
/* Import the SwiftIO library to use everything in it. */
import SwiftIO
/* Import the board library to use the Id of the specific board. */
import SwiftIOBoard
/* Initialize the analog pin. */
let a0 = AnalogIn(Id.A0)
let servo = PWMOut(Id.PWM4A)
while true {
/* Read the analog value and return a value between 0.0 and 1.0. */
let value = a0.readPercent()
/* Calculate the value to get the pulse duration.
Each cycle of the signal lasts for 20 milliseconds.
The pulse should last between 0.5 and 2.5 ms to activate the servo.
With a 0.5ms pulse, the servo will turn to 0 degrees and with a 2.5ms pulse, it will at 180 degrees.
In between, it is at an angle between 0–180. */
let pulse = Int(500 + 2000 * value)
/* Set the servo position according to the scaled value. */
servo.set(period: 20000, pulse: pulse)
sleep(ms: 20)
}
第 5 步:代码分析
import SwiftIO
import SwiftIOBoard
导入两个库:SwiftIO和SwiftIOBoard。
let a0 = AnalogIn(Id.A0)
let servo = PWMOut(Id.PWM4A)
初始化电位器的模拟引脚 A0 和电机的 PWM 引脚 PWM4A。
let value = a0.readPercent()
let pulse = Int(500 + 2000 * value)
servo.set(period: 20000, pulse: pulse)
sleep(ms: 20)
在死循环中,以百分比形式读取输入值,因此您会得到一个介于 0 和 1 之间的值。
您将使用此方法set(period:pulse:)
设置 PWM。周期以微秒为单位,因此为 20000us。脉冲应该是 0.5ms 到 2.5ms 之间的数字。所以通过做一些计算,这个值会被匹配到这个范围内。
第 6 步:运行项目
当您转动电位器时,伺服臂将移动到不同的角度。
- 使用Swift语言闪烁LED
- 使用Swift语言通过按钮控制LED
- 使用Swift语言一个一个地闪烁RGB LED
- 使用Swift语言更改LED闪烁率
- 使用Swift语言控制直流电机
- 使用Swift语言在LCD上显示温度
- 使用Swift语言的带有蜂鸣器的音乐播放器
- 将Swift语言应用到MCU开发中(下)
- 机器人关节伺服控制系统设计与仿真 38次下载
- DSP载波移相控制C语言源代码下载 56次下载
- IOS面试宝典之Swift 0次下载
- swift和oc双语言混编的资料详解免费下载 0次下载
- 苹果Swift语言入门教程中文 2次下载
- The_Swift_Programming_Language中文版 0次下载
- SWIFT设计软件工具
- 伺服控制器的工作原理和基本结构 847次阅读
- 伺服驱动器和伺服控制系统的区别 467次阅读
- 伺服驱动器控制电源和主电源的区别 973次阅读
- 液压伺服控制系统的控制要求 399次阅读
- 伺服驱动器和伺服控制器的区别 979次阅读
- 总线伺服电机的回零控制方法 2771次阅读
- 基于CAN总线的伺服电机通信控制 6642次阅读
- 伺服的控制方式及注意事项 7525次阅读
- 运动控制器控制伺服电机采用的指令和伺服电机调试的6个步骤说明 1.1w次阅读
- PLC如何控制伺服电机 8053次阅读
- PLC控制伺服系统步骤_西门子PLC控制的伺服控制系统详解 5.2w次阅读
- 伺服控制电路简单设计制作 3426次阅读
- 伺服定位控制在PLC中实现和在伺服控制器中实现解答 1w次阅读
- 伺服电机控制能否代替步进电机控制,交流伺服电机与步进电机的区别差异 3791次阅读
- 伺服电机的制动方式与原理,伺服电机的控制方法 3.2w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多