這本不懷好意的發明指南將告訴您如何以Arduino微控制器開發系統來編寫及建立各種專題。涵蓋了Windows、Mac以及LINUX平臺,本書藉由簡化過的C語言程式設計來加快您的學習速度——而您不需要先擁有任何程式設計基礎。
Arduino開發板提供給邪惡天才一套價格低廉、容易上手的技術來開發他們的邪惡專題。因此現在一系列的新專題可藉由這套技術來開發,並且可由電腦控制這些專題。而當一組由電腦來驅動伺服機控制雷射的專題完成後,全世界將掌握於邪惡天才的手中!
這本書將為您介紹邪惡天才如何將Arduino開發板連上電腦,並撰寫控制原始碼,再接上各式各樣的電子元件來製作專題。包含先前所提到由電腦來驅動伺服機控制雷射、透過USB來控制電扇或者製作溫度記錄器、光豎琴與聲波示波器,當然我們能做的不只這些。
書中將提供每個專題的詳細示意圖與製作流程,並且不需要用到烙鐵或其他特殊工具。然而,邪惡天才當然希望可以將這些插在麵包板上的專題,更加精進成可永久保有的類型,而這些書中也有詳細的介紹。
作者簡介:
西蒙‧孟克(Simon Monk)
擁有神經機械學與電腦科學學士學位,以及軟體工程博士學位。他從學生時代便是活躍的電子工作愛好者,有時也為業餘電子雜誌撰文。
譯者簡介:
謝瑩霖
簡介:國立臺灣師範大學應用電子系畢,譯有《Raspberry Pi快速上手指南》,目前於馥林文化擔任《Make》與《ROBOCON》國際中文版編輯。
蔡睿烝
簡介:國立臺灣師範大學科技應用與人力資源發展學系碩士班畢,目前於馥林文化擔任MIS工程師。
章節試閱
專題1 閃爍LED
假設我們都已經將環境設定好了,就可以開始製作第一個令人興奮的專題了。好啦!其實並不會讓人很興奮,不過總是要有個起跑點,這個專題可以協助我們確認所有Arduino開發板週邊的設置是否正確地完成。
我們選擇閃爍程式來進行修改,我們將增加閃爍的頻率,並且將新的程式碼上傳到Arduino開發板中。完成後,開發板上LED的閃爍速率將會大幅提高。接著將更進一步延伸使用外接LED與電阻來取代原先開發板上的內建LED。
所需的元件與裝置
品名 附錄號碼
Arduino Diecimila或Duemilanove開發板或其他複製板 1
D1 5mm紅色LED 23
R1 270Ω 0.5W金屬皮膜電阻 6
實際製作時,任何顏色的LED搭配270Ω的電阻都可以。
不需要尖嘴鉗與斜口鉗以外的工具。
你可依據附錄號碼欄內的數字,在本書後面的附錄中找到相對應的零件,不同的供應商也會提供不同的代碼。
軟體
首先,我們要使用Arduino開發環境來開啟閃爍程式,當你在安裝Arduino開發環境時,範例程式就是閃爍程式。
程式中絕大部分都是註解,它的用途並非程式的主體,而是用來說明程式的工作內容,讓其他人可以知道原作者是在寫什麼。
可以直接在程式的後方加上「//」加入一段話的註解,或是使用「/*」與「*/」將一段註解文字框起來。
如果任意移動程式中的註解,並不會影響程式主要的功能。因為我們加入註解的目的是為了讓另一個人可以了解程式的工作內容,節省許多解讀程式的時間。
在我們開始進入主題之前,有一些名詞上的不同需要告訴各位。在Arduino社群中是以「腳本程式碼(Sketch)」來代替「程式(Program)」。所以從現在起,我一律將Arduino程式稱為「腳本程式碼」。
偶爾我也會提到程式碼(Code),這對於懂得如何編寫程式的人來說是一種較為熟悉的口語說法。所以有些時候你可能會聽到有些人說:「我寫了一個什麼功能的程式。」或是「我寫了一段什麼功能的程式碼。」其實都是一樣的道理。
回到主題,為了要修改LED閃爍的速率,我們需要針對延遲(delay)功能中的數值進行修改。在草稿中共有兩個delay要修改:
delay(1000);
將括號內的數值改成200,就會變成下面這樣:
delay(200);
這樣會使得LED亮起與熄滅間的間隔時間,從1000毫秒(1秒)變成200毫秒(1/5秒)。在第三章〈LED專題〉中將會更深入修改這個腳本程式碼,不過現在我們只要修改delay功能並重新上傳到Arduino開發板中即可。
將開發板與電腦相連,並選擇「Upload」把腳本程式碼上傳到板子裡。假如所有東西都就定位,板子上的兩顆紅色LED會稍微停頓5~10秒,接著便會開始猛烈地閃爍。
如果什麼事情都沒發生,就必須重新檢查一下序列埠號碼與開發板型號。
當完整的腳本程式碼上傳完畢後,開發板便會自動重置,一旦全部正常,你則會看到數位腳位13旁的LED閃得比先前快得多。
硬體
目前為止似乎還沒有接觸到實際的電子元件,這是因為目前所用的硬體都可以在開發板上找到。在這節中,我們將連接額外的LED到開發板上。
LED這類的元件不能直接接上電源使用,必須要搭配一顆限流電阻才行。在許多電子供應商都可找到這兩種元件,詳細的供應商以及相對應的料號,請見本書的附錄。
設計者將Arduino開發板上方的插槽設計成可以直接插上擴充板的形式。然而,為了方便進行電子實驗,也可將跳線或元件接腳直接插入插槽。
如何連接此專題中的外接LED,可參考此專題的電路圖。
這種類型的電路圖皆使用特殊符號來代表電子元件,好比LED的符號旁就多了兩個箭頭,代表為發光二極體,工作模式與二極體相同,只允許電流由一個方向流過,在旁邊加上小箭頭的話,則代表會發出亮光。
電阻的符號則是以長方形或是鋸齒線為代表,而電路圖中的直線則代表元件間須連接。連接方式有可能是一段電線或是麵包板上的同一塊導通區,在這裡我們只是直接將元件接在一起。
我們可以直接將元件接到Arduino開發板的數位腳位12與接地腳位上,但首先我們必須將LED的其中一隻針腳接上電阻。
電阻不論哪隻針腳都可以接到LED上,但是LED就必須要以正確的方式連接才行。LED的針腳分別為一長一短,而長的針腳則必須要接到數位腳位12上,短的則必須與電阻相連接。也有許多元件跟LED一樣,特別把正腳位做得比負腳位長一點。
你可以稍微將LED的兩隻針腳分開,並將電阻以纏繞的方式接到短針腳上。
接著,將LED較長的針腳接到數位腳位12上,然後再將電阻的另一隻針腳接到接地腳位中。有時也可將針腳的末端稍微折彎,讓它能更好插入插孔中。
現在我們可以開始修改原本的LED腳本程式碼了,我們只需要將原先的數位腳位13改成數位腳位12即可,欲修改的腳本程式碼區塊如下所示:
int ledPin = 13;
// LED connected to digital pin 13
改完後則為:
int ledPin = 12;
// LED connected to digital pin 12
改好之後,就可以按下Upload鈕將腳本程式碼上傳到開發板中,這種做法就跟按下IO板上的按鈕來更換頻率的方式相同。
專題1 閃爍LED
假設我們都已經將環境設定好了,就可以開始製作第一個令人興奮的專題了。好啦!其實並不會讓人很興奮,不過總是要有個起跑點,這個專題可以協助我們確認所有Arduino開發板週邊的設置是否正確地完成。
我們選擇閃爍程式來進行修改,我們將增加閃爍的頻率,並且將新的程式碼上傳到Arduino開發板中。完成後,開發板上LED的閃爍速率將會大幅提高。接著將更進一步延伸使用外接LED與電阻來取代原先開發板上的內建LED。
所需的元件與裝置
品名 附錄號碼
Arduino Diecimila或Duemilanove開發板或其他複製板 1
D1 5mm紅色LED 2...
目錄
緒論
第1章 快速上手
第2章 Arduino探索之旅
第3章 LED專題
第4章 更多LED專題
第5章 感測器專題
第6章 燈光專題
第7章 音效專題
第8章 電源專題
第9章 其他專題
第10章 你的專題
附錄
緒論
第1章 快速上手
第2章 Arduino探索之旅
第3章 LED專題
第4章 更多LED專題
第5章 感測器專題
第6章 燈光專題
第7章 音效專題
第8章 電源專題
第9章 其他專題
第10章 你的專題
附錄
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。