資料介紹
描述
在這個任務中,您將使用另一種電機,伺服電機。其臂的角度可以隨電位器的變化而變化
第 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次下載 | 免費
評論
查看更多