處理器晶片的功能升級了,程式設計的能力也要跟著提昇,才能發揮與靈活運用ESP32的機能。所以本書從第三章開始介紹程式設計師慣用的「模組化」程式設計手法:物件導向程式設計(OOP),並且應用在後續數個章節。此外,依照開發ESP32程式的需要,書中也以一貫的圖解風格,說明類別繼承、虛擬(virtual)函式、多載(overload)、堆疊(stack)與遞迴、記憶體管理、回呼函式、指標存取結構、解析2進位檔…等C++程式設計技術。
Arduino IDE 2.0:讓程式開發更得心應手
Arduino官方正式發布了Arduino IDE 2.0測試版,有別於1.x版編輯器是基於一個偏向互動藝術領域的“Processing”程式語言編輯器並且採用Java語言開發,2.x版全面改寫,基於一款開放原始碼的Eclipse Theia IDE並採用JavaScript語言和Electron框架開發、包裝成跨平台可執行檔,並整合Arduino的另一個開放原始碼專案“Arduino CLI”(命令行操作介面),提供開發板與程式庫管理員、開發板偵測、編譯與上傳程式碼等功能。
《超圖解ESP32深度實作》新書預告
ESP32這本書的重點主題如下:
- Wi-Fi無線物聯網應用
- 低功耗藍牙(BLE)
- I2S序列音效傳輸介面
- FreeRTOS即時作業系統
- HTTPS安全加密連線
重新燒錄Arduino Bootloader(開機啟動程式):以Leonardo板為例
Arduino Leonardo板上傳搖桿程式之後,開發板的晶片(Atmega32u4)內建的USB介面,將變成人機介面通訊埠,而非燒錄程式用的UART序列介面,所以無法再透過Arduino IDE上傳新程式。解決辦法是替Leonardo板重新燒錄Bootloader(開機啟動程式)。Arduino開發板的bootloader是透過SPI介面燒錄,而非序列埠。
《超圖解Arduino互動設計入門》第四版索引(關鍵字目錄)
《超圖解Arduino互動設計入門》第四版第1刷和第2刷的索引有誤,本文提供修正版本,讀者也可以下載PDF格式的索引(312KB)。許多關鍵字重複出現的機率很高,例如,電阻、delay()指令、條件判斷式……所以這篇索引將以列舉語法和元件的使用說明為主。
建立Arduino的Socket即時通訊程式(三)
延續之前的文章,本文改用SocketIoClient程式庫以及ESP8266控制板(如:Wemos D1 mini或NodeMCU),當ESP8266和Node.js的socket.io建立連線之後,將每隔5秒發送一個事件訊息詢問Node.js目前的時間,Node.js將在收到訊息之後回覆一個事件訊息給ESP8266。
《超圖解Arduino互動設計入門》第四版零件清單
本文列舉《超圖解Arduino 互動設計入門》第四版所使用的電子零組件。底下是假設採用麵包板組裝,重複使用零件所需要的最少數量(不含附錄單元)。 接線時請留意,同類型的電子零組件往往有不同的供應來源,你所採購的零件接腳位置可能和書本當中的描述不一樣。像底下的DHT11溫濕度感測器模組,第一腳可能是電源,也可能是接地,請仔細確認電路板上面的標示。
《超圖解Arduino 互動設計入門》第四版
撰寫第一版時,筆者最初想法是從改造身邊的電子產品和玩具著手,搭配組裝電子零件來介紹Arduino的應用範例,然而,電子產品的款式眾多,很難做一般化的步驟說明,尤其在教學上,最好要有明確可依循操作的東西。現在很容易買到「Arduino相容」電子模組,像按鍵、距離感測器、LED顯示器…等,本書也盡量採用現成的模組,但為了避免書本淪落成「電子模組操作手冊」,筆者也說明了模組的電路及其運作原理,唯有如此,讀者才能自由整合不同的軟硬體,也不會受制於某些廠商的產品。
《超圖解Arduino互動設計入門》英文版:開箱!
2015年12月17日下午兩點,我跟旗標科技的黃昕暐先生一起到台北多航(Dog Hunter)公司,跟arduino.org創辦人Federico Musto先生會面。Musto先生提到,他們公司在美洲、歐洲和亞洲都有據點,總共有98位員工,Arduino Yún控制板是台北的Dog Hunter開發團隊的傑作。
VL53L0X飛時測距(ToF)感應器模組(二):Arduino與MicroPython測距程式
選擇Arduino IDE主功能表的「草稿碼→匯入程式庫→程式庫管理員」,在「程式庫管理員」中搜尋“VL53L0X ”關鍵字,即可找到相關程式庫,常見的兩個程式庫分別是Adafruit和Polohu公司開發的版本,這兩家公司都是美國的電子零組件供應商;本文採用Polohu的VL53L0X程式庫 ,因為Adafruit的版本佔用的快閃記憶體以及主記憶體都比較多。
VL53L0X飛時測距(ToF)感應器模組(一):硬體簡介
VL53L0X是意法半導體(STMicroelectronics,以下簡稱ST公司)開發的IC,內部整合雷射光發射元件以及紅外線矩陣接收器,並透過計算接收到的雷射光束折射時間求得距離,這種光學測距技術統稱飛時測距(Time of Flight,簡稱ToF),比超音波和紅外線距離感測器精確、快速而且體積迷你。
USB遊戲控制器(手把)DIY:使用Arduino Leonardo(李奧納多)控制板與Wii Classic經典手把
ATmega32u4微控器內建USB介面,採用此微控器的Arduino控制板,例如Leonardo(李奧納多)和Micro Pro,不需要USB序列通訊介面IC,即可連接電腦,而且還能用程式把控制板設置成滑鼠、鍵盤、遊戲控制器(手把)…等裝置。