資料介紹
描述
當(dāng)您獲得一塊新電路板時,如果您沒有一些先前的知識,您可能無法開箱即用。這是相當(dāng)令人沮喪的。所以這個項目想讓每個人都開始使用電子產(chǎn)品和 Swift 語言。相信我,這并不像你想象的那么難。讓我們更詳細(xì)地研究一下。
一開始,我們肯定會從 hello world 項目開始——讓 LED 閃爍。您將交替打開和關(guān)閉 LED 以使其閃爍。
第 1 步:您需要什么
- SwiftIO 板
您會注意到有一個板載 LED。所以你只會在這個項目中處理它,不需要其他組件。
第 2 步:什么是數(shù)字輸出
數(shù)字信號通常有兩種狀態(tài),其值為 1 或 0。對于 SwiftIO 板,1 代表 3.3V,0 代表 0V。同樣的意思還有其他表達(dá)方式:高或低,真或假。
在這個項目中,您將控制輸出電壓來打開或關(guān)閉 LED。
第 3 步:關(guān)于 LED
LED或發(fā)光二極管是一種二極管。它有正腿和負(fù)腿。只有當(dāng)你以正確的方向連接它時,電流才能流動。
LED有兩種連接方式:
- 將 LED 連接到電源和數(shù)字引腳。由于電流總是從高電壓流向低電壓,如果管腳輸出高電壓,則LED兩端沒有電壓差,所以LED熄滅。只有當(dāng)引腳輸出低電壓時,電流才能從電源流到引腳,LED 才會亮。這就是板載 LED 的工作原理。
- 將 LED 連接到數(shù)字引腳和接地。如果引腳輸出高電壓,電流從引腳流向地,LED 將亮起。如果它輸出低電壓,則 LED 熄滅。
你可以在你的板上找到一個 RGB LED。它有三種顏色:紅色、綠色和藍(lán)色。當(dāng)您下載代碼時,它會用作狀態(tài)指示器。此外,您還可以通過設(shè)置輸出電壓來控制其顏色和狀態(tài)。
由于有三種顏色,您可以點亮其中的任何一種:如果打開紅色和藍(lán)色,您會注意到它呈現(xiàn)洋紅色。如果三個都亮,LED 似乎是白色的。
而板載 LED 在內(nèi)部連接到 3.3V。如果將其設(shè)置為高壓,則實際上將沒有電流。所以當(dāng)你施加低電壓時它會被點亮。
第 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 the blue LED */
let led = DigitalOut(Id.BLUE)
/* The code here will run all the time. */
while true {
/* Set Blue LED off. */
led.write(true)
/* Interval of LED blink (milliseconds). */
sleep(ms: 1000)
/* Set Blue LED on. */
led.write(false)
sleep(ms: 1000)
}
第 6 步:代碼分析
要對 SwiftIO 板進(jìn)行編程,您需要下載MadMachine IDE來編輯和構(gòu)建代碼。
安裝后,打開它并創(chuàng)建一個新項目。在文件main.swift
中,您可以粘貼上面的代碼。
讓我們詳細(xì)看一下代碼:
import SwiftIO
import SwiftIOBoard
SwiftIO包含控制您的電路板的所有功能。所有程序都必須首先引用它,以便您可以使用其中的所有內(nèi)容,例如類和函數(shù)。
SwiftIOBoard定義了這個板子對應(yīng)的 pin id。不同板子的管腳不同。所以這個庫告訴 IDE 你正在處理 SwiftIO 板,而不是任何其他板。然后你可以使用其中的id。
let led = DigitalOut(Id.BLUE)
在設(shè)置特定引腳之前,您需要對其進(jìn)行初始化。
首先,聲明一個常量:使用關(guān)鍵字let
,后跟一個常量名。led
然后使其成為DigitalOut
類的實例并初始化該引腳。
要初始化 pin,您需要指明其 id。所有的 id 都列在一個 enum 中,內(nèi)置的 RGB LED 使用 RED、GREEN 或 BLUE 的 id,因此這里的藍(lán)色 LED 的 id用點語法寫成。Id.BLUE
while true {
led.write(true)
sleep(ms: 1000)
led.write(false)
sleep(ms: 1000)
}
在死循環(huán)while true
中,括號中的所有代碼都會一遍又一遍地運行,除非您關(guān)閉代碼。此處,該引腳輸出高電壓,然后休眠 1 秒。所以在最初的 1 秒內(nèi),總是有一個高電壓。同樣,在接下來的 1s 內(nèi),該引腳輸出低電壓。
該方法write(_:)
用于設(shè)置引腳輸出高電壓或低電壓。其參數(shù)為布爾類型:true
或false
:true對應(yīng)高電平,false對應(yīng)低電平。如上所述,您需要設(shè)置一個低電壓來打開 LED。
sleep(ms:) 函數(shù)表示延遲時間,以毫秒計算。必須添加參數(shù)名稱才能傳入?yún)?shù)。ms
第 7 步:運行項目
完成代碼后,是時候?qū)⑵湎螺d到您的開發(fā)板上了。
確保 SD 卡已插入插槽。按下載按鈕。
等待幾秒鐘。您會注意到板載 LED 變?yōu)?/font>綠色常亮,并且 IDE 狀態(tài)欄中的消息表明板已準(zhǔn)備就緒,然后您可以單擊 IDE 上的下載按鈕。
下載代碼后,板載 LED 開始閃爍。
- 使用Swift語言通過按鈕控制LED
- 使用Swift語言一個一個地閃爍RGB LED
- 使用Swift語言更改LED閃爍率
- 使用Swift語言控制伺服
- 單片機(jī)實驗:P0端口驅(qū)動LED閃爍(Proteus仿真+C語言程序)
- 使用單片機(jī)實現(xiàn)TIMER0控制LED閃爍的C語言程序免費下載 7次下載
- 單片機(jī)C語言程序設(shè)計實例之閃爍的LED 5次下載
- 使用單片機(jī)實現(xiàn)閃爍1個LED的C語言程序?qū)嵗赓M下載 9次下載
- 使用單片機(jī)實現(xiàn)不同頻率閃爍多個LED燈的C語言程序?qū)嵗赓M下載 15次下載
- 使用單片機(jī)實現(xiàn)不同頻率閃爍1個LED燈的C語言程序?qū)嵗赓M下載 9次下載
- 蘋果Swift語言入門教程中文 2次下載
- 用C語言編寫程序?qū)崿F(xiàn)通過按鍵使LED燈周期閃爍 10次下載
- LED閃爍程序【C語言+匯編版】 0次下載
- LED燈閃爍程序【匯編版】 0次下載
- LED燈閃爍程序【C語言版】 0次下載
- 三種種常用的LED閃爍電路 1522次閱讀
- 一個帶有閃爍LED的門鈴電路 2141次閱讀
- LED平板燈閃爍的原因 1.8w次閱讀
- 一種可以實現(xiàn)無閃爍LED照明的靈活的紋波抑制電路介紹 1967次閱讀
- 閃爍LED構(gòu)成的閃光電路 1.1w次閱讀
- 聲控閃爍LED燈電路 1.4w次閱讀
- 帶閃爍LED的門鈴電路講解 5516次閱讀
- 關(guān)于led射燈在閃爍時的解決辦法 9644次閱讀
- 如何采用PIC單片機(jī)的C代碼來控制LED閃爍 2158次閱讀
- 詳解無閃爍LED驅(qū)動調(diào)光控制設(shè)計 3820次閱讀
- LED燈閃爍是怎么回事 1.9w次閱讀
- 最全關(guān)于關(guān)燈LED微亮和節(jié)能燈閃爍的問題分析 8973次閱讀
- 單片機(jī)閃爍燈匯編語言源代碼大全(四款閃爍燈的匯編語言源代碼) 2.5w次閱讀
- LED閃爍燈制作教程 2.5w次閱讀
- 單片機(jī)C語言程序設(shè)計之定時器控制4個LED滾動閃爍 7565次閱讀
下載排行
本周
- 1Keysight B1500A 半導(dǎo)體器件分析儀用戶手冊、說明書 (中文)
- 19.00 MB | 4次下載 | 免費
- 2使用TL431設(shè)計電源
- 0.67 MB | 2次下載 | 免費
- 3BT134雙向可控硅手冊
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務(wù)器電源系統(tǒng)
- 0.85 MB | 1次下載 | 1 積分
- 5LabVIEW環(huán)形控件
- 0.01 MB | 1次下載 | 1 積分
- 6PR735,使用UCC28060的600W交錯式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費
- 751單片機(jī)核心板原理圖
- 0.12 MB | 1次下載 | 5 積分
- 8BP2879DB支持調(diào)光調(diào)滅的非隔離低 PF LED 驅(qū)動器
- 1.44 MB | 1次下載 | 免費
本月
- 1開關(guān)電源設(shè)計原理手冊
- 1.83 MB | 54次下載 | 免費
- 2FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊
- 8.45 MB | 23次下載 | 免費
- 3DMT0660數(shù)字萬用表產(chǎn)品說明書
- 0.70 MB | 13次下載 | 免費
- 4UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 12次下載 | 免費
- 5ST7789V2單芯片控制器/驅(qū)動器英文手冊
- 3.07 MB | 11次下載 | 1 積分
- 6TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8基于MSP430FR6043的超聲波氣體流量計快速入門指南
- 2.26MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多