本文將解析Joystick.h標頭檔以及Joystick.cpp原始碼的公用方法,並且示範採用類比搖桿模組和微觸開關,以及Arduino Leonardo開發板,製作簡易的任天堂Switch遊戲機的相容控制器。

本文將解析Joystick.h標頭檔以及Joystick.cpp原始碼的公用方法,並且示範採用類比搖桿模組和微觸開關,以及Arduino Leonardo開發板,製作簡易的任天堂Switch遊戲機的相容控制器。

USB人機介面裝置(HID)和主機之間傳送的訊息,稱作「報告(report)」,每當使用者操作控制器,例如,按下A鍵,控制器就會發送所有按鍵和搖桿的狀態報告給主機。本文將說明Switch Pro遊戲手把(Gamepad)的HID報告描述器的內容格式。

本文示範兩個解決Switch遊戲機Joy-Con控制器類比搖桿漂移的辦法:更換類比搖桿模組,以及用Arduino Leonardo板搭配現成的遊戲控制器(Wii Classic Controller)自製一個Switch Pro相容USB遊戲控制器。

如果只是在WiFi管理員的程式中加入自訂的網站伺服器,切換到Wi-Fi設置入口時,它將顯示自訂的頁面,而非Wi-Fi設置頁面,本文將介紹兩種解決辦法。

設定ESP開發板Wi-Fi連線的網頁,叫做「設置入口(Configure Portal)」,由「WiFi管理員」程式庫的“WiFiManager”類別物件建立的HTTP伺服器提供服務,本文將介紹它的基本程式以及WiFiManager物件的方法。

Tzapu寫了一個WiFiManager(WiFi管理員),從2.x版開始同時支援ESP8266和ESP32開發板(以下合稱ESP開發板),提供ESP開發板一個方便實用的設置Wi-Fi網路連線的操作介面。本文將介紹Wi-Fi管理員的操作介面,以及中文化的Arduino範例程式。

處理器晶片的功能升級了,程式設計的能力也要跟著提昇,才能發揮與靈活運用ESP32的機能。所以本書從第三章開始介紹程式設計師慣用的「模組化」程式設計手法:物件導向程式設計(OOP),並且應用在後續數個章節。此外,依照開發ESP32程式的需要,書中也以一貫的圖解風格,說明類別繼承、虛擬(virtual)函式、多載(overload)、堆疊(stack)與遞迴、記憶體管理、回呼函式、指標存取結構、解析2進位檔…等C++程式設計技術。

Arduino官方正式發布了Arduino IDE 2.0測試版,有別於1.x版編輯器是基於一個偏向互動藝術領域的“Processing”程式語言編輯器並且採用Java語言開發,2.x版全面改寫,基於一款開放原始碼的Eclipse Theia IDE並採用JavaScript語言和Electron框架開發、包裝成跨平台可執行檔,並整合Arduino的另一個開放原始碼專案“Arduino CLI”(命令行操作介面),提供開發板與程式庫管理員、開發板偵測、編譯與上傳程式碼等功能。

ESP32這本書的重點主題如下:

Arduino Leonardo板上傳搖桿程式之後,開發板的晶片(Atmega32u4)內建的USB介面,將變成人機介面通訊埠,而非燒錄程式用的UART序列介面,所以無法再透過Arduino IDE上傳新程式。解決辦法是替Leonardo板重新燒錄Bootloader(開機啟動程式)。Arduino開發板的bootloader是透過SPI介面燒錄,而非序列埠。

《超圖解Arduino互動設計入門》第四版第1刷和第2刷的索引有誤,本文提供修正版本,讀者也可以下載PDF格式的索引(312KB)。許多關鍵字重複出現的機率很高,例如,電阻、delay()指令、條件判斷式……所以這篇索引將以列舉語法和元件的使用說明為主。
延續之前的文章,本文改用SocketIoClient程式庫以及ESP8266控制板(如:Wemos D1 mini或NodeMCU),當ESP8266和Node.js的socket.io建立連線之後,將每隔5秒發送一個事件訊息詢問Node.js目前的時間,Node.js將在收到訊息之後回覆一個事件訊息給ESP8266。

Begin typing your search term above and press enter to search. Press ESC to cancel.