<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[M5Stack Reflective IR モジュールが 0 のままになる問題について（相談）]]></title><description><![CDATA[<h1>【詳しい状況の説明】</h1>
<p dir="auto">M5Stack Reflective IR モジュールを接続し、アナログ値（analogRead(36)）を取得しようとしても 常に 0 のまま になってしまう。</p>
<h1>【環境情報】</h1>
<p dir="auto">•使用モジュール：<br />
・M5Stack Basic v2.7<br />
・M5Stack Reflective IR（反射型赤外線センサ）<br />
•開発環境：<br />
・Arduino IDE 2.3.4<br />
・CH9102_VCP_SER_Windows<br />
•使用ボード：M5Core<br />
•配線：<br />
　•VCC → 5V（または 3.3V）<br />
　•GND → GND	<br />
　•Analog OUT → GPIO36（VP）<br />
　•Digital OUT → GPIO26</p>
<h1>【再現可能なコード】</h1>
<pre><code>
#include &lt;M5Unified.h&gt;

// ピン設定（M5Stack Basic の場合）
#define IR_ANALOG_PIN 36    // 反射強度（アナログ）
#define IR_DIGITAL_PIN 26   // デジタル出力（HIGH/LOW）

void setup() {
  auto cfg = M5.config();
  M5.begin(cfg);

  // ピンの初期設定
  pinMode(IR_ANALOG_PIN, INPUT);
  pinMode(IR_DIGITAL_PIN, INPUT);

  // 画面の初期化
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setTextSize(2);
  M5.Lcd.setTextColor(WHITE);
}

void loop() {
  M5.update();

  // センサの値を取得
  int analogValue = analogRead(IR_ANALOG_PIN);
  int digitalValue = digitalRead(IR_DIGITAL_PIN);

  // 画面を更新
  M5.Lcd.fillScreen(BLACK);
  
  // タイトル
  M5.Lcd.setTextColor(WHITE);
  M5.Lcd.setTextSize(3);
  M5.Lcd.setCursor(40, 10);
  M5.Lcd.print("Unit-Reflective IR");

  // 波形アイコン（簡易的な描画）
  M5.Lcd.drawFastHLine(50, 60, 60, CYAN);
  M5.Lcd.drawFastVLine(80, 50, 20, CYAN);
  M5.Lcd.drawFastHLine(80, 70, 60, CYAN);
  M5.Lcd.drawFastVLine(110, 50, 20, CYAN);

  // アナログ値
  M5.Lcd.setTextColor(CYAN);
  M5.Lcd.setTextSize(4);
  M5.Lcd.setCursor(140, 80);
  M5.Lcd.printf("%d", analogValue);

  // デジタル出力のラベル
  M5.Lcd.drawFastHLine(50, 150, 120, GREEN);
  M5.Lcd.drawFastVLine(90, 140, 20, GREEN);
  M5.Lcd.drawFastHLine(90, 160, 80, GREEN);
  M5.Lcd.drawFastVLine(130, 140, 20, GREEN);
  
  // デジタルのHIGH/LOW 表示
  M5.Lcd.setTextSize(4);
  if (digitalValue == HIGH) {
    M5.Lcd.setTextColor(GREEN);
    M5.Lcd.setCursor(140, 170);
    M5.Lcd.print("HIGH");
  } else {
    M5.Lcd.setTextColor(RED);
    M5.Lcd.setCursor(140, 170);
    M5.Lcd.print("LOW");
  }

  delay(200);
}

</code></pre>
<h1>【試したこと】</h1>
<p dir="auto">1.シリアルモニタで確認（ボーレート 115200bps）<br />
・Serial.println(analogRead(36)); を実行<br />
・値が 0 のまま変化しない<br />
2.センサーの前に手をかざしてみた<br />
•アナログ値（0-4095）が変化するか確認<br />
•何も変化なし<br />
3.センサーの配線チェック<br />
•VCC → 5V または 3.3V に正しく接続<br />
•GND → GND に接続<br />
•Analog OUT → GPIO36（ESP32のADCピン） に接続<br />
•配線に間違いなし<br />
4.センサーの電圧測定（マルチメーターでチェック）•VCC-GND 間の電圧：5V（または 3.3V）<br />
•Analog OUT-GND 間の電圧：0V のまま（手をかざしても変化なし）<br />
5.シンプルなコードで動作確認<br />
•analogRead(36) の値が 0 のまま<br />
•analogReadResolution(12); を追加 → 変化なし<br />
•pinMode(36, INPUT); を明示的に設定 → 変化なし<br />
6.デジタル出力（GPIO26）の確認<br />
•digitalRead(26) でチェック → LOW のまま<br />
•センサー自体が反応していない可能性</p>
<h1>【相談したいこと】</h1>
<p dir="auto">1.M5Stack Reflective IR の Analog OUT が 0V のままなのは正常なのか？<br />
2.センサーの反射感度（可変抵抗）を調整しても変化がない場合、故障の可能性はあるか？<br />
3.COM3のポートが”LilyGo T-Display”と表示されるのはなぜか、ここが原因か？</p>
<p dir="auto">💡 同じセンサーを使用している方がいれば、Analog OUT の正常な動作電圧範囲や、手をかざしたときの挙動を教えていただけると助かります！</p>
]]></description><link>https://community.m5stack.com/topic/7296/m5stack-reflective-ir-モジュールが-0-のままになる問題について-相談</link><generator>RSS for Node</generator><lastBuildDate>Sat, 09 May 2026 16:04:10 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/7296.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Feb 2025 03:06:55 GMT</pubDate><ttl>60</ttl></channel></rss>