0x6A Logbook

0x6A Logbook
Shi6a的筆記本
程式開發

USLink 水下通訊模組(中):OOK 軟體設計與除錯歷程

軟體架構:中斷負責時序、主迴圈負責邏輯 硬體把聲音變成了 0 與 1,但這條鏈路每 16 ms 才走完一個 bit —— 意思是,整個通訊的成敗取決於「你什麼時候去讀那支腳」。讀早一點讀到晚一點,收到的就是不同的位元。 這種工作在 8051 上用輪詢是不可能做好的,所以架構一開始就切成兩半: 分工很明確:Timer 0 每 250 µs 中斷一次,在裡面推進發送與接收兩個狀態機;主迴圈只做「慢的事情」—— 解析輸入、組裝訊息、印出統計。ISR 只負責取樣與組裝,像 CRC 檢查、分段重組、ACK 判斷這些都留給主迴...

2026 年 9 月 30 日 0條評論 10點熱度 0人點贊 shi6a 閱讀全文
程式開發

USLink 水下通訊模組(上):項目發想與電路設計

為什麼要做一個水下通訊設備 水下無線通訊第一個反直覺的地方是:電磁波在水裡幾乎不能用。海水對 RF 的衰減極大,低頻雖然能傳得遠一點,但代價是天線尺寸與發射功率都要放大到不合理的程度。所以把手機丟進水裡,它不是「訊號變弱」,而是直接失去意義。 能在水裡傳遞的唯一實用載體是聲波。這也是為什麼聲納存在了一百年,而水下數據機至今仍是活躍的研究題目。 決定做這個題目之後,很快就發現一件事:水下聲通道不是「比較吵的無線通道」,而是一條性質完全不同的通道。下面這張表列出的四道關卡,決定了後面所有的設計決定。 其中最容易被低估的...

2026 年 9 月 30 日 0條評論 33點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 伺服馬達 SG90 控制完整教學:PWM 脈衝控制、LEDC 多軸同步、平滑運動與梯形加減速

ESP32 伺服馬達 SG90 控制:PWM 脈衝控制與多軸管理 如果你手上有一顆 SG90,想用 ESP32 讓它老老實實轉到你要的角度,那你來對地方了。這篇我打算用「邊做邊講」的方式,把 ESP32 控制伺服馬達這件事從頭拆開:訊號怎麼送、角度怎麼換算、多軸怎麼同步、動作怎麼變順,最後再談那個最容易被忽略、也最常把專案搞死的地方 —— 電源。 先講一個事實:SG90 大概是市面上最便宜的微型伺服馬達之一,便宜到你會想一次買一整包。它的應用場景也很廣,機器手臂、雲台、智慧門鎖、RC 模型,甚至只是想在桌上放一個會...

2026 年 6 月 23 日 0條評論 709點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 SD 卡讀寫完整教學:SPI 模式、SDMMC 4-bit 初始化序列、FAT32 檔案系統與 Data Logging

ESP32 SD 卡讀寫:SPI 與 SDMMC 模式完整教學 做 IoT 專案做到某一天,你一定會遇到這個問題:資料太多,RAM 裝不下,得存到卡上。SD 卡就是最常用的那張卡 —— 感測器資料記錄(Data Logging)、放韌體更新檔、存多媒體檔案,幾乎都靠它。 而 ESP32 支援兩種 SD 卡通訊模式:SPI 模式與 SDMMC 模式。這兩條路不是「新的比較好」那麼簡單,它們在腳位數量、可用 GPIO、最高速度上各有取捨。這篇我會把兩條路都走一遍,從最底層的初始化序列,一路講到實際的資料記錄程式。本文依...

2026 年 6 月 22 日 0條評論 729點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 藍牙傳統 SPP(Serial Port Profile)完整教學:BT Classic 通訊、RFCOMM 框架、主從架構與 HC-05 相容

ESP32 藍牙傳統 SPP(Serial Port Profile) ESP32 是一顆雙模藍牙晶片,同時支援 Bluetooth Classic(BR/EDR)與 Bluetooth Low Energy(BLE)。而在這兩者之間,最容易被低估、卻也最實用的其實是老派的藍牙傳統 SPP:它把無線藍牙連線模擬成一個虛擬序列埠,讓原本跑在有線 UART 上的設備,幾乎不用改程式就能變成無線的。 這件事的價值在於「不用重新發明協定」。你原本寫的序列埠讀寫邏輯、你儀器手冊上寫的 AT 指令、你的 Modbus 輪詢程式...

2026 年 6 月 21 日 0條評論 761點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 雙核心工作分配完整教學:FreeRTOS xTaskCreatePinnedToCore、IPC 與 Task Pinning 最佳實踐

ESP32 雙核心架構與 FreeRTOS 工作分配 很多人第一次聽到 ESP32 是雙核心,反應都是「那是不是寫起來會變兩倍快?」這篇就是要回答這個問題 —— 答案是有機會,但前提是你得先搞懂哪些事可以並行、哪些事註定要排隊。 ESP32 搭載 兩個 Xtensa LX6 核心(PRO_CPU 與 APP_CPU),各以 240 MHz 獨立運作,共享同一記憶體空間和周邊匯流排。把工作正確地分配到兩個核心(Task Pinning),確實能明顯改善 IoT 設備的整體效能與回應速度;但分配錯了,就只是多花了一堆堆...

2026 年 6 月 20 日 0條評論 619點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 HTTP/HTTPS REST API 用戶端完整教學:GET、POST JSON、TLS 握手與 ThingSpeak 上傳

ESP32 HTTP/HTTPS REST API 用戶端 把感測器資料送上雲端、或從雲端把控制指令收回來 —— 這是 IoT 設備最核心的日常工作。而這條路的通用語言就是 HTTP/HTTPS 與 RESTful API。好消息是,ESP32 接任何後端服務(ThingSpeak、Firebase、AWS IoT,或你自己架的一台小主機)用的都是同一套方法。 壞消息是,HTTPS 那一段的細節比表面上看起來多:TLS 握手、憑證驗證、時鐘同步、記憶體用量,每一個都可能讓你卡住半天。這篇會從最簡單的 GET 一路講...

2026 年 6 月 19 日 0條評論 686點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32 電容式觸摸感測器完整教學:touchRead、觸摸中斷、Deep Sleep 喚醒與滑桿實作

ESP32 電容式觸摸感測器 如果你的專案需要一顆按鈕,但你不想開孔、不想擔心進水、也不想面對機械接點的磨損 —— 那 ESP32 其實已經把答案內建在晶片裡了。 ESP32 內建 10 通道電容式觸摸感測器(Capacitive Touch Sensor),透過測量 RC 震盪電路的放電次數來偵測觸摸。這項功能在 IoT 裝置中非常實用:觸控按鈕、滑桿、近距離感測、水位偵測,甚至連 Deep Sleep 的觸摸喚醒都靠它。 與傳統機械按鈕比較 先講結論 —— 它不是「比較炫的按鈕」,而是在幾個面向上真的勝出: 特...

2026 年 6 月 18 日 0條評論 604點熱度 0人點贊 shi6a 閱讀全文
程式開發

MPU6050 六軸陀螺儀加速度計完整教學:I2C 暫存器讀取、DMP 姿態解算與 FIFO 資料串流

MPU6050 六軸慣性感測器 當你的專案需要知道自己「現在歪了幾度」的時候,第一個會遇到的零件大概就是 MPU6050。它是 InvenSense 推出的 MEMS 六軸慣性感測器,把 3 軸陀螺儀與 3 軸加速度計整合在單一晶片裡,還內建了 DMP(Digital Motion Processor)這顆硬體姿態融合引擎。 它之所以普及,原因很單純:便宜、好接(兩條 I2C 線)、而且姿態解算可以直接交給晶片自己做。從無人機飛控、手機螢幕旋轉、機器人平衡到 VR/AR 頭盔,需要即時姿態追蹤的地方幾乎都有它。 規...

2026 年 6 月 17 日 0條評論 801點熱度 0人點贊 shi6a 閱讀全文
程式開發

ESP32-CAM 攝影機(OV2640)完整教學:DVP 並列介面、SCCB 暫存器配置、JPEG 編碼管線與影像串流

ESP32-CAM 與 OV2640 攝影機 如果你想用最低的成本做一個「會看的裝置」,那 ESP32-CAM 幾乎是標準答案。它是 AI-Thinker 推出的模組,把 ESP32 晶片、OV2640 200 萬像素 CMOS 感測器、PSRAM 與 microSD 插槽全部塞在一片小電路板上,還帶著 Wi-Fi 與藍牙。 它常被拿來做視覺 IoT、人臉辨識、遠端監控與影像串流。但真正讓人卡住的通常不是程式,而是幾個很底層的細節:DVP 的時序、SCCB 的暫存器、PSRAM 有沒有開。這篇會把這幾件事一次講清楚...

2026 年 6 月 16 日 0條評論 692點熱度 0人點贊 shi6a 閱讀全文
12345

近期文章

  • USLink 水下通訊模組(中):OOK 軟體設計與除錯歷程
  • USLink 水下通訊模組(上):項目發想與電路設計
  • ESP32 伺服馬達 SG90 控制完整教學:PWM 脈衝控制、LEDC 多軸同步、平滑運動與梯形加減速
  • ESP32 SD 卡讀寫完整教學:SPI 模式、SDMMC 4-bit 初始化序列、FAT32 檔案系統與 Data Logging
  • ESP32 藍牙傳統 SPP(Serial Port Profile)完整教學:BT Classic 通訊、RFCOMM 框架、主從架構與 HC-05 相容

近期留言

尚無留言可供顯示。

彙整

  • 2026 年 9 月
  • 2026 年 6 月
  • 2026 年 5 月

分類

  • 未分類
  • 程式開發
  • 自動化技巧

COPYRIGHT © 2026 0x6A Logbook. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang