资料介绍
描述
在这个任务中,您将使用另一种电机,伺服电机。其臂的角度可以随电位器的变化而变化
第 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 0次下载
- 使用Swift语言通过按钮控制LED 0次下载
- 使用Swift语言一个一个地闪烁RGB LED 0次下载
- 使用Swift语言更改LED闪烁率 0次下载
- 使用Swift语言控制直流电机 1次下载
- 使用Swift语言在16x2 LCD上显示Hello World 0次下载
- 使用Swift语言在LCD上显示温度 0次下载
- 使用Swift语言的带有蜂鸣器的音乐播放器 0次下载
- 将Swift语言应用到MCU开发中(下) 2次下载
- 将Swift语言应用到MCU开发中,项目实例演示! 3次下载
- DSP载波移相控制C语言源代码下载 55次下载
- iOS的ob<x>jective-C和Swift语言对比应该先学那个?哪个更容易学习? 8次下载
- IOS面试宝典之Swift 0次下载
- 苹果Swift语言入门教程中文 2次下载
- SWIFT设计软件工具 34次下载
- 总线伺服电机的回零控制方法 1635次阅读
- 基于CAN总线的伺服电机通信控制 5488次阅读
- 基于DSP的交流伺服电机控制系统 1576次阅读
- 伺服的控制方式及注意事项 7001次阅读
- 伺服电机的两种控制模式 1.4w次阅读
- 运动控制器控制伺服电机采用的指令和伺服电机调试的6个步骤说明 1w次阅读
- 伺服电机控制方式选择指南 7868次阅读
- PLC如何控制伺服电机 7587次阅读
- 关于伺服电机、驱动器、控制器的一些原理详解 4.2w次阅读
- PLC控制伺服系统步骤_西门子PLC控制的伺服控制系统详解 5w次阅读
- 伺服的基本介绍伺服点的特点和步进电机的比较 1.2w次阅读
- 一般的伺服电机多少钱_松下伺服电机价格 5w次阅读
- 伺服控制电路简单设计制作 3312次阅读
- 基于永宏PLC接伺服控制的实现 5201次阅读
- 伺服定位控制在PLC中实现和在伺服控制器中实现解答 1w次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多