當前位置: 華文問答 > 數位

大學生如何學習Arduino?

2016-10-16數位

講講大學生怎麽入門吧。要學習Arduino,可以從兩方面進行:硬體和軟體。

從硬體上來講,Arduino Uno是最常用的Arduino編程板之一。以Arduino Uno來舉例子,它包含的硬體元素包括:UBS連線口 – 用於給Arduino供電並上傳程式;重設按鈕 – 將重新啟動載入到Arduino板上的所有程式碼;3.3V引腳 – 用於給計畫提供3.3伏電壓的電源;5V引腳 – 用於給計畫提供5伏電壓的電源;接地引腳 – 相當於電源負極,連線計畫負極到地;數位輸入 – 引腳0-13可用於數位訊號的輸入和輸出;模擬輸入 – 引腳A0-A5可用於模擬訊號的輸入和輸出,等等。

https://store.arduino.cc/usa/arduino-uno-rev3

硬體部份之外,對大學生初學而言,動手寫程式碼的部份可能更難一點。當我們開啟Arduino這款軟體,新建一個檔程式的時候,Arduino自動幫助你寫了兩個程式結構,它們分別是void setup(){}和void loop(){}, 而程式中也會加入灰色部份的註釋。所謂註釋,就是在程式碼中加入一些標註,以便程式開發人員更容易理解程式碼,這些註釋本身並不參與程式的執行。void setup()這個函式中放入的是一些初始設定的程式碼,如設定傳感器是輸入還是輸出型別。這裏面的程式碼在程式執行的過程中只執行一次。與之相對void loop()這個函式中放入的是主要程式碼,這些程式碼在程式執行的過程中會持續不斷的被執行起來。

在學習Arduino編程的時候,有四個概念是至關重要的,它們分別是:變量、判斷、函式和迴圈。

變量,指的就是能變化的量,在編程中,變量是最為常見的概念之一,舉例來說,我們來看Examples>Basics>Fade這個程式。這個程式是用來控制小燈泡一點點亮暗的一個程式。我們看程式中int led = 9這個語句,這其中,led就是一個變量,而前面int是聲明這個變量的型別,這裏是整數型別。而後面的語句稱為賦值過程,led = 9 就是暫時讓led這個變量,等於9這個整數。我們看後面的語句pinMode(led, OUTPUT)在這個語句中,led這個變量就被套用了起來,在這句話中,是說要讓led這個引腳是輸出的狀態。而我們可以看後面兩個變量int brightness = 0指的是讓brightness這個變量一開始的時候是0。而int fadeAmount = 5這個是讓fadeAmount這個變量開始的時候等於5。值得註意的是,變量可以被賦值,也可以被更改賦值。如後面一個語句brightness = brightness + faceAmount就給brightness以重新賦值。

第二個概念「判斷」的概念在上面的程式也有體現。判斷通常是用if else語句來實作的,比如在上面這個範例程式中,if(brightness <=0 || brightness >=255)這個就是一個條件,指的是當brightness這個變量小於等於0或者大於255的時候,那麽在滿足這個條件時,程式要執行什麽呢?要執行的語句就放在if()後面的大括弧中,在上面那個程式中,就是fadeAmount = -fadeAmount也就是說,fadeAmount這個變量等於它的相反數,也就是在滿足這個條件時,把fadeAmount這個變量進行了取反。

第三個感念「函式」的概念就更加普遍了,在上面的例子當中,我們看到的很多語句都可以稱之為函式。比如analogWrite(led, brightness)這就是一個函式,大家註意函式的命名都是運用駝峰命名法來命名的,也就是如果有多個英語單詞組成的函式的話,第一個單詞的字母是小寫的,後面單詞的首字母都是大寫的。而函式這個概念就是執行一個功能的集合,它可以是電腦內建的,也可以是自己寫就的函式,比如void loop(){}這其實也是一個函式。

第四個概念是「迴圈」的概念,在arduino程式語言中,主要有for迴圈和while迴圈兩種語句,迴圈的概念就是程式會不斷重復的執行某一句或某一些語句。在控制微型舵機這個程式中,運用了for迴圈來驅動舵機由0度轉動到180度,再由180度轉回到0度。for迴圈括弧中有三個條件,分別是初始條件,判斷條件,和追加條件。當for迴圈執行時,程式首先有一個初始條件,然後進行判斷,看滿不滿足判斷條件,如果滿足程式就執行大括弧內的內容。當內容被執行完之後,條件就變成追加條件了。以下面這個例子來說,首先pos這個變量等於0,然後程式會判斷pos小不小於等於180,如果成立就執行大括弧裏的例子,之後pos+=1說的是程式就被追加了1這個值。

總結來講,大學生學習arduino要分成兩個部份,硬體部份和軟體部份。硬體部份,需要了解各個介面的意義以及功能;軟體部份要了解四個基礎的概念:變量、判斷、函式和迴圈。學習了這些之後,Arduino就可以算是入門了。

最後,為大家推薦兩本書,【愛上Arduino】和【愛上Processing】,它們是專門為設計師編寫的硬體、軟體類書籍,內容簡單易懂,十分適合零基礎的初學者,相信透過不斷的學習和實驗。

望有幫助。

—————————————————————