相關主題
商品描述
本書是「BMduino系列程式設計」的第一本書,主要教導新手與初階使用者之讀者熟悉使用BMduino開發板使用最基礎的數位輸出、數位輸入、類比輸出、類比輸入、網際網路連接、網際網路基礎應用等等。
BMduino開發板最強大的不只是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且BMduino開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是BMduino開發板低廉的價格與Wifi與藍芽模組都可以透過外加方式擴充,更符合物聯網的基本需求,這是今年以來BMduino開發板為何這樣火熱的原因,希望透過這個系列書籍的分享,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕馭BMduino開發板與周邊模組。
筆者很早就開始使用BMduino開發板,也算是先驅使用者,感謝社團法人中華倍創STEAM教育發展協會與倍創科技的支持,本書才得以付梓出版,若沒有這些先進協助,本書無法付梓,所以筆者不勝感激,希望筆者可以推出更多的入門書籍給更多想要進入「BMduino開發板」、「物聯網」、「健康醫療」、「AI科技」這個未來大趨勢,所有才有這個系列的產生。
<序>
推薦序
在科技日新月異的時代,微控制器不再只是工程師手中的專業工具,而是每一位創客、學生及開發者理解科技運作的起點。BMduino 開發板正是以此理念為基礎而誕生——秉持開放、易學、可實作的精神,讓更多人能以最直覺的方式,進入電子與程式設計的世界。
本書以「從原理到實作」為核心,引導讀者一步步理解 BMduino 的硬體架構、基本電路與驅動邏輯,並透過實際範例,逐步掌握感測、控制、通訊等應用。不同於單純的範例彙集,本教材更重視背後的機制與原理,讓學習不止於模仿,而能融會貫通、靈活創作。
本書內容涵蓋從基礎微控制器架構,數位與類比訊號處理,至輸入輸出介面設計,包括GPIO、PWM、ADC 及通訊協定(如I2C、SPI、UART)等核心技術。除此之外,書中還包含實務專案設計流程,協助讀者將理論運用於真實世界的應用,培養問題分析及系統整合能力。
學習微控制器實作不僅需要理解程式碼的撰寫,更要掌握硬體特性及其運作原理,這是許多初學者易忽略卻關鍵的環節。BMduino 專為教育及創新應用設計,其開放架構與豐富的周邊擴充性,為學習者提供了理想的平台,兼具實用與擴展潛力。
在當今物聯網與智慧自動化迅速發展的浪潮中,擁有扎實的微控制器知識與實作能力,將是每位科技從業者不可或缺的專業技能。期望透過本書,能幫助讀者培養紮實的基礎,激發持續學習的熱情,並啟發無限創意,成為未來科技革新的推動者。
本教材特別針對創客及高中職等中等學校學生設計,教學目標著重於培養學生獨立思考與動手實作能力。透過循序漸進的內容安排與豐富專案實例,激發學生對電子與程式設計的興趣,鼓勵他們將創意轉化為具體作品。教材同時兼顧理論基礎與實務操作,使學生能在理解微控制器原理的基礎上,勇於挑戰自我,完成從簡單應用到複雜系統整合的多樣專案,為未來升學和職涯發展奠定堅實基礎。
我們相信,透過不斷實作與探索,讀者將能在BMduino平台上發揮自身潛力,創造屬於自己的智慧應用。願本書成為你踏上創新之路的良師益友,陪你一起迎接未來科技挑戰,照亮探索電子與程式世界的每一步。
倍創科技股份有限公司總經理 徐人凱
<內容連載>
開發板介紹
BMduino 開發板是一系列低成本,低功耗的單晶片微控制器,BMduino-UNO BM53A367A 是 Holtek 32-bit MCU HT32F52367 的開發板,特別設計成與 Arduino UNO R3 開發板腳位兼容,可支援Arduino IDE 開發平台和 Keil IDE 開發平台,幫助初學者更容易地學習程式設計。
BM53A367A 採用 3.3V 系列 Arm® Cortex® -M0+內核的 HT32F52367 為主控 MCU,支援多種供電方式, 具備額外的 I2C、SPI、UART、USB 等常用通訊介面。
BMduinoUNO 開發板使用Arm® Cortex® -M0+ 內核的HT32F52367 為主控 MCU,其功能強大無比,特別介紹BMduino 開發板特色於下列所述:
BMduino 開發板特色:
⚫ MCU:HT32F52367 (64-pin LQFP 封裝)
- Cortex®-M0+,60MHz
- Flash 記憶體:256KB
- SRAM:32KB
⚫ 31 個數位 I/O 腳位 (其中 17 個可作為 PWM 輸出)
⚫ 7 個類比輸入,A/D 轉換器解析度為 12-bit
⚫ 14 個外部中斷
⚫ EEPROM:4KB
⚫ 通訊介面:UART、SPI、I2C、USB
⚫ 電源輸入:USB 介面 x 2,DC 介面,外部 Vin
- e-Link32 Lite USB:Type-C USB 介面
- Native USB:Type-C USB 介面,支援 BC 1.2 與快充 QC 2.0,快充預設升壓為 12V
- DC 介面:DC Jack (桶式插座),連接外部電源 (例如:變壓器),電壓範圍 DC 5V~24V
- 外部Vin:Vin 腳位,電壓範圍 DC 5V~24V
⚫ 除錯工具:e-Link32 Lite (ICE),透過開發板上的 e-Link32 Lite 電路進行程式除錯
⚫ 燒錄方式:
- ICP (In-Circuit Programing):透過開發板上的e-Link32 Lite 電路進行燒錄
- IAP (In Application Programming):透過 COM 埠進行燒錄 (與 Arduino UNO R3 相同)
⚫ 開發環境:支援 Arduino IDE、Keil IDE
⚫ 連接器:
- BMCOM1:腳距 2.54mm,可選 3.3V 或 5V
- BMCOM2:腳距 1.0mm,可選 3.3V 或 5V
- SPI1:腳距 2.54mm,可選 3.3V 或 5V
⚫ 與 Arduino UNO R3 開發板腳位相容
⚫ 尺寸:54 x 94 x 14 mm
⚫ 淨重:28.5g
⚫ 產品包含:1. BM53A367A x 1 | 2. 跳帽 x 1
BMduino UNO 開發板使用Arm® Cortex® -M0+ 內核的HT32F52367 為主控 MCU,特別設計成與 Arduino UNO R3 開發板腳位兼容,可支援 Arduino IDE 開發平台和 Keil IDE 開發平台,幫助初學者更容易地從原來Arduino 開發板使用者可以無痛轉換到BMduino UNO 開發板學習程式設計,特別介紹BMduino 開發板強大的競爭力於下列所述:
BMduino 開發板強大競爭力:
⚫ Arduino UNO R3 腳位相容
◼ BMduino-UNO BM53A367A 的腳位與 Arduino UNO R3 相容,電壓準位為 3.3V (Arduino UNO R3 則為 5V)。
◼ 除了標準的 Arduino UNO R3 腳位之外,BM53A367A 另提供BMCOM1 及 BMCOM2 兩個連接器,並貼心地設計用跳帽設定連接器的電壓準位為 3.3V 或 5V。
◼ 板上自帶有電壓轉換電路,讓您在外接使用 5V 電壓的模組
時,可以直接連接 BMCOM,不須擔心電壓轉換的問題。
⚫ 燒錄方式
◼ BM53A367A 開發板上自帶有 e-Link32 Lite 電路,可用來除錯及燒錄,因此 BM53A367A 燒錄程式時不須使用 TX 及 RX腳位 (Arduino UNO R3 則需使用)。
◼ Arduino UNO R3 上的 6-pin ICSP 連接器,在 BM53A367A 上則不需要有 ICSP 的功能,因此 BM53A367A 將此 6-pin 連接器設計成為另一組 SPI/UART 介面,其電壓準位也可用跳帽選擇 3.3V 或 5V,外接 5V 的模組時不需額外的電壓轉換電路。
⚫ 開發環境
◼ 除了在 Arduino IDE 開發環境下工作,BM53A367A 也可工作於 Keil IDE 開發環境,其使用方式與 ESK32-30510,HT32F52367 開發套件相同。
⚫ 原廠自創BMCOM 生態技術特色
◼ BMCOM 是一個由 I2C/UART 模組所組成的生態系統,其中包括感測器、執行器、顯示器和無線模組等,可以加速原型設計。
◼ BMCOM 連接器有兩種型式:BMCOM1 是 2.54mm 間距的 5 針接頭,而 BMCOM2 是 1mm 間距的 5 針 JST 連接器。
作者簡介
曹永忠 (Yung-Chung Tsao)
國立中央大學資訊管理學系博士,
目前在國立暨南國際大學電機工程學系擔任兼任助理教授與
國立高雄大學電機工程學系擔任兼任助理教授
與社團法人中華倍創STEAM教育發展協會擔任技術顧問,
專注於軟體工程、軟體開發與設計、物件導向程式設計、
物聯網系統開發、Arduino開發、嵌入式系統開發。
長期投入資訊系統設計與開發、企業應用系統開發、
軟體工程、物聯網系統開發、軟硬體技術整合等領域,
並持續發表作品及相關專業著作。
Email:mailto:prgbruce@gmail.com
Line ID:dr.brucetsao
WeChat:dr_brucetsao
作者網站:http://ncnu.arduino.org.tw/brucetsao/myprofile.php
影片中程式碼下載區:
https://github.com/BestModules-Libraries/BMDuino_Books
臉書社群(Best Modules 倍創科技):
https://www.facebook.com/BestModulesCorp
Github網站:https://github.com/BestModules-Libraries
YouTube:https://www.youtube.com/@BestModules
蔡英德 (Yin-Te Tsai)
國立清華大學資訊科學系博士,目前是靜宜大學資訊傳播工程學系教授、靜宜大學國際學院院長,主要研究為演算法設計與分析、生物資訊、軟體開發、視障輔具設計與開發。
Email:mailto:yttsai@pu.edu.tw
作者網頁:http://www.csce.pu.edu.tw/people/bio.php?PID=6#personal_writing
許智誠 (Chih-Cheng Hsu)
美國加州大學洛杉磯分校(UCLA) 資訊工程系博士,曾任職於美國IBM等軟體公司多年,現任教於中央大學資訊管理學系專任副教授,主要研究為軟體工程、設計流程與自動化、數位教學、雲端裝置、多層式網頁系統、系統整合、金融資料探勘、Python建置(金融)資料探勘系統。
Email: mailto:khsu@mgt.ncu.edu.tw
作者網頁:http://www.mgt.ncu.edu.tw/~khsu/
目錄大綱
推薦序
自序
自序
自序
目錄
圖目錄
表目錄
BMduino 系列
開發板介紹
BMduino 開發板特色:
BMduino 開發板強大競爭力:
BMduino 開發板的外表尺寸介紹
BMduino 開發板與Arduino-UNO R3 開發板比較
BMduino 開發板IO 腳位介紹
BMduino 系列開發者介紹
BMduino 系列資源介紹
Arduino 開發IDE 程式安裝
開始安裝畫面
執行Arduino IDE 開發軟體
Arduino IDE 工具列介紹
Arduino IDE 菜單列
Arduino 開發工具基本設定
Arduino 函式庫安裝(安裝線上函式庫)
安裝BMduino Arduino 整合開發環境
設定BMduino 為目前開發板
設定BMduino 通訊埠
BMduino-UNO 開發板測試燒錄是否正確
章節小結
開發工具基本介紹
Arduino IDE 工具列介紹
Arduino IDE 程式編輯區
自訂函式
感設模組分開模組開發
章節小結
基礎IO 篇
甚麼是GPIO
GPIO 腳位主要兩種主要工作模式
輸出模式(Output)
GPIO 的運作機制
控制LED 發光二極體
發光二極體
控制發光二極體發光
程式說明重點:
控制多個LED 發光二極體
控制多個發光二極體發光
程式說明重點:
IO 輸入
讀取外部IO 輸入按鈕裝置
按鈕模組開發設計
IO 數位輸入之使用按鈕模組設計開發
程式說明重點:
章節小結
網路模組安裝設定篇
ESP-12F WiFi 模組產品特色
ESP-12F WiFi 模組基本介紹
ESP-12F WiFi 模組產品說明
腳位說明
電路組立
ESP-12F WiFi 模組官方系統文件
設定ESP-12F WiFi 模組函式庫
進入開發環境
測試ESP-12F WiFi 模組官方範例
正確設定監控視窗讓測試運行正常
測試ESP-12F WiFi 模組函式庫是否正常
章節小結
網路篇
取得自身網路卡編號
取得自身網路卡編號實驗材料
取得環境可連接之無線基地台
取得環境可連接之無線基地台實驗材料
連接無線基地台
連接無線基地台實驗材料
連接網際網路之網站
連接網際網路之網站
章節小結
簡單溫溼度感測應用介紹
數位型溫濕度偵測模組產品特色
數位型溫濕度偵測模組基本介紹
數位型溫濕度偵測模組產品說明
腳位說明
電路組立
數位型溫濕度偵測模組官方系統文件
設定數位型溫濕度偵測模組函式庫
進入開發環境
測試數位型溫濕度偵測模組範例
正確設定監控視窗讓測試運行正常
測試數位型溫濕度偵測模組是否正常
溫濕度偵測模組函數模組化開發
什麼是功能模組化?
模組化更易於建立專業知識庫
取得溫溼度模組實驗材料
腳位說明
電路組立
使用原來範例進行模組化
整理自定義函式
主程式合理化
處理系統初始化其他問題
處理主程式自訂函式宣告區部分
處理loop()區原來問題
處理主系統與自定義模組函式缺乏關聯
系統測試
章節小結
OLED 顯示器應用介紹
0.96 吋OLED 顯示模組產品特色
0.96 吋OLED 顯示模組基本介紹
0.96 吋OLED 顯示模組產品說明
腳位說明
電路組立
0.96 吋OLED 顯示模組官方系統文件
設定0.96 吋OLED 顯示模組函式庫
進入開發環境
測試0.96 吋OLED 顯示模組範例
正確設定監控視窗讓測試運行正常
測試0.96 吋OLED 顯示模組是否正常
OLED 顯示模組函數模組化開發
什麼是功能模組化?
模組化更易於建立專業知識庫
取得OLED 顯示模組實驗材料
腳位說明
電路組立
感測模組進行系統模組化
開始建立專業模組
建立感測模組初始化區
建立感測模組獨立模組函式區
感測模組獨立模組函式正規劃區
整理自定義函式
建立主程式測試區
測試硬體模組之測試函式正規劃區
整理測試程式函式宣告區
主程式修改
處理系統初始化其他問題
處理主程式不需要函式區部分
處理主程式獨立函式宣告區問題
系統測試
章節小結
簡單溫溼度感測應用專案開發
實驗材料
基本模組基本介紹
系統開發
建立空白專案
運用本書專案簡化開發
開啟Simple_DHT_System 專案
處理loop()程序問題
完成Simple_DHT_System 專案
系統測試
章節小結
本書總結
作者介紹
附錄
BMduino-UNO 腳位圖
BMduino-NANO 腳位圖
參考文獻
