內容簡介
超圖解 Arduino 互動設計入門 第四版
內容簡介
華文世界銷售第一的 Arduino 創客經典教材!
本書的目標是讓高中以上, 沒有電子電路基礎, 對微電腦、電子 DIY 及互動裝置有興趣的人士, 也能輕鬆閱讀, 進而順利使用 Arduino 控制板自造完成各種互動應用, 加入創客的行列。因此, 實驗用到的電子和程式觀念, 皆以手繪圖解的方式說明, 看圖就能懂。主要特色如下:
□ 【超清楚手繪接線圖, 人人都能動手當創客】:製作電子實驗一定要動手接電路, 本書利用手繪方式提供超清楚的實體接線圖, 只要對照圖中的接線與電子零件標示, 就可以在麵包板上正確接好線路, 進行實驗。除了手繪接線圖外, 本書也會提供對照的電路圖, 讓讀者不只入門容易, 也為將來邁向專業等級做好準備。
□ 【程式語言從零開始, 人人都能設計程式】:使用 Arduino 製作互動設計除了組裝電路外, 最重要的就是要能夠撰寫程式控制互動邏輯。本書特別以手繪的程式觀念圖以及清楚易懂的流程圖, 從零開始說明程式設計的基礎觀念, 即使沒有程式設計經驗, 也可依照書中說明動手撰寫互動程式。
□ 【隨手自造享受無窮樂趣】:除了花錢購買電子零件以外, 本書還會教您利用身邊現有的材料自造出令人驚艷的有趣設計, 像是使用廢棄的塑膠硬殼製作簡易機器手臂、將廢棄的軟碟片改造成電子鼓、將玩具模型車變成可自動躲避障礙物的智慧型自走車等。
□ 【Arduino × Android 互動串連】:互動裝置能夠遙控更是酷, 本書也會介紹如何結合 Arduino 與 Android 雙 A 裝置, 透過藍牙無線傳輸設計個人專屬的藍牙遙控機器人, 還可以自己開發 App, 延伸自造樂趣。
□ 【邁入科技潮流物聯網應用世界】:使用網路模組讓 Arduino 互動裝置上網, 即可透過客製化的網頁遠端遙控家電, 邁入物聯網的世界。本書更進一步介紹可無線連網的 D1 mini 控制板, 拓展物聯網的範圍, 任何人都可以自由自造智慧生活所需要的各種無線裝置。
□ 【精心設計 DIY 趣味範例】:包括手機藍牙遙控機器人、連網智慧家電控制、光感應音樂盒、聲控開關、自動調光小夜燈、LED 矩陣動畫與文字跑馬燈、電子尺、電子燭光特效、避障自走車、數位溫濕度計、體感控制機器手臂、自動尋軌車、RFID 門禁控制、模擬悠遊卡儲存值、入侵偵測 LINE 警報通知器、遠端網頁調光器等。
第四版並提升實驗零件取得的容易度, 從原本改造身邊的電子產品和玩具著手, 搭配組裝電子零件的 DIY 風格, 改成盡量採用方便購買的現成模組, 以求自學實作及老師授課的便利, 不過在使用這些現成的模組時, 同時也會說明模組內部的電路及其運作原理, 避免許多初學者一旦沒有模組可用, 就不知道該如何完成相同功能的困境。
此外第四版也在程式設計和演算法上更加全面地介紹 Arduino 程式語言, 包含物件導向程式設計和自製程式庫等進階主題。部分內容雖然因為篇幅有限, 從紙本書中移除, 但仍採電子書形式提供給讀者參考, 方便讀者查閱進修。書末更提供中文電腦書通常沒有的索引,更是作者花費長時間精心整理完成, 期望能讓本書在學習之餘, 更能成為各位手邊最便利好查的工具書。
本書特色
□ 華文世界銷售第一的 Arduino 創客經典教材!
□ 超圖解、人人都能看得懂
□ 沒學過電子電路也能做出來
□ 沒寫過程式也能從零開始
□ 隨手自造享受無窮樂趣
□ Arduino × Android 互動串連
□ 邁入科技潮流物聯網應用世界
內容簡介
華文世界銷售第一的 Arduino 創客經典教材!
本書的目標是讓高中以上, 沒有電子電路基礎, 對微電腦、電子 DIY 及互動裝置有興趣的人士, 也能輕鬆閱讀, 進而順利使用 Arduino 控制板自造完成各種互動應用, 加入創客的行列。因此, 實驗用到的電子和程式觀念, 皆以手繪圖解的方式說明, 看圖就能懂。主要特色如下:
□ 【超清楚手繪接線圖, 人人都能動手當創客】:製作電子實驗一定要動手接電路, 本書利用手繪方式提供超清楚的實體接線圖, 只要對照圖中的接線與電子零件標示, 就可以在麵包板上正確接好線路, 進行實驗。除了手繪接線圖外, 本書也會提供對照的電路圖, 讓讀者不只入門容易, 也為將來邁向專業等級做好準備。
□ 【程式語言從零開始, 人人都能設計程式】:使用 Arduino 製作互動設計除了組裝電路外, 最重要的就是要能夠撰寫程式控制互動邏輯。本書特別以手繪的程式觀念圖以及清楚易懂的流程圖, 從零開始說明程式設計的基礎觀念, 即使沒有程式設計經驗, 也可依照書中說明動手撰寫互動程式。
□ 【隨手自造享受無窮樂趣】:除了花錢購買電子零件以外, 本書還會教您利用身邊現有的材料自造出令人驚艷的有趣設計, 像是使用廢棄的塑膠硬殼製作簡易機器手臂、將廢棄的軟碟片改造成電子鼓、將玩具模型車變成可自動躲避障礙物的智慧型自走車等。
□ 【Arduino × Android 互動串連】:互動裝置能夠遙控更是酷, 本書也會介紹如何結合 Arduino 與 Android 雙 A 裝置, 透過藍牙無線傳輸設計個人專屬的藍牙遙控機器人, 還可以自己開發 App, 延伸自造樂趣。
□ 【邁入科技潮流物聯網應用世界】:使用網路模組讓 Arduino 互動裝置上網, 即可透過客製化的網頁遠端遙控家電, 邁入物聯網的世界。本書更進一步介紹可無線連網的 D1 mini 控制板, 拓展物聯網的範圍, 任何人都可以自由自造智慧生活所需要的各種無線裝置。
□ 【精心設計 DIY 趣味範例】:包括手機藍牙遙控機器人、連網智慧家電控制、光感應音樂盒、聲控開關、自動調光小夜燈、LED 矩陣動畫與文字跑馬燈、電子尺、電子燭光特效、避障自走車、數位溫濕度計、體感控制機器手臂、自動尋軌車、RFID 門禁控制、模擬悠遊卡儲存值、入侵偵測 LINE 警報通知器、遠端網頁調光器等。
第四版並提升實驗零件取得的容易度, 從原本改造身邊的電子產品和玩具著手, 搭配組裝電子零件的 DIY 風格, 改成盡量採用方便購買的現成模組, 以求自學實作及老師授課的便利, 不過在使用這些現成的模組時, 同時也會說明模組內部的電路及其運作原理, 避免許多初學者一旦沒有模組可用, 就不知道該如何完成相同功能的困境。
此外第四版也在程式設計和演算法上更加全面地介紹 Arduino 程式語言, 包含物件導向程式設計和自製程式庫等進階主題。部分內容雖然因為篇幅有限, 從紙本書中移除, 但仍採電子書形式提供給讀者參考, 方便讀者查閱進修。書末更提供中文電腦書通常沒有的索引,更是作者花費長時間精心整理完成, 期望能讓本書在學習之餘, 更能成為各位手邊最便利好查的工具書。
本書特色
□ 華文世界銷售第一的 Arduino 創客經典教材!
□ 超圖解、人人都能看得懂
□ 沒學過電子電路也能做出來
□ 沒寫過程式也能從零開始
□ 隨手自造享受無窮樂趣
□ Arduino × Android 互動串連
□ 邁入科技潮流物聯網應用世界
內容目錄
目錄
1 認識 Arduino 與微電腦控制板
1-1 認識 Arduino
1-2 安裝 Arduino Uno 控制板的驅動程式
1-3 Arduino 程式開發工具與開發步驟簡介
1-4 上傳「閃爍 LED」範例程式
2 認識電子零件與工具
2-1 電壓、電流與接地
2-2 控制板的電源供應器
2-3 電阻
2-4 電容
2-5 二極體
2-6 發光二極體(LED)
2-7 看懂電路圖
2-8 電子工作必備的量測工具:萬用電錶
2-9 麵包板以及其他電子工具
3 Arduino 控制板與程式設計入門
3-1 Arduino Uno 控制板的功能和接腳說明
3-2 認識程式語言
動手做 3-1 寫一個 LED 閃爍控制程式
3-3 用「變數」來管理程式碼
3-4 不變的「常數」
3-5 使用 #define 巨集指令替換資料
4 開關、分歧指令與歐姆定律
4-1 認識開關
4-2 開關電路與上 / 下拉電阻
動手做 4-1 用麵包板組裝開關電路
4-3 改變程式流程的 if 條件式
動手做 4-2 LED 切換開關
動手做 4-3 用 RC 電路消除開關彈跳訊號
動手做 4-4 LED 跑馬燈
4-4 迴圈
動手做 4-5 跑馬燈範例程式二:使用 for 迴圈
4-5 認識陣列
動手做 4-6 使用陣列變數的 LED 來回跑馬燈
4-6 用歐姆定律計算出限流電阻值
5 UART 序列埠通信
5-1 並列與序列通訊簡介
5-2 認識 UART 序列埠
5-3 處理文字訊息:認識字元與字串資料類型
5-4 認識程式庫:傳遞序列訊息
動手做 5-1 從序列埠監控視窗觀察變數值
5-5 認識 String(字串)程式庫
5-6 從 Arduino 接收序列埠資料
動手做 5-2 從序列埠控制 LED 開關
5-7 switch...case 控制結構
5-8 認識數字系統
6 LED 七段顯示器與序列轉並列輸出 IC
6-1 七段顯示器
動手做 6-1 連接 LED 七段顯示器與 Arduino 板
6-2 使用積體電路簡化電路
動手做 6-2 序列連接七段顯示器
動手做 6-3 不用 delay() 的延遲方法
動手做 6-4 一個 74HC595 控制多個七段顯示器
7 SPI 序列介面與 LED 矩陣顯示器
7-1 建立自訂函式
動手做 7-1 建立自訂函式
7-2 變數的有效範圍:全域、區域和靜態
7-3 LED 矩陣簡介
7-4 認識 SPI 序列介面與 MAX7219
動手做 7-2 組裝 LED 矩陣電路
7-5 顯示單一矩陣圖像
動手做 7-3 在矩陣 LED 上顯示音符圖像
動手做 7-4 在序列埠監控視窗輸出矩形排列的星號
7-6 LED 矩陣動畫與多維陣列程式設計
動手做 7-5 在矩陣 LED 上顯示動態圖像
7-7 LED 矩陣跑馬燈
動手做 7-6 LED 矩陣逐字捲動效果程式
7-8 認識指標(Pointer)
7-9 將常數保存在「程式記憶體」裡
8 I2C 序列通訊介面與 LCD 顯示器
8-1 認識文字型 LCD 顯示模組
動手做 8-1 並列連接 LCD 顯示器
8-2 認識 I2C 介面
動手做 8-2 掃描 I2C 匯流排連接的週邊位址
8-3 LCD 顯示器的特殊字元和自訂字元
動手做 8-3 在 LCD 上顯示自訂字元符號
動手做 8-4 透過 I2C 介面串連兩個 Arduino 板
動手做 8-5 在 I2C 介面上傳送整數資料
8-4 DHT11 數位溫濕度感測器
動手做 8-6 製作數位溫濕度顯示器
9 類比信號處理
9-1 讀取類比值
動手做 9-1 從序列埠讀取「類比輸入」值
9-2 認識光敏電阻與分壓電路
動手做 9-2 使用光敏電阻製作小夜燈
9-3 壓力感測器與彎曲感測器
9-4 電容式麥克風元件與運算放大器
動手做 9-3 自製麥克風聲音放大器(拍手控制開關)
動手做 9-4 拍手控制開關改良版
10 變頻控制 LED 燈光和馬達
10-1 調節電壓變化
10-2 類比輸出(PWM)指令和預設頻率
動手做 10-1 調光器
動手做 10-2 隨機數字與燭光效果
動手做 10-3 透過序列埠調整燈光亮度
10-3 認識直流馬達
10-4 認識電晶體元件
動手做 10-4 電晶體馬達控制與調速器
11 發音體、超音波距離感測、物件導向程式設計與自製程式庫
11-1 發音體和聲音
11-2 使用 tone() 函數發出聲音
動手做 11-1 演奏一段瑪莉歐旋律
11-3 認識超音波
動手做 11-2 使用超音波感測器製作數位量尺
11-4 物件導向程式設計:自己寫程式庫
12 馬達控制板與自動迴避障礙物的自走車
12-1 控制馬達正反轉的 H 橋式馬達控制電路
動手做 12-1 編寫馬達驅動程式模組
動手做 12-2 自動迴避障礙物的自走車
13 伺服馬達、數位濾波、資料排序與體感控制機械雲台
13-1 認識伺服馬達
動手做 13-1 吃錢幣存錢筒
動手做 13-2 自製伺服馬達雲台
13-2 簡易數位濾波以及資料排序演算法
13-3 使用陀螺儀和加速度計模組控制伺服馬達雲台
13-4 從陀螺儀和加速度計取得角度
動手做 13-3 讀取 IMU 數據並繪圖顯示
動手做 13-4 透過「序列埠繪圖家」 呈現訊號波形
動手做 13-5 使用 IMU 感測器 控制伺服馬達
14 紅外線遙控、施密特觸發器與循跡自走車
14-1 認識紅外線
動手做 14-1 使用 IRremote 程式庫解析紅外線遙控值
動手做 14-2 使用紅外線遙控器控制伺服馬達
動手做 14-3 從 Arduino 發射紅外線 遙控電器
14-2 認識反射型與遮光型光電開關
動手做 14-4 光電子琴製作
14-3 紅外線循跡/避障模組與施密特觸發器
14-4 認識電壓比較器
14-5 製作循跡自走車
動手做 14-5 組裝自走車
15 手機藍牙遙控機器人製作
15-1 電波、頻段和無線傳輸簡介
15-2 認識藍牙(Bluetooth)
15-3 5V 和 3.3V 電壓準位轉換
動手做 15-1 使用軟體序列埠 (SoftwareSerial) 連接 Arduino 與藍牙模組
動手做 15-2 用 Android 手機藍牙遙控機器人
15-4 透過 AT 命令更改藍牙模組的名稱
動手做 15-3 透過 AT 命令更改藍牙 模組的名稱
16 RFID 無線識別裝置
16-1 認識條碼與 RFID
動手做 16-1 讀取 Mifare RFID 卡的 UID 碼
動手做 16-2 Mifare RFID 的門禁系統實驗
16-2 Mifare Classic 1KB 的記憶體結構
動手做 16-3 讀寫 RFID 卡片資料(扣款與充值)實驗
17 網路與 HTML 網頁基礎+嵌入式網站伺服器製作
17-1 認識網路與 IP 位址
17-2 網域名稱、URL 網址和傳輸協定
動手做 17-1 認識網頁與 HTML
17-3 網路的連線標準與封包
17-4 認識 HTTP 通訊協定
17-5 連接乙太(Ethernet)網路卡建立 Arduino 微型網站伺服器
動手做 17-2 建立微型網站伺服器
18 網路家電控制
18-1 使用 Webduino 程式庫建立微型網站
動手做 18-1 監控遠端的溫濕度值
18-2 傳遞資料給網站伺服器
動手做 18-2 建立網頁表單
18-3 認識傳遞資料的 GET 方法和查詢字串
動手做 18-3 建立接收 POST 表單資料的自訂命令
18-4 控制家電開關
動手做 18-4 使用繼電器控制家電開關
19 ESP8266 控制板 Wi-Fi 物聯網應用實作
19-1 ESP8266 模組
19-2 Wemos D1 mini 板的接腳
19-3 使用 Arduino IDE 開發 ESP8266 控制板程式
19-4 認識 Wi-Fi 無線網路
19-5 使用 ESP8266 的 WiFi 程式庫連接無線網路 &l
1 認識 Arduino 與微電腦控制板
1-1 認識 Arduino
1-2 安裝 Arduino Uno 控制板的驅動程式
1-3 Arduino 程式開發工具與開發步驟簡介
1-4 上傳「閃爍 LED」範例程式
2 認識電子零件與工具
2-1 電壓、電流與接地
2-2 控制板的電源供應器
2-3 電阻
2-4 電容
2-5 二極體
2-6 發光二極體(LED)
2-7 看懂電路圖
2-8 電子工作必備的量測工具:萬用電錶
2-9 麵包板以及其他電子工具
3 Arduino 控制板與程式設計入門
3-1 Arduino Uno 控制板的功能和接腳說明
3-2 認識程式語言
動手做 3-1 寫一個 LED 閃爍控制程式
3-3 用「變數」來管理程式碼
3-4 不變的「常數」
3-5 使用 #define 巨集指令替換資料
4 開關、分歧指令與歐姆定律
4-1 認識開關
4-2 開關電路與上 / 下拉電阻
動手做 4-1 用麵包板組裝開關電路
4-3 改變程式流程的 if 條件式
動手做 4-2 LED 切換開關
動手做 4-3 用 RC 電路消除開關彈跳訊號
動手做 4-4 LED 跑馬燈
4-4 迴圈
動手做 4-5 跑馬燈範例程式二:使用 for 迴圈
4-5 認識陣列
動手做 4-6 使用陣列變數的 LED 來回跑馬燈
4-6 用歐姆定律計算出限流電阻值
5 UART 序列埠通信
5-1 並列與序列通訊簡介
5-2 認識 UART 序列埠
5-3 處理文字訊息:認識字元與字串資料類型
5-4 認識程式庫:傳遞序列訊息
動手做 5-1 從序列埠監控視窗觀察變數值
5-5 認識 String(字串)程式庫
5-6 從 Arduino 接收序列埠資料
動手做 5-2 從序列埠控制 LED 開關
5-7 switch...case 控制結構
5-8 認識數字系統
6 LED 七段顯示器與序列轉並列輸出 IC
6-1 七段顯示器
動手做 6-1 連接 LED 七段顯示器與 Arduino 板
6-2 使用積體電路簡化電路
動手做 6-2 序列連接七段顯示器
動手做 6-3 不用 delay() 的延遲方法
動手做 6-4 一個 74HC595 控制多個七段顯示器
7 SPI 序列介面與 LED 矩陣顯示器
7-1 建立自訂函式
動手做 7-1 建立自訂函式
7-2 變數的有效範圍:全域、區域和靜態
7-3 LED 矩陣簡介
7-4 認識 SPI 序列介面與 MAX7219
動手做 7-2 組裝 LED 矩陣電路
7-5 顯示單一矩陣圖像
動手做 7-3 在矩陣 LED 上顯示音符圖像
動手做 7-4 在序列埠監控視窗輸出矩形排列的星號
7-6 LED 矩陣動畫與多維陣列程式設計
動手做 7-5 在矩陣 LED 上顯示動態圖像
7-7 LED 矩陣跑馬燈
動手做 7-6 LED 矩陣逐字捲動效果程式
7-8 認識指標(Pointer)
7-9 將常數保存在「程式記憶體」裡
8 I2C 序列通訊介面與 LCD 顯示器
8-1 認識文字型 LCD 顯示模組
動手做 8-1 並列連接 LCD 顯示器
8-2 認識 I2C 介面
動手做 8-2 掃描 I2C 匯流排連接的週邊位址
8-3 LCD 顯示器的特殊字元和自訂字元
動手做 8-3 在 LCD 上顯示自訂字元符號
動手做 8-4 透過 I2C 介面串連兩個 Arduino 板
動手做 8-5 在 I2C 介面上傳送整數資料
8-4 DHT11 數位溫濕度感測器
動手做 8-6 製作數位溫濕度顯示器
9 類比信號處理
9-1 讀取類比值
動手做 9-1 從序列埠讀取「類比輸入」值
9-2 認識光敏電阻與分壓電路
動手做 9-2 使用光敏電阻製作小夜燈
9-3 壓力感測器與彎曲感測器
9-4 電容式麥克風元件與運算放大器
動手做 9-3 自製麥克風聲音放大器(拍手控制開關)
動手做 9-4 拍手控制開關改良版
10 變頻控制 LED 燈光和馬達
10-1 調節電壓變化
10-2 類比輸出(PWM)指令和預設頻率
動手做 10-1 調光器
動手做 10-2 隨機數字與燭光效果
動手做 10-3 透過序列埠調整燈光亮度
10-3 認識直流馬達
10-4 認識電晶體元件
動手做 10-4 電晶體馬達控制與調速器
11 發音體、超音波距離感測、物件導向程式設計與自製程式庫
11-1 發音體和聲音
11-2 使用 tone() 函數發出聲音
動手做 11-1 演奏一段瑪莉歐旋律
11-3 認識超音波
動手做 11-2 使用超音波感測器製作數位量尺
11-4 物件導向程式設計:自己寫程式庫
12 馬達控制板與自動迴避障礙物的自走車
12-1 控制馬達正反轉的 H 橋式馬達控制電路
動手做 12-1 編寫馬達驅動程式模組
動手做 12-2 自動迴避障礙物的自走車
13 伺服馬達、數位濾波、資料排序與體感控制機械雲台
13-1 認識伺服馬達
動手做 13-1 吃錢幣存錢筒
動手做 13-2 自製伺服馬達雲台
13-2 簡易數位濾波以及資料排序演算法
13-3 使用陀螺儀和加速度計模組控制伺服馬達雲台
13-4 從陀螺儀和加速度計取得角度
動手做 13-3 讀取 IMU 數據並繪圖顯示
動手做 13-4 透過「序列埠繪圖家」 呈現訊號波形
動手做 13-5 使用 IMU 感測器 控制伺服馬達
14 紅外線遙控、施密特觸發器與循跡自走車
14-1 認識紅外線
動手做 14-1 使用 IRremote 程式庫解析紅外線遙控值
動手做 14-2 使用紅外線遙控器控制伺服馬達
動手做 14-3 從 Arduino 發射紅外線 遙控電器
14-2 認識反射型與遮光型光電開關
動手做 14-4 光電子琴製作
14-3 紅外線循跡/避障模組與施密特觸發器
14-4 認識電壓比較器
14-5 製作循跡自走車
動手做 14-5 組裝自走車
15 手機藍牙遙控機器人製作
15-1 電波、頻段和無線傳輸簡介
15-2 認識藍牙(Bluetooth)
15-3 5V 和 3.3V 電壓準位轉換
動手做 15-1 使用軟體序列埠 (SoftwareSerial) 連接 Arduino 與藍牙模組
動手做 15-2 用 Android 手機藍牙遙控機器人
15-4 透過 AT 命令更改藍牙模組的名稱
動手做 15-3 透過 AT 命令更改藍牙 模組的名稱
16 RFID 無線識別裝置
16-1 認識條碼與 RFID
動手做 16-1 讀取 Mifare RFID 卡的 UID 碼
動手做 16-2 Mifare RFID 的門禁系統實驗
16-2 Mifare Classic 1KB 的記憶體結構
動手做 16-3 讀寫 RFID 卡片資料(扣款與充值)實驗
17 網路與 HTML 網頁基礎+嵌入式網站伺服器製作
17-1 認識網路與 IP 位址
17-2 網域名稱、URL 網址和傳輸協定
動手做 17-1 認識網頁與 HTML
17-3 網路的連線標準與封包
17-4 認識 HTTP 通訊協定
17-5 連接乙太(Ethernet)網路卡建立 Arduino 微型網站伺服器
動手做 17-2 建立微型網站伺服器
18 網路家電控制
18-1 使用 Webduino 程式庫建立微型網站
動手做 18-1 監控遠端的溫濕度值
18-2 傳遞資料給網站伺服器
動手做 18-2 建立網頁表單
18-3 認識傳遞資料的 GET 方法和查詢字串
動手做 18-3 建立接收 POST 表單資料的自訂命令
18-4 控制家電開關
動手做 18-4 使用繼電器控制家電開關
19 ESP8266 控制板 Wi-Fi 物聯網應用實作
19-1 ESP8266 模組
19-2 Wemos D1 mini 板的接腳
19-3 使用 Arduino IDE 開發 ESP8266 控制板程式
19-4 認識 Wi-Fi 無線網路
19-5 使用 ESP8266 的 WiFi 程式庫連接無線網路 &l