Skip to content
  • Add anything here or just remove it...
yesio.netyesio.net
  • yesio
  • GoSUMO相撲擂台
  • 創新應用與紀實
    • 2026太平洋盃X華紙公益
    • 2025華紙盃支援專頁
  • 應用速查
  • 獎項與肯定

dual2s基礎使用手冊

4
  • 【簡介】dual2s-mini控制器(2026)
  • 【簡介】dual2s-v2控制器(2025)
  • 【基礎】韌體程式學習 | How To
  • 【SWSP】dual2s快速應用系統

程式開發環境設定

3
  • 2026 競賽技術資料
  • dual2s函數庫與開發環境
  • 【進階】dual2s.h函數庫說明

Vibe - dual2s開發版

5
  • 【Vibe】Vibe教學,選用Agent還是Browser呢?
  • 【Vibe】U01. AI 寫韌體容易「翻車」,WHY?
  • 【Vibe】U02. 一位稱職的韌體架構師
  • 【Vibe】U03. 建立你的AI韌體助手/專屬家教
  • 【Vibe】U04. 硬體控制變換練習

ros32控制器

1
  • GoYak – 4Dof全向輪式智慧機器手臂

社群開源專題

9
  • 競賽/活動地圖開源模型說明
  • 【活動】地圖開源模型
  • 【機構】獨角仙主動防禦 / RhinoSUMO
  • 【GoSUMO】外掛套件_機械鏟
  • 【GoSUMO】外掛護甲_2023年式
  • 【車體】ezBot專題/dual2s/esp32
  • 【機構】GoARM組裝-社群創作版
  • 【GoSUMO】外掛護甲_2025年式
  • 【船體】aquaBot雙體船型/SDGs永續

競賽活動相關

2
  • 【活動】地圖開源模型
  • 2026 太平洋盃場地與設備

dual2s單元控制

12
  • 【顯示】狀態燈使用 | ws2812b
  • 【聲音】蜂鳴器 | buzzer
  • 【感測】超音波 | HCSR04
  • 【感測】近紅外線感測 – line | IR3CH
  • 【感測】近紅外線感測 – 相撲 | IR3CH
  • 【制動】DC馬達 | Motor
  • 【制動】舵機 MG995/SG90s | ServoMotor
  • 【感測】電壓監控 | Power
  • 【通訊】PS3搖桿 | PS3 GamePad
  • 【通訊】P3x搖桿控制MG995歸90度
  • 【運動】APP控制模式 | dual2s (2025)
  • 【運動】P3x搖桿(鎖址式) | dual2s (2025)

dual2s微專題

3
  • 【微專題】RFID門控基礎 / dual2s/mini
  • 【組裝】GoSUMO 組裝程序 2025
  • 【組裝】GoARM 2025 組裝程序
View Categories
  • Home
  • 應用速查
  • dual2s基礎使用手冊
  • dual2s單元控制
  • 【感測】近紅外線感測 – line | IR3CH

【感測】近紅外線感測 – line | IR3CH

2 min read

簡介 #


紅外線感測陣列就像是機器人的「地圖領航員」,能感知地面的顏色差異來判斷自身位置。在現實生活中,這類技術廣泛應用於工廠的無人搬運車(AGV),讓機器人能沿著鋪設好的軌道精準運送貨物。透過判斷深淺顏色的反射率,感測器能告訴機器人何時該左轉、何時該修正路徑或停車。這不僅是自動導航的入門基礎,更是讓機器人具備「場地意識」的重要感官。

IR3CH 類別專為處理三路紅外線反射感測器設計,主要用於循線(Line Following)與邊界偵測(Boundary Sensing)。它能將讀取到的類比訊號自動轉換為邏輯狀態,簡化了原本繁瑣的數值判斷流程。本範例展示了如何利用三角形排列的感測器矩陣,精確獲取車體相對於軌道的偏移狀態。

硬體配置與原理 #

  • 感測器組成:三路紅外線發射與接收對管(左、中、右)。
  • 配置方式:採三角形(Triangle Pattern)排列,能更細緻地分辨「稍微偏向」與「嚴重偏移」的差異。
  • 連接腳位:使用 ESP32 具備類比數位轉換(ADC)功能的腳位:
    • 左側 (L):GPIO 34 (DUAL2S_HW::IR_L)
    • 中間 (M):GPIO 35 (DUAL2S_HW::IR_M)
    • 右側 (R):GPIO 39 (DUAL2S_HW::IR_R)

核心功能說明 #

  1. 動態更新與邏輯判斷 update(): 開發者可依據環境光線與場地材質調整三個關鍵參數:
    • 門檻值 (Threshold):設定區分黑與白的類比臨界點(範例預設為 2000)。
    • 目標極性:可自由切換 BLACK_LINE(黑軌白底)或 WHITE_LINE(白軌黑底)。
    • 偵錯模式 (Debug):開啟後可直接在序列埠查看原始數值,方便調整門檻值。
  2. 狀態機器機制 getState(): 感測器會回傳一個 byte 數值,代表目前感測器的接觸組合:
    • 中間 (State 2):代表精準對齊,可高速行進。
    • 偏側 (State 1, 4):代表車體已大幅偏移,需立即修正轉向。
    • 複合狀態 (State 3, 6):代表兩顆感測器同時壓線,提供更平滑的轉向修正依據。
    • 全線 (State 7):通常用於偵測橫向的交叉口或終點線。

使用建議 #

  • 環境調適:紅外線易受環境強光(如陽光)干擾。在正式比賽或運作前,務必使用 update 中的 Debug 功能確認場地的「黑/白讀值差」,並找出最穩定的 IR_THRESHOLD。
  • 安裝高度:建議感測器距離地面約 5mm 至 8mm 以獲得最佳感度。

dual2s控制器與環境 #


AI學伴 #


互動(1):基於函數庫 – dual2s #

互動(2):基於範例程式 #

👉 你也可以在dual2s函數庫(./example/basic)中找到此範例程式。

/*=====================================================================================
yesio.net / 2026.03.12 / by nick
# Filename:04_IR3CH.ino
# Function:紅外線循線邊界感測 (IR3CH 類別) 使用範例
  Test Code of dual2S's IR3CH CLASS.
# Toolchain & Libs:ESP32 Arduino Core v3.3.5 (ESP-IDF v5.1), dual2s
======================================================================================*/
#include <dual2s.h>

const uint16_t IR_THRESHOLD = 2000;

// 宣告 IR3CH 物件,使用 dual2s.h 預設的類比輸入腳位 (34, 35, 39)
IR3CH ir(DUAL2S_HW::IR_L, DUAL2S_HW::IR_M, DUAL2S_HW::IR_R);

void setup() {
  Serial.begin(115200);

  Serial.println("=== IR3CH 紅外線感測器陣列測試開始 ===");
  Serial.println("準備讀取數值...");
}

void loop() {
  //---------------------------------------
  //參數(1):判斷門檻值
  //參數(2):判斷目標線:BLACK_LINE(黑線) / WHITE_LINE(白線)
  //參數(3):是否開啟DEBUG以輸出IR讀值
  //---------------------------------------
  ir.update(IR_THRESHOLD, IR3CH::BLACK_LINE, false);

  byte state = ir.getState();
  
  //IR are deployed in TRIANGLE pattern.
  //循線感測器 
  switch(state) {
    case 0:
      Serial.println("未在線上 / 搜尋");
      break;
    case 1:
      Serial.println("車體偏左");
      break;
    case 3:
      Serial.println("車體稍微偏左");
      break;      
    case 2:
      Serial.println("車體中線");
      break;
    case 4:
      Serial.println("車體偏右");
      break;  
    case 6:
      Serial.println("車體稍微偏右");
      break;
    case 5:
      Serial.println("未知");
      break;
    case 7:
      Serial.println("車體全線 / 終點");
      break;  
  }

}
Updated on 24 8 月, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
【感測】超音波 | HCSR04【感測】近紅外線感測 – 相撲 | IR3CH

Powered by BetterDocs

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

大綱 outlines
  • 簡介
    • 硬體配置與原理
    • 核心功能說明
    • 使用建議
  • dual2s控制器與環境
  • AI學伴
    • 互動(1):基於函數庫 - dual2s
    • 互動(2):基於範例程式
Copyright 2026 © 宏川智控有限公司
  • yesio
  • GoSUMO相撲擂台
  • 創新應用與紀實
    • 2026太平洋盃X華紙公益
    • 2025華紙盃支援專頁
  • 應用速查
  • 獎項與肯定
  • -
  • Newsletter