目錄
在學(xué)習(xí)Arduino相關(guān)的案例知識之前,我們需要先對我們的編程環(huán)境進行相關(guān)配置,只需簡單的跟著一步一步操作即可將自己的計算機(電腦)配置好Arduino IDE,具體如下。
一)下載Arduino IDE
打開瀏覽器,在網(wǎng)址欄輸入網(wǎng)址下載新版Arduino IDE,網(wǎng)址如下:https://www.Arduino.cc/en/Main/Software,進入到頁面后,找到“Download the Arduino IDE”頁面。當(dāng)然也可以使用U盤拷貝已下載完成的安裝包。
如果是Windows用戶,則點擊下載上圖1-1中紅色框內(nèi)的Windows(ZIP-file),如果Mac,Linux用戶上圖中黃色框和黑色框內(nèi)相應(yīng)的系統(tǒng)。當(dāng)點擊Windows(ZIP-file)后會進入如下界面,只需點擊圖1-2紅色框內(nèi)的JUSTDOWNLOAD即可下載arduino-1.8.7-windows.zip,不需要支付任何費用。
下載完成后,解壓文件,把整個Arduino1.8.7文件夾放到你電腦中相應(yīng)的位置,然后打開Arduino1.8.7文件夾,如下圖1-3看到的內(nèi)容。
二)安裝驅(qū)動
將USB數(shù)據(jù)線一端插到Arduino UNO上,另一端連接電腦成功后,UNO主板的紅色電源指示燈ON亮起。打開電腦控制面板,找到并選擇設(shè)備管理器。找到其它設(shè)備-->Arduino-xx,如下圖1-4和圖1-5所示,右擊選擇更新驅(qū)動程序軟件。
在彈出的對話框中選擇下面一項-->手動查找并安裝驅(qū)動程序軟件,如圖1-6所示。
在電腦上到Arduino IDE安裝位置,就是上面那個解壓文件的位置,選擇搜索路徑到drivers,點擊下一步。選擇始終安裝此驅(qū)動程序軟件,直至完成,如下圖1-7所示。
當(dāng)出現(xiàn)如圖1-8所示時,說明驅(qū)動安裝成功。此時,設(shè)備管理器端口會顯示一個串口號。
三)認識Arduino IDE
打開ArudinoIDE,就會出現(xiàn)Arduino IDE的編輯界面,如下圖1-9所示。
接下來,先簡單認識看一下Arduino的這個編譯器,需要熟練掌握該軟件,否則對學(xué)習(xí)Arduino將會大大不利,如下圖1-10所示。
Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡單的說就是用來編寫程序程序、編譯程序程序、下載燒錄程序到主板的地方。任何的Arduino產(chǎn)品都需要編譯下載程序到主板后才能運作。平時所搭建的硬件電路是輔助程序來完成相應(yīng)的工作,兩者是相輔相成的,缺一不可。Arduino IDE基本只需要用到上圖1-10中紅圈所標(biāo)示出來的部分就差不多,圖中白色區(qū)域就是程序程序的編輯區(qū),用來編寫程序。
四)下載一個Blink程序
下載一個最簡單的程序,即軟件自帶的測試示例程序,Arduino IDE自帶許多示例程序,選取最簡單的一個LED閃爍示例來學(xué)習(xí)即可,這樣既可以幫你掌握如何下載程序,同時也可測試Arduino主板好壞。UNO主板上標(biāo)有L的LED。這段測試程序就是讓LED燈閃爍。用USB數(shù)據(jù)線將主板與電腦端相連,打開Arduino IDE后,找到“Blink”程序,如下圖1-11和圖1-12所示:
通常,寫完一段程序后,都需要校驗一下,檢查所寫程序是否存在錯誤。點擊“驗證”,下圖1-13顯示了正在編譯項目中。
下圖1-14所示為編譯驗證完畢:
由于是測試示例程序,所以校驗不會有錯誤,不過在以后編寫完程序程序后,都需要編譯校驗,再下載到Arduino主板中。在下載程序之前,我們還要先告訴Arduino IDE板子型號以及相應(yīng)的串口。如下圖1-15所示,在菜單-->工具-->選擇所用的開發(fā)板型號-->ArduinoUNO。
如下圖1-16所示,選擇當(dāng)前的端口-->COM串口
如下圖1-17所示,點擊“下載”。
如下圖1-18所示,程序下載完畢。
五)blink程序
Blink示例程序如下:
/* Blink Turns on an LED on for one second,then off for one second,repeatedly. This example code is in the public do main. */ //Pin13 has an LED connected on most Arduino boards. //give it a name: Int led=13; //the setup routine runs once when you press reset Void setup(){//initialize the digital pin as an output. pinMode(led, OUTPUT); } //the loop routine runs over and over again forever: void loop(){ digitalWrite(led, HIGH); //turn the LED on(HIGH is the voltage level) delay(1000);//wait for a second digitalWrite(led, LOW); //turn the LED off by making the voltage LOW delay(1000);//wait for a second }
下面來對Blink這段程序做一個詳細講解,首先,程序開頭:
/* Blink Turns on an LED on for one second , then off for one second , repeatedly . This example code is in the public do main. */
這是程序中的說明,可以叫做注釋。用"/**/"這個符號之間的內(nèi)容將不被編譯器編譯。注釋在編寫程序的過程中是非常重要的,規(guī)范且好的程序編寫可以讓別人更好的理解你所編寫的程序。IDE也將自動把注釋的文字顏色呈現(xiàn)為灰色。
//Pin 13 has an LED connected on most Arduino boards. //give it a name:
"http://"是另一種注釋方法,表示這個符號所在行之后的文字將被注釋掉。
"/*...*/"與"http://"區(qū)別在于:"/*...*/"可以注釋多行,"http://"只可以注釋一行。
程序的意義從下面這一行程序這真正開始了!
Int led=13;
給LED燈所在的引腳13取一個名字,叫"LED"。
需要注意的是:UNO板上的"L"燈已經(jīng)和數(shù)字引腳13相連了,所以也就是為什么聲明為“13”的原因。語句用“;”來表示這句語句的結(jié)束。
接下來是setup()函數(shù):
Void setup(){ //initialize the digital pin as an output. pinMode(led, OUTPUT); }
在這個程序里有兩個函數(shù),一個叫做setup,它的目的主要的loop函數(shù)運行之前為程序做必要的設(shè)置。在Arduino中程序運行時將首先調(diào)用setup()函數(shù)。每次Arduino上電或重啟后,setup函數(shù)只運行一次。
這里,初始化數(shù)字引腳為OUTPUT模式:
pinMode(led, OUTPUT);
pinMode()函數(shù),官方解釋:
Configures the specified pin to be have either as an input or an output . See the Digital Pins page for details on the functionality of the pins.
簡單來說即設(shè)置引腳的模式為輸入或者輸出。函數(shù)內(nèi)部被花括號括起來的部分將會被依次執(zhí)行,從“{”開始,“}”結(jié)束。兩個符號之間的語句都屬于這個函數(shù)。
Arduino程序必須包含setup()和loop()兩個函數(shù),否則不能正常工作,在setup()函數(shù)中初始化和定義了變量后,就開始執(zhí)行l(wèi)oop()函數(shù)。顧名思義,該函數(shù)在程序運行過程中不斷的循環(huán),loop()函數(shù)中的每條語句都逐次進行,直到函數(shù)的最后,然后再從loop函數(shù)的第一條語句再次開始,三次、四次……一直這樣循環(huán)下去,直到關(guān)閉Arduino或者按下重啟按鈕。
Void loop(){ digitalWrite(led, HIGH);//turn the LED on(HIGH is the voltage level) delay(1000);//wait for a second digitalWrite(led, LOW);//turn the LED off by making the voltage LOW delay(1000);//wait for a second }
函數(shù)內(nèi)部:
digitalWrite(led, HIGH);//給引腳13一個高電,讓LED點亮。
digitalWrite()函數(shù),官方解釋:Write a HIGH or a LOW value to a digital pin,寫入一個高電平或低電平給數(shù)字引腳。
delay(1000);延時1000ms(毫秒),也就是1s(秒)的時間。
delay(ms)函數(shù),延時,單位毫秒(1秒有1000毫秒)。
如果你想改變LED閃爍的時間,只需要設(shè)置delay()函數(shù)的延時時間即可。隨后就是再給引腳13一個低電平,并延時1s。
digitalWrite(led, LOW);
本章到此結(jié)束,謝謝閱讀。