我的原創專題:Arduino學習之路

三月 5, 2014
Facebook
Twitter
這一篇轉貼的文章是為那些(像我一樣)一開始對於Arduino專題一無所知的人所寫的。或許你也會覺得有一點不知所措,覺得自己沒有辦法學會這一切。我對於微控制器、程式編寫、設計這些領域都是門外漢,而且沒錯,在一開始的時候我的確覺得有些害怕。在閱讀本篇的過程中,別忘了,我對於動手做這一些新玩意兒一點都不在行,但是,我辦到了,這篇文章就是在談這其中的故事。

【編註:接下來您會讀到,蓋瑞之所以會投身Arduino世界,是被Drawdio」音樂鉛筆專題啟發。「Drawdio」是我們五十五個周末專題系列的其中之一。下個禮拜開始,我們會推出2014年的企劃,包含二十五個更有趣的專題,初學者也可以輕鬆享受,千萬不要錯過囉!】

多年以來我十分喜愛電腦與科技產品,還記得中學的時候我就開始在我的Vic-20(早期的八位元電腦)上寫程式了!從那些輝煌的日子之後,我就再也離不開電腦了,有時甚至同時需要兩三臺在身邊。雖然我一直都很喜歡這項科技,但好像都沒有機會深入了解背後的運作原理,原因不是沒有興趣嘗試新事物,而是沒有自信(最近則是也沒有太多閒暇時間)。我讀了許多書,逛了許多網站,看了許多影片,吸收了許多相關的教育影片,內容囊括了電腦歷史、網路、Linux、各語言程式編寫、機器人製作等等,最近甚至將觸角延伸到電子零件與電學原理,然而,就算讀了這麼多資料,大部分的東西都還只停留在理論階段,我幾乎沒有親自動手嘗試應用我讀到的原理,概念部分我算是非常熟悉了,但是沒有實際動手作,幾乎就等於沒有學到東西。

進入Arduino的世界

兩年前,我在RadioshackWired雜誌上看到一個廣告,內容在介紹Arduino Duemilanove以及一個相關的入門專題,包含需要的零件列表、程式碼、和詳細的步驟說明。就在這一個DIY專題中,電腦、程式、電子零件和科技被巧妙地組合在一起。

結果,我上網查了一些資料,下訂Arduino Duemilanove套件包並且從eBay上面買了一大堆各式各樣的零件。在此之前,我的嗜好之一是業餘飛行員,但隨著日常生活開銷上升、可支配所得下降之後,我必須要撙節一些,於是我在這裡發現了新天地,而且不久就上癮了!

接下來的兩年裡,我花了許多時間閱讀與學習,還買了許多便宜的電子材料,即使眼前還用不到,我也買回家放著,像是被動式紅外線(PIR)感測器、三軸陀螺儀、移位暫存器、七段LED顯示器、一堆IC555計時器、參照表、LCD顯示器、電阻器、電容器等等。我知道每種零件的運作原理,並將它們有系統地收納。而且,我還買了高階的焊鐵和多用電表,有了這些設備之後,我甚至還設置了一個工作空間,但是什麼也沒有發生。

所有的零件都靜靜地躺在那裏,我用麵包板製作了廣告上看到的範例專題 ,但是很快就壞了,零件又放回原處。        

我依舊熱愛學習,享受那種探索新主題的樂趣,但是那些概念就只停留在理論階段。當我遇到一個問題,想要深入了解的時候,我會在網路論壇裡面尋找答案、觀看YouTube影片或者在Google+上面閱讀專題說明等等,我的確有那股熱情,但那股熱情不曾離開我的頭殼,我曾經想要撰寫文章來說明三色LED的功能或者迴圈控制的檢討與改進,但是從來不曾付諸實現。

然後,我繼續看著許多網友分享的專題,即使是「入門」的專題看起來都非常複雜,我甚至不懂他們在說什麼,但我告訴自己,我可以持續學習。欣賞這些酷炫的專題的確容易,但這一切當然不如親自動手做來得有成就感。後來,我終於發現我的問題不是不夠聰明,而是沒有信心,要是我實際動手做結果失敗了怎麼辦?我會不會問一些蠢問題讓別人看不起?要是我做了一個專題但是完全沒有用怎麼辦呢?

在我發現這個問題之後,我決定放手一搏,直接投入專題製作當中。

就在這個時間點,我剛好看到Drawdio專題,這個有趣的專題使用555計時器,利用鉛筆筆芯的石墨材質,根據鉛筆畫出來的東西發出不同的音樂,我讀了網站上的說明,也看了示範影片,在花了幾小時把所有東西焊接起來之後,居然大功告成!這也是我第一個麵包板以外的成功作品!不只我覺得很棒,孩子們也愛不釋手(後來我做了兩個)。但更重要的是,我這個新手做出來的東西竟然真的可以用,這個經驗給了我很大的鼓舞!

現在,要談到我的重頭戲,也就是這個百分之九十七原創的作品: MO-MARS 4000

我知道,堅持原創這件事情有一點傻。但是,我做專題不是因為日常生活需要,而是想要自我挑戰。在這個專題當中,我挑了許多手邊有的零件,並想辦法把它們組合成一個有趣的創意專題。

所以,我到底做了什麼?那還用說嗎?當然是一個多重模式、機械型的Arduino橡皮筋發射器,或者,我喜歡叫它小小兵Arduino橡皮筋發射機(Minion Operated – Motorized Arduino Rubberband Shooter)簡稱MO-MARS 4000

這個專題的構想來自我在網路上看到的橡皮筋發射槍,它是用伺服機發動的,我很喜歡這個構想,但是刻意不去看製作說明,這是因為,我想要從頭自己設計。我挑選了紅外線感測器、按鈕、開關、電位計、LED、熱熔膠槍、電線、原型開發板、冰棒棍和麥當勞快樂兒童餐送的小小兵(神偷奶爸的主角)玩具,接下來,派對就開始囉!

我遇到最大的問題是,要從哪裡開始呢?我決定要畫出我的構想來試著理清頭緒。

在我的想像中,基本結構應該是一塊平整的底板,上面有伺服機做為橡皮筋發射的動力來源,另外,我希望底板能夠轉動並且上下移動,所以,我跑到美術材料行買了一些重量較輕的木料,也蒐集了一些便宜的顏料。在我選擇顏色的時候,我有想過金屬感的外殼,搭配冷色調條紋設計,我只有大概的構想,沒有將細節完全想玩就開始做了,而且,我沒有太多木工的設備,只有電鑽、螺絲起子和筆刀而已。

後來,我決定在專題裡加入不同模式的發射方法,在這個時間點,我終於發現有必要把所有的構想寫下來,我畫了簡單的流程圖,並且加上了不太專業的線路組裝圖。

這就是我在製作圖中的導引了,就算沒有達到電機與電子工程師學會 Institute of Electrical and Electronic Engineers、簡稱IEEE)的標準,也不是百分之百準確,都沒有關係,我會在過程中逐漸修正,並且從中學習。

在我的橡皮筋發射器裡,有一個三段式的開關,這是做什麼用的呢?我在想,如果使用者可以任選三種不同模式(手動、隨機或被動式紅外線感測器),豈不是很酷?於是,我看著手邊的零件,想出一個計畫、實際畫出設計圖,最後親自下去嘗試,這簡直是完美的程式編寫挑戰。

但是,Arduino專題怎麼可以少了LED呢?我手邊有RGB三色LED ,卻發現專題裡面不會用到。為了自我挑戰,我希望加入更多素材,也就為了加入LED而加入LED,所以,我的想法是在伺服機運作的時候讓LED閃動,另外,我希望伺服機可以隨機選擇位置,然後以較緩慢的速度轉動。

我的程式碼(將近400行)一點都不複雜,而且,我確定在某些地方我的處理方式不夠有效率。但是,我心知肚明,直接下手嘗試的結果會學到最直接的經驗,這也就是我的信條:放手作就對了!

最後,我得到夢寐以求的成果:一個充滿挑戰的專題設計,我在過程中學到許多我以為我做不到的事情,甚至有種自己是超級改造者的感覺。我一次又一次地練習我的焊接技巧,每次都有一些進步;此外,我也學到安裝上拉式與下拉式電阻器的重要性,而且發現其實並不困難,還有開關的去彈跳方式在這之前,一切都還只停留在理論階段而已! 在某些時刻,我甚至敲打我的電鑽,才成功作出某些零件;在買回家一年半之後,我終於第一次打開我的熱熔膠槍,還有,我發現冰棒棍在許多專題當中都可以應用,或許這些對許多DIY玩家來說都是很基本的概念,但是對我來說付諸實現之前都只是空談的理論而已。

我希望這個故事可以啟發那些想要動手做,卻還踟躕不前的人。沒錯,這只不過就是個橡皮筋發射器而已,但是對我來說,這是一場旅程的開始,而不是終點。【編註:雖然作者這麼說,但是作者這次的成果其實很酷喔!原文頁面的最下方 MO-MARS 4000運作的英姿!】

Social media & sharing icons powered by UltimatelySocial