商品簡介
本書是《ESP32 深度實作》的系列作品, 兩書主題不重疊, 相輔相成, 沿襲《超圖解 Arduino 互動設計入門》以來作者手繪圖解的特色, 帶領讀者使用 ESP32 與新一代的 ESP32-S3、ESP32-S2 實作各式應用, 主要包含:
|自動控制必學的 PID 控制|
本書用淺顯易懂的方式解說自動控制中的 PID 理論, 並以恆溫控制器以及紅外線循跡自走車實踐 PID 控制理論, 從動手做中體驗 PID 的精髓以及調校 PID 參數的方法。
|自製 PCB 電路板流程|
本書除了使用現有的模組外, 為了能更完善呈現結果, 也在實作循跡自走車時自行設計 PCB 電路板, 書中也會分享整個 PCB 設計流程以及相關的軟硬體知識, 提升 DIY 自造能力。
|客製 USB HID 裝置|
ESP32-S3 內建 USB 介面, 可以用來快速實作 USB HID 裝置, 本書會帶領讀者利用旋轉編碼器模組設計多媒體控制器, 調整音量、播放/暫停不用再找功能鍵與滑鼠, 隨手一轉就行。
此外, 本書也會教你自製機械鍵盤, 你可以完全依據需求客製按鍵數、按鍵配置與鍵軸, 最重要的是客製韌體, 不必再因為市售的鍵盤缺少你想要的功能而怨嘆。
電玩控制器也是常見的 USB HID 裝置, 本書還會教你如何自製電玩控制器, 更棒的是, 你還可以透過程式幫你提升戰力, 設計只要按一下就能送出連續按鍵的功能, 對手怎麼按都不會有你快, 打遍天下無敵手。
|獨家的 CAN bus 介面實作|
在汽車以及工業世界中, CAN bus 是廣泛使用的傳輸介面, 本書會說明 CAN bus 的傳輸方式, 除了基本的傳輸實驗外, 還會帶大家實際使用 ESP32 接入真實的車上診斷電腦, 讀取引擎轉速等即時資訊, 製作自己的車上數位儀表板。
|高手都在用的 PlatformIO 開發環境|
本書範例雖然大部分都只要使用 Arduino 開發環境即可實作, 不過當專案越來越複雜時, 好的開發環境提供的功能可以讓你事半功倍。本書會介紹專業開發者必用的 PlatformIO 開發環境, 透過它的語法提示等功能讓你撰寫程式碼更快速, 檢查工具則可以幫你揪出潛藏在程式碼中的問題。另外, 還會介紹如何設計單元測試, 驗證程式碼是否正確運作。
|JTAG 硬體偵錯|
每個人都有使用 print 顯示各種資訊找程式錯誤的經驗, ESP32 系列其實具備硬體除錯的功能, 本書也會搭配 PlatformIO 與必要的硬體, 讓你可以使用硬體偵錯功能, 設定中斷點讓程式停在你需要觀察的位置, 並且隨意檢視變數內容, 甚至可在執行期間變更變數內容, 完整測試不同狀況下程式的執行結果。
|設計程式庫|
使用別人寫好的程式庫雖然方便, 但總是會遇到別人寫的程式庫不是你期望的使用方式, 或是沒有更新導致欠缺你需要的功能, 本書在實作各個範例的同時, 也會教導如何依照自己的需求設計程式庫, 還可以分享給別人使用。
|AI 程式助手|
在這個 AI 當道的年代, AI 不會取代你, 只會讓你變得更好!本書也加入 AI 輔助撰寫程式碼的內容, 透過 AI 助理的協助, 可以快速生成程式的輪廓, 經由細部的修整, 就可以更快、更正確的完成專案。
本書涵蓋的細項主題如下:
PID 控制/調校
陶瓷加熱片
MOSFET 電子開關
藍牙通訊事件
利用快閃記憶體儲存偏好設定
Codeium AI 程式助手
馬達轉速、移動距離檢測
光耦感測器、碼盤與霍爾編碼器
中斷常式類別實作
正交脈衝訊號
直流馬達驅動模組
循跡感測器
多工器/解多工器
並列轉序列輸出
客製 PCB 電路板
ESP32-S3 與 ESP32-S2 解析
WS2812 RGB LED
PlatformIO 開發環境建置
單元測試
自訂開發板組態
JTAG 硬體偵錯與 GDB 指令
差分訊號
旋轉編碼器
USB HID 裝置
鍵盤掃描電路
USB 鍵盤與遊戲控制器
CAN bus 說明與實驗
OBD 車上診斷電腦
本書會帶領大家實作:
不會太熱也不會太冷的 PID 陶瓷加熱恆溫控制
遠端調校 PID 的網頁/手機藍牙介面設計
平穩駕駛不搖擺的 PID 控制循跡自走車
可客製功能的 USB 多媒體旋鈕
完全依照自己喜好打造的 USB 機械鍵盤
一鍵瞬間使出必殺技的 USB 遊戲控制器
改造 Wii Classic 手把玩 Switch
介接 OBD 車上診斷系統的即時數位儀表板
本書特色
使用 Arduino/PlatformIO 實踐 PID/USB HID/CAN bus
自動控制一定要學的 PID, 用恆溫控制/循跡小車示範給你看
整合藍牙/動態網頁設計 PID 調校頁面
直流馬達驅動與馬達轉速、移動距離偵測
使用 C++ 類別建立中斷處理物件
類比輸入與數位輸入腳位的擴充方法
客製 PCB 板設計流程
ESP32-S3 與 ESP32-S2 開發板解析
PlatformIO 開發環境建置
使用 PlatformIO 的檢查工具找出隱藏在程式碼中的問題
為專案設計單元測試確保程式碼正常運作無誤
自製開發板組態設定檔
透過 JTAG 使用硬體偵錯功能
利用 USB HID 自製多媒體旋鈕控制器
DIY 自己的機械式小鍵盤
設計完全依照自己喜好配置的電玩控制器
可以瞬間使出連續按鍵必殺技的遊戲控制器
CAN bus 通訊解析
用 ESP32 接上你的車上診斷系統設計車速、轉速即時儀表板
使用 AI 助手輔助設計程式
設計自己的程式庫
目次
第 1 章 PID 控制入門
1-1 MCH 高溫陶瓷發熱元件簡介
►動手做 1-1 陶瓷加熱片電路
►動手做 1-2 開放迴路(open-loop)控制陶瓷加熱片
►動手做 1-3 閉迴路(closed-loop)控制系統以及起停式控制
1-2 PID 控制與方塊圖
1-3 比例控制器(P)
►動手做 1-4 採用 P 控制器的陶瓷加熱器
第 2 章 PI 和 PID 控制
2-1 積分控制器(I)
2-2 拆解逗號分隔字串
►動手做 2-1 加入積分運算的 PI 控制器
2-3 微分控制器(D)
►動手做 2-2 加入微分方程式的 PID 控制器
2-4 PID 的數學方程式
第 3 章 藍牙無線調整 PID 參數並於快閃記憶體儲存偏好設定
3-1 使用典型藍牙無線調整 PID 參數
►動手做 3-1 透過典型藍牙調整 PID 參數
3-2 透過回呼處理藍牙通訊事件
3-3 在快閃記憶體中儲存「偏好設定」
第 4 章 Visual Studio Code、AI 程式助手與動態 PID 調整網頁
4-1 下載與安裝 Visual Studio Code
4-2 使用 AI 助手建立互動網頁
4-3 製作 PID 調整滑桿與即時圖表網頁
4-4 在 ESP32 和瀏覽器之間的 JSON 訊息傳遞格式
4-5 顯示動態圖表
4-6 ESP32 的伺服器和 WebSocket 程式
第 5 章 檢測馬達轉速與移動距離
5-1 槽型光耦感測器和碼盤的運作原理
5-2 附帶減速齒輪箱與霍爾感測器的 N20 微型直流馬達
►動手做 5-1 使用中斷檢測馬達的轉動次數和方向
►動手做 5-2 「啟動」鍵與中斷常式的彈跳延遲處理
►動手做 5-3 測量移動距離
5-3 使用 XOR 邏輯閘降低外部中斷腳的需求
第 6 章 建立中斷類別程式
6-1 處理中斷的「啟動」鍵類別
6-2 使用自製的程式庫處理正交脈衝訊號
6-3 透過「函式指標」附加外部中斷
第 7 章 DRV8833 馬達驅動模組及其控制模式
7-1 直流馬達驅動控制模組
7-2 控制 DRV8833 的自訂函式
►動手做 7-1 以「快速衰減」模式控制馬達正、反轉
7-3 ESP32 的 DRV8833 程式庫
►動手做 7-2 測試不同衰減模式與 PWM 頻率對馬達運作的影響
7-4 重點解析 DRV8833 程式庫原始碼
第 8 章 循跡感測器以及擴充類比和數位輸入埠
8-1 擴充類比輸入埠
8-2 擴充數位輸入接腳
第 9 章 組裝循跡自走車
9-1 「差動驅動」型循跡自走車
9-2 製作循跡自走車的工具
9-3 ESP32 mini 開發板的接腳
9-4 焊接與組裝 PCB 子板
9-5 選擇電池盒與直流電壓轉換器
9-6 檢測電路以及繪製走線路徑
9-7 使用桌上型 CNC 雷射雕刻機切割壓克力板
9-8 循跡自走車的自製 PCB 板
9-9 試作 3 號機的修改電路
第 10 章 自走車的控制程式
10-1 感測車體的位置
►動手做 10-1 感測路線位置
►動手做 10-2 自走車的啟動∕暫停開關以及顯示畫面切換
►動手做 10-3 測量自走車馬達轉速並估算轉向的 PWM 值
10-2 依循跡感測值動態調整 PWM 輸出
10-3 調節左右馬達 PWM 值的程式碼
►動手做 10-4 PWM 循跡自走車的程式架構與原始碼
►動手做 10-5 動態調整雙輪轉速讓小車直行
►動手做 10-6 用 PID 控制器維持馬達轉速
►動手做 10-7 PID 控制循跡自走車
第 11 章 解析 ESP32-S2 與 ESP32-S3 開發板
11-1 認識 ESP32-S3 開發板
11-2 ESP32-S3 的兩個 ADC 單元 和類比輸入腳
11-3 ESP32 的開機模式說明
11-4 ESP32 內建的 USB Serial/CDC 序列通訊介面
11-5 WS2812 全彩 LED
11-6 GPIO Matrix(接腳矩陣)和 pins_arduino.h 檔
11-7 透過前置處理指令辨別 Arduino 開發板和微控器類型
第 12 章 使用 PlatformIO IDE 開發 Arduino 專案
12-1 安裝 PlatformIO IDE
12-2 新建 PlatformIO 專案
12-3 認識 PlatformIO 的操作介面
12-4 替專案加入第三方以及自訂程式庫
12-5 在快閃記憶體 SPIFFS 分區儲存網頁檔案
12-6 設定序列埠
12-7 在 PIO 中編譯與上傳程式
12-8 終端機介面以及 PlatformIO 的文字命令
第 13 章 PlatformIO 的檢查工具與單元測試
13-1 PlatformIO 的其他工具列說明
13-2 單元測試入門
►動手做 13-1 執行單元測試
►動手做 13-2 執行多個檢測
13-3 自訂開發板組態設定 JSON 檔
第 14 章 硬體偵錯與 JTAG 介面
14-1 硬體偵錯
►動手做 14-1 ESP32-S3 開發板 JTAG 偵錯
14-2 認識 GDB、OpenOCD 與 .elf 檔
14-3 JTAG 偵錯器架構與接線
►動手做 14-2 連接 ESP-Prog 進行偵錯
14-4 確認晶片的生產板本
14-5 清除編譯完成的韌體
14-6 使用 PlatformIO 開發與偵錯 Arduino UNO 開發板程式
第 15 章 USB 介面入門與人機介面裝置實作
15-1 認識 USB 介面
15-2 使用「查表法」編寫旋轉編碼器程式
►動手做 15-1 使用自訂程式庫製作旋鈕介面
15-3 ESP32 Arduino 開發環境內建的 USB 程式庫
►動手做 15-2 USB 多媒體旋鈕開關
15-4 按鍵掃描原理及 Keypad 程式庫
►動手做 15-3 密碼小鍵盤
15-5 製作 USB 媒體與系統控制鍵盤
►動手做 15-4 製作具備系統控制功能的媒體控制鍵盤
第 16 章 製作 USB 機械小鍵盤以及電玩控制器
16-1 機械鍵盤的元件和術語
►動手做 16-1 自製 USB 小機械鍵盤
16-2 USB 遊戲控制器
►動手做 16-2 自製 USB 遊戲控制器
►動手做 16-3 一鍵完成「必殺技」的 USB 遊戲控制器
16-3 改造現有 USB人機周邊介面
第 17 章 CAN 匯流排通訊實驗
17-1 認識 CAN 匯流排和 ECU
17-2 CAN 匯流排收發器 IC
►動手做 17-1 ESP32 CAN 匯流排通訊實驗
►動手做 17-2 傳遞以及解析浮點數資料
►動手做 17-3 發送接收請求封包
第 18 章 存取車上診斷系統(OBD)的即時資訊
18-1 OBD 車上診斷系統
18-2 從 ESP32 連接 OBD-II 介面
►動手做 18-1 讀取 OBD-II 訊框、轉發到藍牙序列埠
►動手做 18-2 在手機瀏覽器呈現即時車速和引擎轉速
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。