- ベストアンサー
マイコンによるLEDの点滅速度について
電子工作の知識がないのでよくわからないのですが、マイコンを使ってLEDを点滅させる場合最高どのくらいの点滅速度までいけるのでしょうか? 例えば赤外線LEDや、普通のLEDなどをつかって、パソコンのVGAポートにつないで、LEDを点滅させて、その光を受信してその受信した光を電気信号に変換して、別のVGAのピンにその電気信号を流して、モニタに映像を映し出すことはできますか? はたしてLEDが映像の信号のスピードよりも早い周波数で点滅させられるのかどうかということです。 もちろんマイコンもです。 また、この方法でできないなら、他にどのような方法が考えられるでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
No3です。 > どうやっているのでしょうか? 遅いデバイスで送れる程度に、映像を小さくするなりフレームレートを下げるしかないでしょうね。640x480が無理なら、QVGA(320x240)に解像度を落とす。あるいは60fpsを30や15に下げる。もしくはその両方を行うことになります。 それか実は、高速通信用のもっと速いLEDが存在していて、それを使っているだけなのかも知れません。その場合はマイコン側も高速化しないと無意味ですけどね。
その他の回答 (4)
- mtaka2
- ベストアンサー率73% (867/1179)
> 調べてみると、LEDを光速で点滅させて映像を送っている動画などがあります http://k-tai.impress.co.jp/docs/event/embtec2009/20091119_330175.html これとかですか? この記事のシステムでは、データ伝送速度は5Mbpsと言っています。 PCとディスプレイの間の映像信号は1Gbps。データ容量が200倍も違います。 それだけ圧縮したデータにしているから、可視光通信で伝送できているのです。
LEDの応答速度が50~100nsならば、この速度で足りるのかどうかを検討すればいいことになりますね。 VGA(640x480:60Hz)信号のドットクロックは、だいたい24.3MHzです。LEDの応答時間が50~100nsと言うことは、逆算して周波数に直すと、10~20MHz。間に合わないという計算になりました。 ドットクロックの計算: http://www.c-able.ne.jp/~tatarat/mac/beginners/video/dotclock.html それともう一つ重大な問題があって、VGAはアナログ信号であり、明るさの強弱は信号の大小によって決定されます。なのでLEDをただ点滅させるだけでは1か0しか送れないので、階調の表現ができません。なのでLEDを複数並べ、同時に点滅させる必要が出てきます。8個あれば8ビットで256段階が表現可能、つまりフルカラー相当になります。 LEDの明るさを変えて表現することも理屈の上では可能ですが、実装するのは無理でしょう。なぜなら普通はLEDの明るさ制御はPWMと言って、時分割で高速に点滅させることで行っています。ただ今回はLEDの応答速度の限界で使っているため、そんな悠長なことは言ってられません。後は電圧を変えることになりますが、これではD/Aコンバータの処理時間が追いつけるかと、そもそも欲しい階調の変化が得られるかの検討が必要です。また明るさを変えると言うことは、伝送距離によって明るさが変動することを考えなければなりません。 そもそも最初の計算で速度が足りていないと判明した時点で本案却下ですが…仮に追いつけるLEDがあったとしても、あまりぎりぎりの領域で使うのは思わぬ不具合の原因になります。理論上では動いているのに、ばらつきのせいでこっちのLEDは光っているがこっちはまだ、なんてことが起こりえるので。
- mtaka2
- ベストアンサー率73% (867/1179)
「パソコンのVGAポート」レベルの速度は論外で不可能です。 仮に、画面表示解像度を1024x768としましょう。通常1秒間に60コマ表示していますから、 1秒間に伝送するピクセル数は、1024×768×60=約50Mピクセルになります。 通常、1ピクセルはRGB各8bitの24bitで構成されていますので、 パソコンのVGAポートからの信号を、50MHz のサンプリングレートでA/D変換する 必要があります。その結果として、1.2Gbps ぐらいのデータになります。 1bitをLEDの1点滅に対応させたとしても、LED を 0.8ns の速度で点滅させる必要があるのです。 そんな速度で動くようなマイコンはまずありませんし、LEDの応答速度が全然足りません。 また、実際にLED点滅で可視光通信する場合、1bitの情報を1回の点滅で表現することはできません。そんなことをすると、ノイズと信号の区別が出来なくなります。 そのため、実用的な手段としては、データ伝送よりはるかに高速な「搬送波」点滅の上に送信すべきデータを載せることになります。 例えば、赤外線を使う一般的なリモコンでは、赤外線LEDを基本的に38kHz(26μ秒周期)の点滅させいますが、その光の有無で1bitの伝送に1m秒~2m秒ぐらいかけています。データの伝送速度は600bps程度しかありません LEDの応答速度が100n秒だとして、この200倍(130n秒周期)で通信したとしても、 通信速度は120kbps程度です。ビデオ信号の伝送と比べると10000倍ぐらい遅いです。
- DIooggooID
- ベストアンサー率27% (1730/6405)
こちらで紹介されているように、LEDの反応速度は50~100ns(ナノ秒)なので、 十分に、要求に耐えられます。 http://www.watch.impress.co.jp/headline/extra/2010/led/stapa4.html
補足
調べてみると、LEDを光速で点滅させて映像を送っている動画などがありますが、あれはLEDの速度がおいつけないはずなのにどうやっているのでしょうか?