在10月29日課程中,創客基地為想玩Arduino開發板卻不知從何開始的初學者,特別進行了入門基礎教學,不但教你如何透過圖像式程式積木控制Arduino,還準備了各種關於感測器、馬達、LED等等實體元件的應用課程,只要一天就能讓你學會Arduino的基礎知識,邁出成為創客的第一步。
什麼是Arduino
Arduino是一個來自義大利且開放原始碼的單晶片微控制器,由於它最初是為了設計、藝術相關系學生也能駕馭而開發,所以特色是能夠提供簡易的開發環境,讓不熟悉電路以及程式的創客,也能發揮創意,並將創意透過簡單的方式轉化為實物。
它的價格相當低廉,也因開放原始碼的關係所以其他使用者或公司都能自行修改,因此很適合用於快速製作電子電路原型,藝術家、設計師或任何對互動電子有興趣都人都適合使用。
▲Arduino UNO是Arduino開發板家族成員之一,圖片取自維基百科,原作者為oomlout。
補充資料
關於Motoduino團隊
Motoduino(慧手科技)長期與國中、國小等學校與老師合作推動科普教育,並藉由寓教於樂的方式,激發孩子的科學創意潛能,並提供各種開源軟體以及硬體資源,讓創客能在創意學習的過程中,透過實作把創意實現出來。
這次活動所使用的Motoduino U1開發板,就是由他們所開發的產品,Motoduino U1將Arduino UNO開發板和L293D馬達驅動晶片整合在一塊開發板,不但完全相容於Arduino UNO R3,還可以驅動兩顆直流馬達及利用PWM特性控制馬達轉速。
由於Motoduino U1能夠完全相容於Arduino UNO R3,因此能夠相容大部分的Arduino擴充板,例如將藍芽模組擴充板堆疊上去,Motoduino U1就能跟其它藍芽裝置溝通傳遞訊息,適合應用在如手機遙控車、溫度監控器等等,使用上更加方便。
▲Motoduino這次帶來的開發套件相當豐富,不但有Motoduino U1開發板、S4A互動感測板,還有許多小零件。
▲Motoduino U1開發板是這次活動的主角。
▲S4A互動感測板是主要設計給Arduino / Motoduino初學者使用的擴充板。
▲S4A互動感測板可以使用電話線連接更多延伸感測器,使用電話線的好處除了便宜、容易取得之外,還能因為防呆裝置避免接錯方向而將零件燒壞。
現場實作:入門介紹
今天的課程是由慧手科技的Sam Lin老師主講,由於是面向入門者的初階課程,所以就從材料開始說明作為課程的起點,Sam老師不但介紹了今天會用到的套件,還透過影片介紹了Arduino的特色,課程內容相當活潑。
▲今天的課程主講由慧手科技的Sam Lin老師擔綱演出。
▲Sam老師自己也是相當資深的創客。
▲Sam老師一開始就為學員講解各個零件的用途。
▲也透過影片說明Arduino的特色。
由於Arduino的開發過程需要用到程式,因此需要使用Arduino IDE來編寫程式碼,然後進行編譯,再上傳燒錄到Arduino板子之後才能執行,因此在看過基本介紹後,Sam老師就開始帶領學員在電腦上安裝Arduino IDE,然後透過USB線將Arduino連上電腦並進行初始設定。
▲Sam老師正在說明Arduino IDE的功能以及連接方式。
▲學員們紛紛迫不及待將Motoduino U1開發板接上電腦,連接成功的話,Motoduino U1開發板上的紅色指示燈就會亮起。
第一個程式:讓LED燈閃爍
學過程式的人都知道,寫程式的第一課就是Hello World,簡單得說就是顯示簡單字串的程式習作,在今天的課程中,Sam老師使用的程式開發工具是慧手科技研發的MotoBlockly,它是一款圖像式程式積木堆疊工具,跟Scratch非常類似,能在使用的過程中學到許多程式設計的觀念,適合沒有程式背景的人做為入門。
由於整套MotoBlockly放在雲端伺服器上,因此只要透過瀏覽器連到網站,不用安裝軟體就可以使用,並利用堆疊積木的方式建構程式指令,然後寫入 Arduino 開發板。
在最開始的程式就是透過MotoBlockly控制Motoduino U1開發板上的LED燈,讓它以設定的頻率閃爍,以確認程式正常運作。
▲MotoBlockly裡面堆疊積木就可以建構一連串程式指令,上圖為控制LED閃爍的程式範例。
▲將寫好的MotoBlockly轉檔為Arduino程式碼後,就能上傳到控制Motoduino U1開發板,並讓LED開始閃爍。
連接S4A互動感測板
在瞭解了程式的基本概念後,Sam老師就開始說明Arduino的輸出與輸入訊號,並介紹如何將S4A互動感測板連接到Motoduino U1開發板,來使用S4A上面的各種元件與功能。
▲課程由簡入深,慢慢開始進入需要瞭解電路知識的訊號輸出與輸入部分。
▲並透過S4A互動感測板進行進階LED燈光控制的實作。
▲S4A結合麥克風、按鍵開關、光源感測、滑桿式可變電阻、LED 、蜂鳴器等元件,並可以透過四組RJ11接頭連接其他裝置或元件,如溫濕度感測器、土壤濕度感測器等。
透過NAS串連雲端
在大家用過午餐之後,下午課程開始之前,同樣是慧手科技的Dennis Chen老師向大家補充如何使用QNAP的NAS將物聯網裝置連接至雲端。
在大家談論的物聯網中,除了硬體、app外,連結雲端也是重要的一環,所以各大網路巨擘都有自己的雲端服務。但是對於一般使用者來說,除了把使用公共的雲端服務外,也可以使用NAS建構自己的雲端服務,除了資料的私有性外,在一些功能上也比較有彈性。
在現場示範的例子中Dennis老師拿出他們運用自家產品打造的自動澆花器,系統會透過感測器偵測土壤的濕度,並在濕度不足的時候自動為盆栽補充水份,在此同時系統也會將每個時段的濕度記錄在QNAP的NAS中,使用者可以隨時透過QNAP NAS的Dash Board顯示板看到系統狀況與歷史記錄,大大增加了雲端連結的方便性。也可以利用NAS的大容量儲存特性,將植物的生長過程錄成影片存在NAS中。
慧手科技也預定在今天12月舉行自動澆花器的實作課程,有興趣的學員以及讀者請務必密切關注T客邦的活動訊息。
▲Dennis老師介紹如何將自動澆花器結合QNAP NAS應用。
▲使用者可以隨時透過電腦、手機連接至QNAP NAS的Dash Board顯示板,查閱系統狀況與歷史記錄。
▲QNAP的IoT技術人員也簡單說明如何透過App與雲端開發工具,在NAS上開發物聯網裝置。
▲所有IoT裝置可以先連接至NAS,再透過NAS連接到無線網路,也可以將感測器的記錄檔寫進NAS,未來方便分析所有的數據。
進階挑戰:控制伺服馬達
在瞭解了Arduino與Motoduino U1的基礎之後,下半場的課程內容偏向實際應用領域。Sam老師開始講解透過Motoduino U1控制蜂鳴器、伺服馬達等元件,也說明了如何在開發的過程中活用麵包板,簡化連接線路的工作,並以實例進行操作練習,學員們也都在老師的協助下完成實作。
▲Sam老師講解如何設定不同的頻率,並透過Motoduino U1控制蜂鳴器。
▲將伺服馬達連接到S4A擴充板就能利用Motoduino U1控制。
▲程式部分依然使用MotoBlockly進行開發。
▲麵包板可以簡化開發過程中的線路連接工作。
▲講解過後學員們紛紛開始練習。
▲如果連接與程式都沒問題,伺服馬達就會開始轉動。
▲學員練習將LED插在麵包板上。
實作挑戰與有獎徵答
在課程的最後階段,學員們需要整合所有課程教授的內容,並運用所學做出一台可以自動感測溫度來調整風量的智慧型電扇。在實作中使用的馬達為直流馬達,因此學員需要透過PWM控制馬達轉速,使用上與控制伺服馬達有些不同。
▲Sam老師正在講解智慧型溫控電扇的運作邏輯。
▲學員們將課程所學的知識應用於實作練習。
▲所有老師們也都針對學員的疑問進行一對一講解。
▲成功做出成品的成就感,就是今天課程最大的收獲。
在學員們都成功交出作品之後,Sam老師提供了3道額外的題目讓大家練習,最快完成任何一個題目的前三位學員,就能獲得老師提供的擴充感測器做為小小的獎勵,學員們無不卯足全力徵取榮耀,今天的課程也在豐富的實作練習中劃下完美的句點。
▲在課程扎實的訓練中,學員很快就能舉一反三完成老師出的題目。
學員心得分享
這次的課程以入門難度為考量,因此不但有很多剛接觸Arduino的學員,還有正在就讀國小六年級的小學員參加,大家不但很認真上課,也都表示受益不淺,未來還有興趣參加其他課程。
▲柏翰是從台中專程搭車來台北參加課程的高中生,雖然學校還是會教一些電子相關的課程,但是內容還是不一樣。在參加今天的課程之前,他已經有接觸過其他開發板,但是因為自學不易,所以才考慮報名入門課程,在老師的教學之下,解開了許多之前不瞭解的疑惑。由於柏翰打算以自己開發的裝置參加學校的科展競賽,因此未來會更加關注創客相關的資訊。
▲因為家棟看到很多創客相關的報導,所以對這個領域產生興趣,雖然有一些程式背景,但卻是第一次接觸電路,所以覺得這種入門課程的難度剛剛好,未來想要參加如何將裝置與雲端連結的課程。
▲就讀小學六年級的柏澔因為父親的工作與程式有關,因此對今天的課成相當有興趣,而且已經有一、兩年的創客資歷,相當了不起。在上完今天的課程後,他覺得還是有很多內容跟之前學過的東西不一樣,所以還是有所收獲,因為自己對3D列印很感興趣的關係,所以未來想要參加關於3D列印套件的課程。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!