質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

1880閲覧

赤外線LEDの「位置」をセンサリングするために最適なセンサは?(丸投げ気味ですご了承ください)

KUSAKAGen

総合スコア9

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/08/24 11:42

適したタグが見つからないため,そもそもこのサイトでの質問にそぐわないのかもしれません.ご了承ください.また「丸投げ」ととらえられても仕方ない質問内容ですが,ご協力いただければ嬉しいです.

さて,複数の赤外線LEDを定位置に配置し,それを手に持った観測機器で連続的にセンサリングすることで,「観測機器の」相対的な位置変化を取得したいと考えています.繰り返しますが,取得したい目的のデータは「観測機器の位置変化」です(説明が下手で申し訳ありません.下の1つ目のリンクにわかりやすい図があります).

動機は,Unity上でWiiリモコンでのカーソル操作を再現したく,そのためのデバイスを自作したいからです.実際にWiiリモコンでは上のようなセンサリングが行われています.(参考:Wiiリモコンの仕組み, 【続報:Wii分解】「センサーバー」にはセンサがなかった
なお,デバイスはArduino nanoを中心に作成する予定です.

私もこのような情報を取得したく,「まずはカメラだろう」と,部品の選定を始めました.しかしカメラはこれまでの電子工作で触れたことが無く,私の用途に合うカメラがどのようなものかわかりません.しかし,用途から考えて次の点が満たされれば良いと考えます.
・赤外線を感知できる
・低画質でいいのでフレームレートが高いこと(きれいな画像が必要なわけではなく,複数の赤外線LEDの位置を観測できることが条件だから)
・小型である(リモコンに搭載することを考えれば,5cm平方程度までがありがたい.しかしこれはカメラを知らない素人意見のため,高望みかもしれない)

これを基にスイッチサイエンス,秋月電子通商でカメラを検索しました.しかしそもそも種類が少ないこともあってか,サイズが適する手ごろな価格のものは以下の製品だけでした.
http://akizukidenshi.com/catalog/g/gM-00054/
https://www.switch-science.com/catalog/1241/

質問内容は次の通りです
・これらのセンサカメラで,赤外線を感知(というか赤外線LEDの位置を観測)することは可能ですか?
・これらは鮮明な画像を撮影するためのカメラです.私の用途では赤外線LEDの位置を知りたい,2値化レベルでの話になります.低画質でいいのでフレームレートの確保という上の要望の2つ目は,もっと簡単に解決可能でしょうか?

以上の2点,回答お願いします.特に2つ目,丸投げになってしまい申し訳ありません.よろしくお願いします.
(いくら断ってもこれはひどい,と思われる方がおられましたら,ずうずうしいですが適当な質問サイトだけでもご教授ください.)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

基本的にはCMOSにしろCCDにしろ赤外線に感度はあります。IR(赤外線)を減衰させるフィルターを入れたりすることもありますが、汎用のものではそんなにキツイ特性のフィルタは入ってないでしょうから、赤外LEDがピカピカ光っていれば大抵は拾えるとは思います。保証は出来ませんが。構造によってはフィルタを外すなんてことも出来るかも。

そんなこと(というとなんですが)よりも、どういうインターフェースでデータを取り込むのか、特に今回は高フレームレートというのですから、そちらの方が重要です。

秋月のやつは、NTSC出力となっています。つまり、昔のアナログビデオ信号。フレームレートは30fps(インターレース)固定です。データを取り込むためには、サンプリング周波数数MHzのADコンバータが必要。しかも、取り込んだ信号を解析(同期とか)してやらないと画像信号は取り出せません。しかし、Arduino nanoでは2KBしかSRAMがないので、この信号を一画面分RAMに展開することも出来ません。

スイッチサイエンスのやつは、最低160 × 120画素、白黒8bitに出来たとして(データシートちゃんと読んでませんが)
一画面のデータ量 160x120x8 = 153600 bit
これを最大115200 bit/sで転送するのですから 1画面の転送に153600/115200=1.3 秒かかる計算になります。

つまりどちらもあなたの用途には合わない、ということは言えそうです。

そもそもAVRマイコンでは、一画面をRAM上に展開することも出来ないということは注意すべきです。数ラインをバッファして、その情報からLEDが光っている位置を検出する、などの処理が必要になりますが、出来ますか?

投稿2019/08/25 05:37

thkana

総合スコア7629

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KUSAKAGen

2019/08/25 07:11

もはやほとんど言っておられることが理解できない時点で,私の技術ではほとほと無理でしょうね. 今より技術が上がればまた挑戦したいと思います.このような結論になってしまいすみません.丁寧な回答ありがとうございました.
guest

0

まず、Arduino程度の処理能力では、カメラの画像処理を行うにはあまりに力不足で現実的ではありません
次に、位置センシングのために赤外線LEDを選択するというのはちと筋が悪いように思います
赤外線センサを用いたとしても、せいぜい赤外線の受信可否の判定に使える程度で、距離測定には使えないので、この用途には使いづらいかと思います。

こういう用途で使える可能性のあるのは、超音波センサ、加速度センサあたりでしょうか。
ぐぐったら、加速度センサを使っての位置計測の事例があるようですが、なかなかむずかしいようです

投稿2019/08/24 12:16

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KUSAKAGen

2019/08/24 12:29

このような質問に回答してくださりありがとうございます. >位置センシングのために赤外線LEDを選択するというのはちと筋が悪いように思います(以下略) 距離測定,という目的ではないです.リンク先で紹介されているように,平面的なリモコン操作における一種リモコンの向き情報とも言える値を取得したいのです.その点Wiiでの実例がありますし,赤外線LEDとイメージセンサによるセンサリングは可能だと考えます.
y_waiwai

2019/08/24 12:37

一般的に出回っているセンサを使用する分では、各所に設置した赤外線LEDを計測物の上で赤外線センサを回転させ、赤外線の受信可否を見て角度を計測、位置を推定するってことぐらいですが、いろいろ課題も多い気がします まあ、とにかくやってみよう、ということしかいえませんが、うまく行ったときはどこかで公開してもらいたいところですね。がんばってください。
KUSAKAGen

2019/08/24 12:42

なかなか難しい,という厳しい意見でしたが,質問に付き合ってくださり本当にありがとうございました.また機会があれば回答よろしくお願いします.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問