0x6A Logbook

教學
程式開發

ESP32 紅外線遙控 IR Remote 完整教學:NEC 協定解碼與 RMT 硬體實作

先搞懂:紅外線遙控到底在傳什麼 很多人第一次拆紅外線遙控器會嚇一跳:裡面居然沒有什麼神奇的晶片,就是一顆紅外線 LED、一顆按鍵矩陣、一顆小小的驅動 IC。它傳出去的也不是「編碼過的資料」那麼玄,就只是一串會閃的紅外線。 而閃的方式有幾個關鍵: 載波(Carrier):38 kHz 方波(duty cycle 約 1/3),LED 以此頻率快速閃爍 調變:載波「存在」(burst)代表有訊號,載波「停止」代表沒訊號 協定:不同廠商有不同協定(NEC、Sony、RC-5、RC-6),最常見的是 NEC 接收端:整合式...

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

LoRa 長距離通訊完整教學:從 ESP32 + SX1278 到 LoRaWAN 協定實作

LoRa 是什麼?一句話:拿速率換距離,而且換得很兇 如果你只想要「一顆電池撐好幾年、資料送到幾公里外」,那 LoRa 幾乎是標準答案。它是 LPWAN(低功耗廣域網路)裡最紅的技術之一,智慧城市、農業監控、工業感測網路都在用。 先講清楚它的取捨:LoRa 用很低的速率(0.3~50 kbps)換到數公里的距離,同時功耗低到可以撐數年。對一個每分鐘才回報一次溫度的感測器來說,這個速率完全夠用 —— 反正你也不需要用它來看影片。 我自己第一次接觸時最驚訝的不是距離,而是它居然可以在沒有電信商的情況下自己架網路。這件事...

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

ESP32 NTP 網路時鐘 + OLED 顯示完整教學:從 NTP 協定到 Arduino 實作

先講結論:ESP32 的時間是「借來的」 如果你只寫過讓 LED 閃爍的程式,大概不會注意到這件事:ESP32 沒有板載 RTC,也沒有電池備援。它一斷電,時間就回到原點;重新上電之後,它知道的「現在」跟真實世界一點關係都沒有。 這件事在玩具專案裡無所謂,但只要你的裝置要記錄資料、定時動作、驗證憑證,時間就是必需品。而網路時鐘(NTP)是取得時間最便宜的方式 —— 不用加任何硬體,用你本來就有的 WiFi 就好。 這篇的順序是:先搞懂 NTP 在幹什麼(四個時間戳、48 bytes 的封包),再看接線,然後三種寫法...

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

ESP32 Web Server 網頁伺服器完整教學:從 HTML 到 REST API 實作

先講重點:為什麼要在 ESP32 上自己跑一個 Web Server 如果你手上有一塊 ESP32,卻只拿它來閃 LED 或把資料往雲端丟,其實有點浪費。它的 WiFi 是內建的,效能也足以同時應付好幾個 HTTP 連線,也就是說它可以身兼兩職:既是感測器節點,也是一台小型網頁伺服器。 這件事的價值在於:東西全都在你自己的區網裡,不用租雲端、不用第三方平台。我覺得最實用的大概這五項: 無需雲端:瀏覽器直接連 ESP32,不依賴任何外部服務 即時控制:點一下網頁按鈕就切 GPIO,延遲不到 100 ms 儀表板:手機...

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

DAC 數位類比轉換器完整教學:從原理到 ESP32/STM32 波形產生實作

DAC 是什麼?跟「PWM 假類比」差在哪 DAC 的工作用一句話講完:把一個數字,變成一個電壓。你給它 128,它輸出 1.65 V;你給它 255,它輸出 3.3 V。 很多教學會先教你用 PWM 加 RC 濾波來「做類比輸出」,那確實能用,而且幾乎每顆 MCU 都有 PWM。但它的本質是用方波的平均值騙人:漣波大、反應慢、精度取決於電容與電阻的誤差。 真正的 DAC 輸出的是穩定電壓,不需要靠濾波器把方波抹平。這就是為什麼做音頻、做訊號產生器、做可程式電源時,大家還是會去找有 DAC 的 MCU。 關鍵規格:...

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

OneWire 通訊協定完整教學:DS18B20 溫度感測器 ESP32/STM32 實作

OneWire 是什麼:一條線為什麼能掛好幾顆 OneWire(又稱 1-Wire)是 Dallas Semiconductor 的匯流排協定,它最誇張的地方是:資料、時序、甚至供電都可以只用一條線。加上地線,兩條線就能跑一顆感測器。 我第一次看到 DS18B20 的接線圖時的反應是「這樣真的能通訊?」。答案是能,而且很穩 —— 前提是你搞懂它的三個設計: 開漏匯流排:所有裝置只能「拉低」或「放開」,所以一定要有上拉電阻 Master 發起一切:Slave 不會主動說話,每個時槽都由 Master 開頭 64-bi...

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

ESP-NOW 通訊協定完整教學:ESP32 無需 Router 的點對點通訊

先講結論:不用 Router、延遲只要 2 ms 的無線 如果你做過 WiFi 專案,大概很熟那種「一定得先有一個 AP」的束縛感。ESP-NOW 把這件事直接拿掉 —— 兩塊 ESP32 不必連上任何路由器,就能互相傳資料。 延遲大約 2 ms,比走 MQTT 快兩個數量級。這篇的順序是:先搞懂它是什麼、封包長什麼樣,再看一對一與一對多的實作,最後補上 Deep Sleep 低功耗節點與幾個一定要知道的限制。 ESP-NOW 是什麼:把 WiFi 的底層拿來直接講話 它是 Espressif 自家開發的專有無線通...

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

SPIFFS / LittleFS 檔案系統完整教學:ESP32 資料儲存與 IoT 實作

先講結論:ESP32 要存東西,就別再硬撐 EEPROM 了 我猜很多人跟我一樣,是從 EEPROM 開始玩 ESP32 的。一開始只存個 WiFi 密碼,感覺還挺夠用;等到要放 HTML 網頁、要記一整年的感測器歷史資料,就開始卡了。 EEPROM 的毛病有兩個:容量小,而且壽命有限(大約 10 萬次擦寫)。真要長期記錄、要放網頁資源,你需要的是檔案系統 —— 也就是 SPIFFS 跟 LittleFS。 它們做的事情說穿了不複雜:讓你把 ESP32 上的 SPI Flash 當成一張迷你 SD 卡來用。一樣是開...

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

GPIO 中斷(外部中斷)完整教學:從原理到 ESP32/STM32 實作

什麼是中斷? 剛開始寫韌體的時候,我以為中斷只是「一個通知」。後來才發現,它其實是整顆 MCU 的即時性骨幹 —— 沒有它,你的系統只能一直問「變了嗎?變了嗎?」。 正式一點說:GPIO 中斷(GPIO Interrupt)是讓微控制器即時響應外部事件的核心機制。你不用讓 CPU 一直輪詢(Polling)腳位的電位變化,事件發生時由硬體主動通知 CPU,CPU 再暫停手邊的工作去處理。 原文那個比喻我一直覺得很好用:你在看書(主程式在跑),有人敲門(GPIO 觸發),你放下書去開門(執行 ISR),開完門回來繼續...

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

DMA 傳輸完全解析:從架構到實作,STM32/ESP32 的 Direct Memory Access 教學

先講一件我踩過的事:我以前寫 UART 收資料,用中斷一個 byte 一個 byte 接,接完再自己塞進緩衝。等到要同時跑 ADC 連續取樣跟通訊,CPU 就開始喘了 —— 明明時脈沒變、程式也沒寫錯,就是資料一多就掉資料。 問題不在演算法,在「搬資料」這件事本身就吃掉了 CPU 的每一分力氣。DMA 傳輸(Direct Memory Access,直接記憶體存取)要解決的就是這個:讓周邊設備自己去跟記憶體交換資料,CPU 只負責下指令跟收結果。 什麼是 DMA?為什麼需要它? 先看沒有 DMA 的時候,我們在做什...

2026 年 5 月 23 日 0條評論 692點熱度 0人點贊 shi6a 閱讀全文
123

近期文章

  • 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