ここのところ、RS485の実験にはまっています。
なんか、楽しいです。
NXTとArduinoをRS485で接続して、通信ができるようになりました。
ところで、このRS485って、本当に速いのでしょうか?
(逆に、I2C通信は、そんなに遅いのでしょうか?)
とにかく、実験です。
M&Yが使用している温度センサーはI2C接続のセンサーで、直接NXTのセンサーポートに接続できます。
直接、センサーポートに接続して、温度を測ると・・・
1000回の計測で大体18秒ほどです。
つまり、1回の計測に18ms掛かることになります。
じゃあ、NXTとArduinoをRS485で接続して、Arduinoの先に温度センサーをI2Cで接続します。
どう考えても、こちらのほうが遅いように思います・・・が・・・
1000回の計測で3.5秒しか掛かりません。
つまり、1回の計測には3.5msしか掛かりません。
この速度の差が、どこから来るのかは明確にわかりませんが・・・
おそらく、NXTのI2Cは、ソフトI2Cであり、めっちゃ遅い(マージンをこれでもかっていうくらい大きくとってある)のだと思います。
と、いうことで、RS485を、またちょっと好きになりました。(笑)
注)これは2011年に書いたけど、(なぜか)投稿しなかった古い記事です・・・ですので、今となっては役に立たない情報かもしれません・・・