電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Swift語言更改LED閃爍率

使用Swift語言更改LED閃爍率

2022-11-09 | zip | 0.11 MB | 次下載 | 免費(fèi)

資料介紹

描述

在這個項目中,您將轉(zhuǎn)動一個電位器來控制 LED 閃爍率,使其閃爍更快或更慢。

第 1 步:您需要什么

pYYBAGNofPuAbhrCAACe_D73KvY052.png
?

您需要的零件都包含在此Maker 套件中。

  • SwiftIO 板
  • 電位器模塊
  • 4 針電纜

第 2 步:什么是模擬信號

poYBAGNofP6AH0L8AABAMIs8gRI471.png
?

您已經(jīng)知道數(shù)字信號具有確定的值。模擬信號完全不同。其電壓隨時間平滑變化。并且它的取值范圍在一定范圍內(nèi),在0V到3.3V之間。所以你可以得到 1.5V、2V ......可能有無限的可能值。

那么你怎么能讀懂它的價值呢?這是模數(shù)轉(zhuǎn)換器。它將模擬電壓轉(zhuǎn)換為微控制器可以讀取的數(shù)字值。它有不同的精度。分辨率用于描述它可以測量的可能值。SwiftIO 板是 12 位分辨率,這意味著總共有 4096 (0-4095) 個值。從 0 到 4095 的值稱為原始值。

讓我們看看模數(shù)轉(zhuǎn)換的工作過程。當(dāng)板子從模擬引腳讀取時,它首先會得到一個介于 0 和 4095 之間的原始值,然后該值將按比例轉(zhuǎn)換為電壓值。這是公式:

分辨率/參考電壓=原始值/實際電壓
在哪里,
分辨率:4096
參考電壓:3.3V

例如,如果原始值等于 0,則電壓為 0V;如果原始值等于 4095,則電壓為 3.3V;和 2047 對應(yīng) 1.65V。

第 3 步:電位器

pYYBAGNofQKAWvmhAAAd4x5Tt4Q862.png
?

電位器是一種可變電阻器。您可以通過順時針或逆時針旋轉(zhuǎn)來調(diào)整其阻力。

①和③之間的電阻是它的最大值。雨刷器將其分為兩部分。隨著雨刷的移動,兩部分的電阻也會相應(yīng)變化。

第 4 步:電路

poYBAGNofQWAWWDCAADi2yoC_OY425.png
?

將屏蔽罩放在 SwiftIO 板的頂部。

使用 4 針電纜將電位計模塊連接到針腳 A0。

第 5 步:代碼

/* 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 an AnalogIn pin A0. */
let a0 = AnalogIn(Id.A0) 

/* Initialize the red onboard led. */
let led = DigitalOut(Id.RED) 

while true {
    led.toggle()

    /* Return the percentage of the voltage in the range of 0.0 to 1.0. */
    let analogValue = a0.readPercent()
    let delayTime = Int(analogValue * 500)

    /* Stop the program for a certain period based on the value to keep current led state. */
    sleep(ms: delayTime)
}

第 6 步:代碼分析

import SwiftIO
import SwiftIOBoard

首先,導(dǎo)入兩個庫:SwiftIOSwiftIOBoard。

let a0 = AnalogIn(Id.A0)
let led = DigitalOut(Id.RED)

初始化紅色板載 LED 和電位計連接的模擬引腳 (A0)。

led.toggle()

toggle()用于反轉(zhuǎn)數(shù)字輸出電壓。如果當(dāng)前電壓高,則將其變?yōu)榈停粗嗳弧?/font>led.toggle()將自動更改板載 LED 的狀態(tài)。您不需要知道 LED 是打開還是關(guān)閉。

let analogValue = a0.readPercent()

a0.readPercent()允許您以百分比形式獲得輸入電壓。它表示原始值與分辨率 (4096) 之間的比率。

let delayTime = Int(analogValue * 500)
sleep(ms: delayTime)

眨眼率由睡眠時間決定。那么這個時間與輸入值有關(guān)。這樣,電位器就可以控制LED。

第 7 步:運(yùn)行項目

下載代碼后,當(dāng)您轉(zhuǎn)動電位器時,LED 相應(yīng)地閃爍更快或更慢。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)