學習製作互動電子專題時,是否免不了跟電路奮戰?為了讓初學者更輕鬆地跨入電子創作的世界,本書採用了Grove Beginner kit for Arduino開發套件,將 Arduino 相容開發板與十個常用的電子元件整合起來,透過USB傳輸線接上電腦就可以直接使用。省去複雜的焊接與接線,把時間留給最重要的創意發想吧!
套件內含Arduino UNO相容板、十個常用電子元件(LED模組、按鈕模組、旋轉式電位器、蜂鳴器、光感測器、聲音感測器、OLED顯示模組、溫濕度感測器、氣壓感測器、三軸加速度計)以及實作教學手冊,開箱後可直接開始學習製作互動電子專題。
精心安排的程式範例搭配無痛操作的硬體元件,讓讀者能循序漸進學習,自行完成各種有趣的電子互動專題。讀者將從基本的輸入/輸出元件開始體驗,進而理解什麼是「數位」、「類比」與各種常見的重要技術名詞。除了模組範例之外,還規劃了六個進階專題,包含音樂動態節奏燈、聲光感應檯燈、方向辨識器…等。
本書特色
【共同推薦】CAVEDU教育團隊創辦人-曾吉弘 博士,台灣自造者協會-鄭鴻旗理事長
在學習新事起步總是相當困難,對於Arduino初學者來說也是一樣。需要學習硬體知識、程式設計、了解各種接線的連接方式,甚至需掌握焊接技巧;在開始學習Arduino程式設計之前,需要準備的事情很多……
現在只需要擁有【Arduino首次接觸就上手】就能夠解決您的前期準備的問題喔!
*只需先專注程式設計與Arduino的學習,不須在學習初期就要應付繁雜的準備工作。
*Arduino為控制核心,帶您由基礎學習入門到專題延伸。
*操作簡單且無需使用麵包板即可完成專題應用。
*讓您輕鬆自學,不卡關!!
作者簡介:
CAVEDU教育團隊
CAVEDU,帶您從0到0.1!
CAVEDU教育團隊是由一群對教育充滿熱情的大孩子所組成的科學教育團隊,積極推動國內之科技教育,業務內容包含技術研發、出版書籍、研習培訓與設備販售。
團隊宗旨在於以讓所有有心學習的朋友皆能取得優質的服務與課程。本團隊已出版多本樂高機器人、Arduino、Raspberry Pi、物聯網與AI等相關書籍,並定期舉辦研習會與新知發表,期望帶給大家更豐富與多元的學習內容。
更多酷專題請來CAVEDU技術部落格:http://blog.cavedu.com
範例程式檔與本書更多資訊,請上CAVEDU系列叢書官方網站:http://www.cavedu.com/books。
深圳矽遞科技股份有限公司
Seeed自2008年以來一直服務於全球開發者社區,提供開放技術和敏捷製造服務,其使命是讓硬件更容易獲得,降低硬件創新的門檻。憑藉深圳豐富的資源、值得信賴的技術和遍布全球的分銷夥伴,Seeed致力於成為物聯網、邊緣人工智能應用硬件解決方案的最完整的平台。
章節試閱
01.LED 模組
上一節,我們學會了如何輸出「hello world」。現在要看看如何點亮LED模組。正如我們所知,一個系統由三個基本模組組成:輸入、控制和輸出。此範例只會用到一個輸出模組(LED),而後有輸入模組。
Seeeduino是控制模組,LED是輸出模組,而它的輸出訊號為數位訊號。
背景知識
什麼是數位訊號?
數位訊號:數位訊號代表不同大小的數值之間是不連續的,且是在一個有限的範圍之內。Arduino的數位訊號具有兩個狀態:LOW(0V)為0; HIGH(5V)為1。因此向LED發送【HIGH】訊號可以讓它亮起來;發送【LOW】訊號則是讓LED熄滅。
使用模組
1.Seeeduino開發板
2.LED模組
3.訊號線(僅適用於模組已拆開的情況)
硬體連接
模組連接
① 預設以電路板上的線路連接到Seeeduino。
②透過USB傳輸線將Seeeduino連接到電腦。
程式碼
①打開 Arduino IDE。
②輸入以下程式碼,按一下【驗證()】來檢查有無語法錯誤,如果沒有出現錯誤訊息,就可以按【上傳()】把程式碼上傳到開發板。
//LED Blink
//The LED will turn on for one second and then turn off for one second
int ledPin = 4;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
程式碼分析
//LED Blink
//The LED will turn on for one second and then turn off for one second
這兩行是註解,//之後的內容不會被編譯為執行命令。
在 Arduino 程式碼中,只要是接在 // 符號之後的內容都會被 Arduino 編譯器跳過而不會進行編譯(不然程式就出錯啦)。那為什麼要在程式中加入一些會被跳過的說明呢?您可以在變數、函式或是一段較長的程式碼開頭使用註解,並在其中說明用途,這樣可以讓您的程式碼更容易看得懂。註解內容可以寫中文字,但有可能會因為不同的編輯環境導致開起來變成亂碼。
另一方面,您可以用註解來停用某一段程式,這樣就能做到分段檢查的效果。Arduino 的註解方式與絕大多數的程式語言相同,分為單行註解與多行註解,以下是不同的註解方式:
單行註解:
//註解1
//註解2
多行註解:
/*
這裡
被包起來的
很多行
都會被視為註解
整段包起來很方便
*/
但這樣是不行的!!
/*
我會被 Arduino 當作是程式碼,編譯錯誤
別擔心,Arduino 環境會把註解內容變成淺灰色,仔細看看喔!
程式碼是給機器看的,為了讓讀這份程式碼的人類也能了解它的功能,在程式碼中加入註解是重要的習慣。雖然目前程式碼都不長,結構也很單純,但是,隨著您能力的成長,程式碼會越來越龐大,還有可能要跟其他夥伴一起寫程式,而您的大作更可能被後世所景仰,為了幫助未來的自己、夥伴與後繼者,充分了解您創作的初心,請務必寫下清楚的註解。
setup(){
}
專案開始時以setup()函式來初始化變數、腳位模式和啟動程式庫等。setup()函式只會在每次Arduino開發板通電時或按下Reset按鈕後執行一次。
loop(){
}
新增一個用於初始化和設定初始值的setup()函式之後,loop() 函式正如其名,會不斷執行它裡面的內容,並允許程式進行更改與回應。loop() 函式是用來主動控制Arduino開發板。
某腳位設定為 INPUT 模式之後,則可透過 digitalWrite() 函式來啟用 (HIGH) 或 停用 (LOW) 該腳位之內部上拉電阻,建議將pinMode()設定為INPUT_PULLUP以啟用內部上拉電阻。更多資訊請參考: https://www.arduino.cc/en/Tutorial/InputPullupSerial。
如果不將pinMode()設定為OUTPUT就把LED連接到腳位的話,則在呼叫digitalWrite(HIGH)時,會因為未明確設定pinMode(),digitalWrite()將啟用內部上拉電阻作用為限流電阻LED,這樣可能不會亮。
語法:
digitalWrite(pin, value)
參數:
pin(腳位):Arduino的腳位。
value(值):HIGH 或 LOW 。
digitalWrite(ledPin, LOW);
〈參照P17〉當 ledPin 被設定為輸出時,LOW 代表向該腳位發 送低電位,LED 熄滅。
delay(1000);
將程式延遲1000ms(1秒)。
描述:
暫停程式一段指定的時間長度(以毫秒為單位)。
*每秒有1000毫秒。
語法:
delay(ms)
參數:
ms:暫停的毫秒數。
允許的資料型態:正整數(unsigned long)
展示效果和序列埠輸出結果
LED模組將亮1秒,燈滅1秒。
拆解指南
如果模組已從主電路板拆下來的話,則需要使用訊號線將 LED模組接到Seeeduino的數位連接埠D4。
試試看
◎改變LED模組閃爍的快慢吧!
01.LED 模組
上一節,我們學會了如何輸出「hello world」。現在要看看如何點亮LED模組。正如我們所知,一個系統由三個基本模組組成:輸入、控制和輸出。此範例只會用到一個輸出模組(LED),而後有輸入模組。
Seeeduino是控制模組,LED是輸出模組,而它的輸出訊號為數位訊號。
背景知識
什麼是數位訊號?
數位訊號:數位訊號代表不同大小的數值之間是不連續的,且是在一個有限的範圍之內。Arduino的數位訊號具有兩個狀態:LOW(0V)為0; HIGH(5V)為1。因此向LED發送【HIGH】訊號可以讓它亮起來;發送【LOW】訊號則是讓LED熄滅。
...
目錄
硬體說明
Arduino入門課程
模組範例
01.LED模組
02.按鈕模組
03.旋轉式電位器
04.蜂鳴器
05.光感測器
06.聲音感測器
07.OLED顯示模組
08.溫濕度感測器
09.氣壓感測器
10.三軸加速度計
專題
01. 音樂動態節奏燈
02. 智慧聲光感應檯燈
03. 警報器
04. 方向辨識器
05. 點歌機
06. 隨插即用開箱展示
製作自己的模組和開發板
關於社群學習的想法
技術支援
硬體說明
Arduino入門課程
模組範例
01.LED模組
02.按鈕模組
03.旋轉式電位器
04.蜂鳴器
05.光感測器
06.聲音感測器
07.OLED顯示模組
08.溫濕度感測器
09.氣壓感測器
10.三軸加速度計
專題
01. 音樂動態節奏燈
02. 智慧聲光感應檯燈
03. 警報器
04. 方向辨識器
05. 點歌機
06. 隨插即用開箱展示
製作自己的模組和開發板
關於社群學習的想法
技術支援
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。