這篇文章來源于DevicePlus英語網(wǎng)站的翻譯稿。在之前的一篇指南中,我們介紹了Arduino Uno以及基于該平臺的可編程開發(fā)板和擴展板系列。但是如果沒有軟件,硬件將沒有任何作用。本指南將向您展示如何設置Arduino IDE、連接您的開發(fā)板以及上傳您的第一個草圖。
詞匯表
首先,我們定義一些您將在本指南中以及在未來項目中看到的術語:
● 集成開發(fā)環(huán)境(IDE):該術語指用于開發(fā)程序的軟件,其中包括代碼編輯器以及調(diào)試工具、軟件模板和其他編輯代碼所需要的工具。Arduino IDE簡稱為Arduino或Arduino軟件。
● 草圖:在Arduino開發(fā)板上運行的程序被稱為“草圖”。這些程序很簡單,可以在開發(fā)板上持續(xù)運行,即使在您將其與計算機斷開連接后也會繼續(xù)運行。
● Arduino 語言:Arduino編程語言是一組C/C++函數(shù),如果您習慣于使用C/C++進行編碼,那么您會發(fā)現(xiàn)使用該編程語言非常自如。您可以點擊此處查看Arduino特定功能的相關信息。
設置 IDE
首先,請在此處下載適用于您的操作系統(tǒng)的Arduino IDE。在本指南中,我們使用的是Windows系統(tǒng)。下載后運行安裝程序,并按照向?qū)О惭b必要的組件。在設置過程中,您還會被要求安裝USB驅(qū)動程序,這將使您的計算機與Uno(或其他任何開發(fā)板)之間能夠進行通信。
安裝完成后,啟動Arduino IDE。您會看到像下面那樣的屏幕。
您可以在此處編寫代碼,然后將其上傳到您的Arduino??瞻撞輬D包括兩個函數(shù),它們是每個Arduino草圖的核心部分:setup() 和 loop()。當Arduino打開時,setup()函數(shù)中的代碼將被運行一次。只要設備被啟動,loop()中的所有內(nèi)容都會被重復執(zhí)行。
在上傳草圖之前,您需要確保IDE可以和您的開發(fā)板之間進行正確通信。在Tools > Board下,確認選擇了您的Arduino特定型號。在本指南中,我們使用的是“Arduino Uno”。接下來,在Tools > Port 下,選擇連接到開發(fā)板的COM端口。如果您的驅(qū)動程序安裝正確,它旁邊將顯示您的開發(fā)板名稱。如果沒有,請按照這些說明手動安裝開發(fā)板的驅(qū)動程序。
如果您更愿意在web端進行編碼(在使用多臺計算機來開發(fā)Arduino項目時會用到),您可以設置 Arduino Web Editor并安裝Arduino Create Plugin,以實現(xiàn)在Google Chrome或者Mozilla Firefox上編寫及上傳草圖。
Blink草圖
為了了解草圖的工作原理,我們將運行一個名為Blink的基本草圖。您不需要為該草圖進行任何特別的接線,運行該草圖是檢測您的Arduino是否工作正常的便捷方法。
Blink草圖內(nèi)置于Arduino IDE。要打開它,請進入File > Examples > 01.Basics > Blink。這將在新窗口中打開簡版草圖。上傳后,該草圖將使開發(fā)板上的橙色LED進行周期性閃爍。
要上傳草圖,請將Arduino插入您的計算機中,然后點擊“Sketch > Upload”或按下“Ctrl-U”鍵。草圖上傳完成后,Uno上標有“L”的橙色LED將開始以每秒一次的頻率進行閃爍。
恭喜您!您已經(jīng)成功上傳了第一個草圖。
修改Blink草圖
既然您已經(jīng)知道Blink草圖是用來干什么的了,我們可以回過頭來看看它是如何工作的,還可以對其進行一些調(diào)整。首先,讓我們看一下代碼中的setup()部分:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
這部分代碼僅運行一次,用來初始化Arduino板上的LED。pinMode() 函數(shù)使您能夠?qū)⒁_分配為輸入或輸出。Arduino Uno有14個可用作輸入或輸出的數(shù)字引腳。但是,該草圖使用的是內(nèi)置LED,所以引腳已經(jīng)指定好了。因此,這行代碼將LED指定為輸出。
接下來,我們來看一下loop()函數(shù)中的內(nèi)容。
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
只要Arduino啟動,該代碼就會被運行。這部分有四行代碼。第一行使用了digitalWrite()函數(shù),將引腳(在本例中為內(nèi)置LED)分配為高電平或低電平。對于該代碼,您可以將其視為開啟或關閉。當引腳設置為高電平時,Arduino Uno將引入5V電流通過LED,使其點亮。當引腳設置為低電平時,Uno將把電壓降至0V,LED關閉。
因此,循環(huán)代碼中的第一行用于打開LED。下一個函數(shù)是delay()。這個函數(shù)的作用和它的名稱含義一樣。它會使草圖停滯等待一段時間,不執(zhí)行任何操作。delay()函數(shù)以毫秒為單位。因為該草圖告訴Uno延遲1000毫秒,所以LED將會保持亮起1秒。
第三行和第四行會以相反的順序重復執(zhí)行以上操作。第三行將LED引腳設置為低電平,將其關閉,第四行使程序等待1秒。通過循環(huán)該過程,LED將閃爍1秒,關閉1秒,然后循環(huán)往復,從而在通電的情況下一直閃爍。
現(xiàn)在您已經(jīng)了解了該草圖的工作原理了,可以嘗試對腳本進行修改來獲得不同的效果。您可以將delay()間隔設置為100毫秒來實現(xiàn)燈光快速閃爍的效果。您還可以刪除掉關閉LED的代碼,讓燈光始終保持亮起的狀態(tài)。
在編寫草圖時,內(nèi)置LED是一個特別有用的工具。因為如果您的程序失敗,Arduino并不能總是提供足夠的反饋。您可以使用LED來診斷草圖是否可以正常工作,例如在草圖成功運行的時候LED可以被點亮,或者草圖運行失敗的時候LED會發(fā)生閃爍。雖然僅僅有LED閃爍這樣的信息可能看起來并不夠,但是在更大的項目中這將會非常有用。
DevicePlus 編輯團隊
設備升級版適用于所有熱愛電子和機電一體化的人。
-
編程
+關注
關注
88文章
3637瀏覽量
93924 -
IDE
+關注
關注
0文章
341瀏覽量
46838 -
開發(fā)板
+關注
關注
25文章
5121瀏覽量
98032 -
Arduino
+關注
關注
188文章
6477瀏覽量
187658
發(fā)布評論請先 登錄
相關推薦
評論