讓初學者望之卻步的程式宣告,原來只是在玩「取綽號」的遊戲? 在您大展身手以前,讓「宣告」的強大威力來助您一臂之力吧!

們在上一部影片,介紹了 LED 與電阻的使用方法。現在!來給各位一個小測驗!請問「這個」電路是做什麼的呢?

  這是一個用 Arduino 的第 7 腳,控制外接 LED 的電路。如果你答對了,代表你已經準備好迎接今天的宣告課程;覺得很陌生的朋友,趕快回去看 Class 6 的課程複習一下喔!

變數的宣告

  好了!究竟什麼是宣告呢?我們先來假設一個情況:你在第7腳接了一顆 LED,而且還寫了一段有點複雜的程式碼,裡面出現好幾次點亮 LED 或是熄滅 LED 的指令。

  今天你的朋友突然跟你說:欸,我想把接在第 7 腳的 LED,移到第 8 腳的位置去耶!這下麻煩了,因為根據這種傳統的程式寫法,你除了要把所有控制第 7 腳的指令都找出來,還得將所有的接腳編號 7 都更改成編號 8。

  有沒有更方便的做法呢?這時候,我們就會在程式的最一開始,進行所謂的「宣告」。宣告就像是幫某個東西取綽號,之後都用綽號來稱呼他就可以了!我們來看一個最簡單的宣告例子:int led = 7;

  它的意思是:我今天要取綽號的「對象」,是一個整數 (integer);綽號叫什麼呢?叫做 led;對象是誰呢?是數字 7;而這個等號則是把右邊的東西「指定」給左邊的意思。所以這行指令告訴我們:以後只要看到 led 這個綽號,它就代表數字 7。

  朋友的問題現在解決啦!只要我把剛才的這行宣告,放在這些會用到 led 綽號的指令前面,然後把所有接腳編號 7 都替換成 led 這個綽號,當你想更改 LED 的位置時,只要到最前面宣告的地方把數字 7 改成 8,所有的控制指令就會更改到接腳 8 的位置去了。

小專案:使用變數更換接腳

  為了讓你很有感覺,我們要跟各位一起完成這個小專案!請先準備一顆任意顏色的 LED,以及一個 220 歐姆的電阻,然後將下面這個電路給完成。這是我們在 Class 6 所完成的小專案,忘記的朋友,建議回去複習一下上次教學的內容喔!

  緊接著,我們將下面這段程式複製,並貼到 IDE 裡面。這個程式很眼熟吧!它很類似我們在 Class 3 完成的第一個小專案,也就是讓一顆 LED 閃爍。只不過,我把原本填寫接腳編號的地方,通通換成了上面宣告的 led 這個綽號。

  現在請直接上傳程式,沒有意外的話,由第 7 腳控制的外接 LED 就會開始閃爍了。回想一下剛才的情境:你的朋友希望把第 7 腳換成第 8 腳,沒問題!我們直接把剛才宣告的數字 7 改成 8,然後上傳程式。這時候,我們的程式因為已經把閃爍 LED 的任務,交給接腳 8 了,所以由第 7 腳控制的 LED 就不會有反應囉!現在試試看,我們把接腳 7 的杜邦線,移到接腳 8,有沒有小小的成就感哪?

  當然,宣告能做的事可不只這樣,我們在未來還會透過宣告,來設計計數器常數儲存器狀態儲存器,還有各式各樣的資料型態可以使用,想成為宣告應用大師嗎?千萬別錯過 LazyTomato Lab 精彩的課程喔!

好習慣:使用有意義的名稱

  最後!我們有個很重要的小技巧要分享給大家!在宣告的時候,這個「綽號」請一定要使用有意義的名稱。像我們今天的範例,都使用 led 這個字來表示連接 LED 的接腳編號,如果我把宣告的綽號換成 abc,程式當然可以正常運作,但很有可能在兩個禮拜以後,你就忘記這個 abc 是拿來做什麼的了。

  這邊還有個例外情況,就是當你在 Arduino IDE 裡面取好綽號以後,發現這個綽號從黑色變成了其他顏色。這個變色的字,其實是 Arduino 的「保留字」,它可能代表某個內建的指令或是功能,總之,你不能使用這些保留字來當作綽號,否則程式是沒有辦法執行的唷!

  暸解了宣告、麵包板與 if-else 的概念,您已經可以開始創作各式各樣的互動作品啦!所以,下一堂課是我們的按鈕特輯!我們會介紹實用的開關小技巧,以及如何透過模組來製作互動遊戲,你所需要的都在這裡。趕快訂閱 LazyTomato Lab,隨時追蹤最新的精彩課程!

  這一集的 Arduino SpeedUp 就到這裡囉!我們下次見,掰掰!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *