- ベストアンサー
赤外線センサーの37.9kHと38kHの違いとは?
- 赤外線センサーの37.9kHと38kHの違いについて検証しました。37.9kHのセンサーでは正常に解析できますが、38kHのセンサーでは解析できないという現象が発生しました。
- 波形のパターンやピーク幅を比較した結果、37.9kHと38kHのセンサーでは微妙な違いがあります。この違いが解析できない原因の可能性があると考えられます。
- 解決策としては、37.9kHのセンサーを使用するか、38kHのセンサーを正しく解析できるスケッチやライブラリを探すことが挙げられます。また、オシロスコープを使用して波形を確認することも有効です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Arduino D13 pin には LED 回路が接続されています D13 - 500Ω - LED - GND 赤外線モジュール 内蔵プルアップ抵抗と分圧され、CMOS Hレベル入力電圧 を満たしてないと思われます (VCC*0.7 = 3.5V 以上) 接続ポートを変更してみては? 参考 Arduino UNO 回路図 https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
その他の回答 (3)
- cwdecoder
- ベストアンサー率20% (200/997)
No.1です。 No3さんの情報で解決しましたね。私はArduino を持っていないので知りませんでしたがLEDがくっついていたのなら納得です。 ポートを変えてスケッチを修正するか、LEDを切断すれば解決するでしょう。
- cwdecoder
- ベストアンサー率20% (200/997)
No,1です。 電圧を上げるだけなら、オペアンプかバッファをかませばいいのですがそれは根本解決ではありません。 接続時、そこまで電圧が低下するのは通常考えられません。そのGP1・・・の出力トランジスタは15~35kΩの抵抗でプルアップされているとは言え、マイコンの入力インピーダンスはそこまで低くないからです。ただしそれが事実だとすると下記の理由が考えられます。 (1)Arduinoの入力ポートが壊れている。(過去に誤接続などでうっかり壊してしまった可能性) (2)どうなっているか分かりませんが入力ポート付近の回路を間違えている (3)私はよくわかりませんが、そのDSO150の表示が信用ならない可能性 (DSOシリーズの縦軸(電圧)は測定器と呼ぶことが出来ないほどとの評価を販売店のホームページで見たことがあります。ただし低周波なので信用できるのかもしれません)
- cwdecoder
- ベストアンサー率20% (200/997)
出力されているということは、BPFの中心周波数は関係ないでしょう。 出力されるパルスの電圧がArduinoの入力閾値以下に低下してないか等のチェックが必要でしょうね。(ここで本物のオシロスコープがあればいいのですが) あるいは、簡単なスケッチを作って、単純にセンサーをモニターしてみてはいかがでしょうか。
補足
ご助言誠にありがとうございます。 これくらいの周波数の違いは問題にならないのですね。 使いこなせてない簡易オシロスコープDSO150ならありましたので、試しに各赤外線センサーをVcc(4.6V程度)とGNDにつなぎ、Voutにプローブを当てて測定したところ、リモコン入力でHIGH(4.2V程度)からLOW(0V)まで下がることが確認できました。しかしながら、このVoutにArduinoのD13端子(INPUT設定)を接続するとそれだけでHIGHが2.0V程度に下がることがわかりました。 入力閾値が何Vかわかりませんが、仮に2Vだと仮定するとSPS-444-1とGP1UXC41QSはHIGHもLOWも入力閾値以下なので信号が得られない、ということでしょうか?これが原因なら大変すっきりします! この場合、センサーの電圧をVccまで上げてあげれば良いと思いますが、どのようなarduinoとセンサーのつなぎ方に変更すればよいでしょうか? またアドバイスいただければ幸いです。 センサー型番 Vout電圧 Vout電圧(接続時) OSRB38C9AA(37.9kH) 約4.4V → 0.2V 2.2V → 0.2V SPS-444-1(38kH) 約4.2V → 0V 1.8V → 0V GP1UXC41QS(38kH) 約4.3V → 0V 1.8V → 0V
お礼
アドバイスありがとうございます。 仰る通り他のポートに変えるだけで解決しました。 何かと13番を使ってたのですが、中身まで把握しておかないと思わぬ落とし穴にかかってしまうのですね。 大変勉強になりました。ありがとうございました。