🏆華文世界銷售第一的 Arduino 經典教材🏆
本書的目標是讓高中以上,沒有電子電路基礎,對微電腦、電子 DIY 有興趣的人士,也能輕鬆閱讀,進而順利使用 Arduino 開發板完成互動應用。具備以下特色:
\\手繪超圖解//
唯一手繪圖解的 Arduino 入門教材,從基本的電子元件、工具操作,乃至於電子模組和 Arduino 開發板的電路,都有遠勝照片的圖解說明,協助瞭解學習主題與實作細節。個別實驗除了以手繪實體接線圖讓讀者對照以外,也提供電路圖比對學習,培養未來進階學習的能力。
\\電子電路和程式語法兼顧//
Arduino 互動設計必須軟硬體合作,本書同時教授從基礎的電子元件介紹、歐姆定律、到克希荷夫電路定律等電子電路基礎知識,以及變數、迴圈、陣列等程式設計基本語法,即使沒有相關基礎,也能跟著書中內容一步步學習,熟稔兩種技能,無縫整合軟硬體。
• 電阻、電容、二極體、LED、電晶體、運算放大器、齊納二極體等電子元件
• 變數、陣列、條件判斷、迴圈、巨集、字元與字串、指標、自訂函式、自製程式庫等程式設計主題
• 電路圖閱讀、萬用電錶等各式工具使用教學
• 歐姆定律、限流、源流、潛流等觀念說明
• 分壓定律、克希荷夫電流定律、克希荷夫電壓定律等電子電路基礎
• RC 率波電路、高通濾波器應用
\\實作與原理並重//
初學 Arduino 雖然做出結果很重要也很有趣,但是背後原理更是往後 DIY 的基石,本書在特定主題會透過電路圖搭配電子元件特性解開運作原理,像是搭配電晶體要怎麼選用電阻,並透過實例計算,不再是別人用什麼、就只能跟著用什麼,即使情境變化,也能找出對策:
• 計算限流電阻
• 利用序列轉並列 IC 串接多個七段顯示器
• 運算放大器放大倍率控制
• 返馳二極體選用
• 電晶體與電阻選用
• 邏輯電位轉換
• 運用數位濾波排除雜訊
• 從加速度計計算角度
\\涵蓋新/舊開發板//
雖然 Arduino UNO R3 已經非常好用,不過本書也包含新一代的 Arduino UNO R4 Minima 以及 Arduino UNO R4 WiFi 開發板,介紹像是 DAC、RTC、電容觸控、USB 人機介面等功能,以及 Wi-Fi 物聯網與內建 LED 點陣。另外,本書也介紹廣受創客愛用,採用 ESP8266 模組的高 C/P 值開發板 D1 mini,可做為無線物聯網應用替代方案。
\\以實驗應用學習主題//
全書超過 70 個以上的動手做實驗,帶領讀者實踐 DIY 創客精神,提供實務應用情境以及未來可能發展方向參考:
• 拍手控制開關
• 電子燭光燈
• 電音樂器
• 超音波數位量尺
• 自動避障自走車
• 吃錢幣存錢筒
• 體感控制雲台
• 光電子琴
• 循跡自走車
• 藍牙遙控機器人
• RFID 門禁系統
• 悠遊卡模擬
• 物聯網家電控制
• LED 矩陣中文跑馬燈
• 改造 Wii 手把控制機械手臂
• MIDI 電子鼓
本書自 2013 年問世後歷經多次改版,第 5 版的每一個章節和附錄,都經過不同程度的改寫,第 18 章後半、19 和 20 章則是全新內容,因篇幅有限,之前版本的部分內容移到附錄,以電子書方式提供。
本書特色:
• 華文世界銷售第一的 Arduino 經典教材
• 超圖解、人人都能看得懂
• 電子電路、程式設計零基礎也能學
• 涵蓋 Arduino UNO R3/R4 Minima/R4 WiFi
• 使用新版本 Arduino IDE 教學
• 藍牙/Wi-Fi 無線傳輸搭建物聯網
• 超過 70 個動手做實驗
目錄
第 1 章 認識 Arduino 與微電腦開發板
1-1 認識 Arduino
1-2 安裝 Arduino UNO 開發板的驅動程式
1-3 Arduino 程式開發工具與開發步驟簡介
||動手做 1-1 執行與設定 Arduino IDE
第 2 章 認識電子零件與工具
2-1 電壓、電流與接地
2-2 開發板的電源供應器
2-3 電阻
2-4 電容
2-5 二極體
2-6 發光二極體(LED)
2-7 看懂電路圖
2-8 電子工作必備的量測工具:萬用電錶
||動手做 2-1 測量電阻或電容
2-9 麵包板以及其他電子工具
第 3 章 Arduino 開發板、程式設計入門與歐姆定律
3-1 Arduino UNO R3 及 R4 開發板的功能和接腳說明
3-2 MPU, MCU 和 SoC
3-3 認識程式語言
||動手做 3-1 寫一個 LED 閃爍控制程式
3-4 用變數來管理程式碼
3-5 不變的「常數」
3-6 使用 #define 巨集指令替換資料
3-7 用歐姆定律計算出限流電阻值
第 4 章 開關與分歧指令
4-1 認識開關
4-2 開關電路與上∕下拉電阻
||動手做 4-1 用麵包板組裝開關電路
4-3 改變程式流程的 if 條件式
||動手做 4-2 LED 切換開關
||動手做 4-3 不用 delay() 的延遲方法
4-4 RC 濾波電路
||動手做 4-4 用 RC 電路消除開關彈跳訊號
||動手做 4-5 LED 跑馬燈
4-5 迴圈
||動手做 4-6 跑馬燈範例程式二:使用 for 迴圈
4-6 認識陣列
||動手做 4-7 使用陣列變數的 LED 來回跑馬燈
第 5 章 序列埠通信
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 一個 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 章 類比信號處理與運算放大器(OPA)
8-1 讀取類比值與電阻分壓電路
||動手做 8-1 從序列埠讀取「類比輸入」值
8-2 認識光敏電阻
||動手做 8-2 使用光敏電阻製作小夜燈
8-3 壓力感測器與彎曲感測器
8-4 電容式麥克風元件與運算放大器
||動手做 8-3 自製麥克風聲音放大器(拍手控制開關)
||動手做 8-4 拍手控制開關改良版
8-5 克希荷夫電路定律
8-6 Arduino UNO R4 微控器內建的運算放大器
||動手做 8-5 使用 UNO R4 內建的運算放大器製作麥克風放大器
第 9 章 I2C 序列通訊介面與 LCD 顯示器
9-1 認識文字型 LCD 顯示模組
||動手做 9-1 並列連接 LCD 顯示器
9-2 認識 I2C 與 Qwiic 介面
9-3 安裝第三方程式庫
||動手做 9-2 掃描 I2C 匯流排連接的週邊位址
9-4 LCD 顯示器的特殊字元和自訂字元
||動手做 9-3 在 LCD 上顯示自訂字元符號
||動手做 9-4 透過 I2C 介面串連兩個 Arduino 板
||動手做 9-5 在 I2C 介面上傳送整數資料
9-5 DHT11 數位溫濕度感測器
||動手做 9-6 製作數位溫濕度顯示器
9-6 Qwiic 介面
第 10 章 變頻控制 LED 燈光和馬達
10-1 調節電壓變化
10-2 類比輸出(PWM)指令和預設頻率
||動手做 10-1 調光器
||動手做 10-2 隨機數字與燭光效果
10-3 使用 Serial 物件的 parseInt() 和
parseFloat 方法解析整數和浮點數
||動手做 10-3 透過序列埠調整燈光亮度
10-4 認識直流馬達
10-5 認識電晶體元件
||動手做 10-4 電晶體馬達控制與調速器
10-6 調整 PWM 的工作頻率
第 11 章 發音體、數位類比轉換器(DAC)
11-1 發音體和聲音
11-2 使用 tone() 函數發出聲音
||動手做 11-1 演奏一段瑪莉歐旋律
11-3 UNO R4 的 DAC
||動手做 11-2 電音蝌蚪
第 12 章 超音波距離感測、物件導向程式設計與自製程式庫
12-1 認識超音波
||動手做12-1 使用超音波感測器製作數位量尺
12-2 物件導向程式設計:自己寫程式庫
第 13 章 馬達控制板、自走車與MOSFET 電晶體應用
13-1 控制馬達正反轉的 H 橋式馬達控制電路
||動手做13-1 編寫馬達驅動程式模組
||動手做13-2 自動迴避障礙物的自走車
13-2 認識 MOSFET
第 14 章 伺服馬達、數位濾波、資料排序、EEPROM 與體感控制機械雲台
14-1 認識伺服馬達
||動手做 14-1 吃錢幣存錢筒
||動手做 14-2 自製伺服馬達雲台
14-2 簡易數位濾波以及資料排序演算法
14-3 使用陀螺儀和加速度計模組控制伺服馬達雲台
||動手做 14-3 讀取IMU數據並繪圖顯示
||動手做 14-4 透過「序列埠繪圖家」呈現訊號波型
||動手做 14-5 在 EEPROM 儲存陀螺儀偏移值
||動手做 14-6 使用 IMU 感測器控制伺服馬達
第 15 章 紅外線遙控、施密特觸發器與循跡自走車
15-1 認識紅外線
||動手做 15-1 使用 IRremote 程式庫解析紅外線遙控值
||動手做 15-2 使用紅外線遙控器 控制伺服馬達
||動手做 15-3 從 Arduino 發射紅外線 遙控電器
15-2 認識反射型與遮光型光電開關
||動手做 15-4 光電子琴製作
15-3 紅外線循跡∕避障模組與施密特觸發器
15-4 認識電壓比較器
15-5 製作循跡自走車
||動手做 15-5 組裝循跡自走車
第 16 章 手機藍牙遙控機器人製作
16-1 電波、頻段和無線傳輸簡介
16-2 認識藍牙(Bluetooth)
16-3 5V 和 3.3V 電壓準位轉換
||動手做 16-1 使用軟體序列埠(SoftwareSerial)連接 Arduino 與藍牙模組
||動手做 16-2 UNO R4 板的 Serial1 物件
16-4 使用 Serial Bluetooth Terminal 連接藍牙
||動手做 16-3 用 Android 手機 藍牙遙控機器人
16-5 藍牙模組的 AT 命令
||動手做 16-4 透過 AT 命令更改藍牙模組的名稱
第 17 章 RFID 無線識別裝置
17-1 認識條碼與 RFID
||動手做 17-1 讀取 Mifare RFID 卡 的 UID 碼
||動手做 17-2 Mifare RFID 的門禁系統實驗
17-2 Mifare Classic 1KB 的記憶體結構
||動手做 17-3 讀寫 RFID 卡片資料(扣款與充值)實驗
第 18 章 網路與 HTML 網頁基礎 +嵌入式網站伺服器製作
18-1 認識網路與 IP 位址
18-2 網域名稱、URL 網址和傳輸協定
||動手做 18-1 認識網頁與 HTML
18-3 網路的連線標準與封包
18-4 認識 HTTP 通訊協定
18-5 認識 Wi-Fi 無線網路
18-6 建立 Wi-Fi 網路連線
||動手做 18-2 連線到 Wi-Fi 網路並顯示 IP 位址和電波訊號強度
18-7 建立 Arduino 微型網站伺服器
||動手做 18-3 建立微型網站伺服器
18-8 靜態 IP 以及 DHCP 動態 IP 分配
||動手做 18-4 網路控制開關
18-9 認識繼電器
||動手做 18-5 使用繼電器控制家電開關
第 19 章 操控 Arduino UNO R4 WiFi的 LED 點陣
19-1 認識 UNO R4 WiFi 板的三態多工 LED 電路
||動手做 19-1 操控三態多工 LED
19-2 製作 Wi-Fi 連線動畫
||動手做 19-2 使用雲端 LED 點陣畫面編輯器
||動手做 19-3 在 UNO R4 WiFi 板的 LED 點陣顯示動畫
19-3 開發環境內建的靜態和動態 LED 點陣畫面
19-4 在 UNO R4 WiFi 的 LED 點陣呈現捲動文字
||動手做 19-4 在 LED 點陣捲動顯示本機 IP 位址
19-5 繪製點陣圖像
19-6 在 LED 矩陣顯示捲動的中文字
19-7 捲動中文字的 Arduino 程式
第 20 章 USB 人機介面、觸控介面、RTC 即時鐘以及中斷處理
20-1 USB 人機介面:模擬鍵盤與滑鼠
||動手做 20-1 模擬 USB 鍵盤和滑鼠
20-2 電容式觸控開關
||動手做 20-2 使用觸控開關模組製作 LED 開關
20-3 UNO R4 的內建電容式觸控介面
||動手做 20-3 校準觸控腳
||動手做 20-4 觸控功能鍵
20-4 RA4M1 微控器內建的月曆和時鐘:即時鐘(RTC)
||動手做 20-5 連線 NTP 伺服器顯示正確日期時間
20-5 輪詢 VS 中斷
20-6 UNO R4 的 RA4M1 微控器的輸出入埠
附錄 A 微型乙太網路伺服器
A-1 連接乙太(Ethernet)網路卡建立 Arduino 微型網站伺服器
||動手做 A-1 建立微型網站伺服器
A-2 使用 Webduino 程式庫建立微型網站
||動手做 A-2 監控遠端的溫濕度值
A-3 傳遞資料給網站伺服器
||動手做 A-3 建立網頁表單
A-4 認識傳遞資料的 GET 方法和查詢字串
||動手做 A-4 建立接收 POST 表單資料的自訂命令
附錄 B ESP8266 開發板 Wi-Fi 物聯網應用實作
B-1 Wemos D1 mini 板的接腳
B-2 使用 Arduino IDE 開發 ESP8266 開發板程式
B-3 使用 ESP8266 的 WiFi 程式庫連接無線網路
||動手做 B-1 使用 ESP8266WebServer 程式庫建立 HTTP 伺服器
||動手做 B-2 處理 GET 或 POST 請求
B-4 PIR人 體感應器
||動手做 B-3 偵測人體移動
B-5 HTTPS 加密通訊簡介
||動手做 B-4 從 D1 板(ESP8266)連結網站伺服器
B-6 在 ESP8266 的快閃記憶體中儲存網頁檔案
||動手做 B-5 建立非同步網站伺服器讀取並傳送網頁檔案
||動手做 B-6 動態網頁調光器
附錄 C 交流電調光器製作
C-1 調整交流電的輸出功率
C-2 定時觸發執行的 TimerOne 程式庫
||動手做 C-1 交流電調光器電路
附錄 D 燒錄 ATmega 微處理器的開機啟動程式 (bootloader)
||動手做 D-1 用麵包板組裝 Arduino 微電腦實驗板
||動手做 D-2 使用 Arduino Uno 控制板燒錄 bootloader
||動手做 D-3 連接電腦的 USB 介面並上傳程式檔
附錄 E 改造 3C 小玩意的控制鈕
E-1 認識光電耦合元件
附錄 F 認識焊接工具:焊錫、電烙鐵及焊接助手
F-1 焊接工具
||動手做 F-1 基礎焊接練習
||動手做 F-2 焊接鱷魚夾
F-2 印刷電路板及萬用板
||動手做 F-3 焊接電路板
||動手做 F-4 活用 USB 電源供應器
附錄 G 使用 App Inventor 開發 Android App
G-1 認識 App Inventer 2.0
G-2 建立第一個 App Inventor 專案:聲音播放程式
G-3 藍牙遙控機器人 App 的程式碼說明
附錄 H 使用 Wii 搖桿控制機械手臂
H-1 認識 Wii 左手把的通訊介面:I2C
||動手做 H-1 讀取 Wii 左手把的搖桿、按鈕與加速度計值
||動手做 H-2 使用 Wii 左手把控制機械手臂
附錄 I 製作 MIDI 電子鼓
I-1 認識 MIDI
I-2 MIDI 訊息格式
||動手做 I-1 透過 Arduino 演奏 MIDI 音樂
||動手做 I-2 透過「虛擬 MIDI」介面演奏音樂
||動手做 I-3 製作 MIDI 電子鼓
索引
第 1 章 認識 Arduino 與微電腦開發板
1-1 認識 Arduino
1-2 安裝 Arduino UNO 開發板的驅動程式
1-3 Arduino 程式開發工具與開發步驟簡介
||動手做 1-1 執行與設定 Arduino IDE
第 2 章 認識電子零件與工具
2-1 電壓、電流與接地
2-2 開發板的電源供應器
2-3 電阻
2-4 電容
2-5 二極體
2-6 發光二極體(LED)
2-7 看懂電路圖
2-8 電子工作必備的量測工具:萬用電錶
||動手做 2-1 測量電阻或電容
2-9 麵包板以及其他電子工具
第 3 章 Arduino 開發板、程式設計入門與歐姆定律
3-1 Arduino UNO R3 及 R4 開發...