M5Stack Reflective IR モジュールが 0 のままになる問題について(相談)
-
【詳しい状況の説明】
M5Stack Reflective IR モジュールを接続し、アナログ値(analogRead(36))を取得しようとしても 常に 0 のまま になってしまう。
【環境情報】
•使用モジュール:
・M5Stack Basic v2.7
・M5Stack Reflective IR(反射型赤外線センサ)
•開発環境:
・Arduino IDE 2.3.4
・CH9102_VCP_SER_Windows
•使用ボード:M5Core
•配線:
•VCC → 5V(または 3.3V)
•GND → GND
•Analog OUT → GPIO36(VP)
•Digital OUT → GPIO26【再現可能なコード】
#include <M5Unified.h> // ピン設定(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); }【試したこと】
1.シリアルモニタで確認(ボーレート 115200bps)
・Serial.println(analogRead(36)); を実行
・値が 0 のまま変化しない
2.センサーの前に手をかざしてみた
•アナログ値(0-4095)が変化するか確認
•何も変化なし
3.センサーの配線チェック
•VCC → 5V または 3.3V に正しく接続
•GND → GND に接続
•Analog OUT → GPIO36(ESP32のADCピン) に接続
•配線に間違いなし
4.センサーの電圧測定(マルチメーターでチェック)•VCC-GND 間の電圧:5V(または 3.3V)
•Analog OUT-GND 間の電圧:0V のまま(手をかざしても変化なし)
5.シンプルなコードで動作確認
•analogRead(36) の値が 0 のまま
•analogReadResolution(12); を追加 → 変化なし
•pinMode(36, INPUT); を明示的に設定 → 変化なし
6.デジタル出力(GPIO26)の確認
•digitalRead(26) でチェック → LOW のまま
•センサー自体が反応していない可能性【相談したいこと】
1.M5Stack Reflective IR の Analog OUT が 0V のままなのは正常なのか?
2.センサーの反射感度(可変抵抗)を調整しても変化がない場合、故障の可能性はあるか?
3.COM3のポートが”LilyGo T-Display”と表示されるのはなぜか、ここが原因か?💡 同じセンサーを使用している方がいれば、Analog OUT の正常な動作電圧範囲や、手をかざしたときの挙動を教えていただけると助かります!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login