本書是《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 助手輔助設計程式
設計自己的程式庫