本文旨在補充《超圖解ESP32深度實作》第16章「BLE藍牙人機輸入裝置應用實作」單元,說明HID裝置的Vender ID(廠商識別碼,縮寫VID)以及Product ID(產品識別碼,縮寫PID),以及ESP32的BLEHIDDevice類別的一些方法,並且編寫一個藍牙BLE遊戲控制器程式庫。
修理GameBoy遊戲機LCD螢幕老化、發黑、龜裂:重新黏貼偏光膜
3C家電的液晶螢幕久了可能會出發黑甚至龜裂的情況,只要用美工刀刮除螢幕外層的偏光膜,露出螢幕的玻璃,再重新黏貼偏光膜即可修復。
自製Switch Pro相容遊戲控制器(三):Joystick程式庫的類別方法說明
本文將解析Joystick.h標頭檔以及Joystick.cpp原始碼的公用方法,並且示範採用類比搖桿模組和微觸開關,以及Arduino Leonardo開發板,製作簡易的任天堂Switch遊戲機的相容控制器。
自製Switch Pro相容遊戲控制器(二):Gamepad手把的HID Report Descriptor(報告描述器)格式說明
USB人機介面裝置(HID)和主機之間傳送的訊息,稱作「報告(report)」,每當使用者操作控制器,例如,按下A鍵,控制器就會發送所有按鍵和搖桿的狀態報告給主機。本文將說明Switch Pro遊戲手把(Gamepad)的HID報告描述器的內容格式。
WiFi Manager(三):在WiFi管理員程式中加入自訂的網站伺服器
如果只是在WiFi管理員的程式中加入自訂的網站伺服器,切換到Wi-Fi設置入口時,它將顯示自訂的頁面,而非Wi-Fi設置頁面,本文將介紹兩種解決辦法。
WiFi Manager(二):無線網路設置入口的基本程式碼以及WiFiManager類別物件的方法
設定ESP開發板Wi-Fi連線的網頁,叫做「設置入口(Configure Portal)」,由「WiFi管理員」程式庫的“WiFiManager”類別物件建立的HTTP伺服器提供服務,本文將介紹它的基本程式以及WiFiManager物件的方法。
Wi-Fi Manager:ESP8266和ESP32開發板的無線網路管理設置介面(一)
Tzapu寫了一個WiFiManager(WiFi管理員),從2.x版開始同時支援ESP8266和ESP32開發板(以下合稱ESP開發板),提供ESP開發板一個方便實用的設置Wi-Fi網路連線的操作介面。本文將介紹Wi-Fi管理員的操作介面,以及中文化的Arduino範例程式。
Raspberry Pi Pico微控制板(三):編譯MicroPython韌體以及Picotool工具軟體
MicroPython官網提供了預先編譯好的韌體,但有些時候你可能想要自行編譯韌體:
- 新功能嘗鮮
- 調整晶片或開發板的設置。例如,Pico板的第2個UART序列埠預設未啟用Python的互動介面(REPL),可以透過自行編譯韌體啟用。
- 加入已編譯的Python程式模組,節省主記憶體(RAM)的用量。
Raspberry Pi Pico微控制板(二):MicroPython類比輸入與PWM輸出伺服馬達控制
本文將採用《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》書本裡的範例,介紹Raspberry Pi Pico RP2040(以下簡稱Pico)、ESP8266和ESP32的MicroPython程式,在讀取類比輸入以及輸出PWM訊號的異同。Pico麵包板示範接線如下:
給程式設計和電子Maker初學者的個人電腦:Raspberry Pi 400
就像上個世紀70年代個人電腦萌芽時期,蘋果電腦兩位史提夫創辦人,把電腦所需的要素全都整合成一台Apple I,而非提供單板電腦給少數專業玩家一樣,樹莓派基金會終於也推出了自己的「個人電腦」:Raspberry Pi 400(以下簡稱Pi 400)。
使用Thonny Python IDE編寫MicroPython程式(二):上傳程式與管理開發板的快閃記憶體內容
在Thonny IDE的互動環境(Shell)操作MicroPython開發板的方式,跟使用其他序列埠通訊軟體(如:PuTTY)不太一樣。使用序列埠通訊軟體連線,貼入程式碼之前,需要先按一下Ctrl+E鍵,互動環境(Shell)不支援Ctrl+E鍵,直接在其中按Ctrl+V鍵貼入程式碼即可:
使用Thonny Python IDE編寫MicroPython程式(一):連接開發板以及燒錄MicroPython韌體
Thonny最初由愛沙尼亞塔爾圖大學(University of Tartu)的計算機科學研究所開發,後來陸續收到許多在電子Maker圈赫赫有名的機構和公司的支援,包括樹莓派基金會(Raspberry Pi Foundation)、Micro:bit教育基金會、Adafruit、M5Stack…等等。