MUDAなことをしよう。MUDAなことをしよう。今回は珍しくArduino単体のお話です。センサを扱ってみたくなりまして。Arduinoの選定です。PiとI2Cで通信できるです。PiとI2C通信ができるかを調べてみたのですが。自分のスキル不足のせいで、ちょっと判断ができません。5V)のGPIOが、その名の通り5V入出力なところです。レベルコンバーターとかかませば問題ないのでしょうが、ちょっとパーツが増えるのは避けたいところです。PiもArduinoも両方プルアップしてまうやないか?」となって、自分の中で「???」となってしまっているのです。マスターとスレーブのどっちかのプルアップが優先されるとか、そんなルールでもあるのかしら?I2Cとかプルアップについての自分の勉強不足が原因なのですが、どなたか教えていただけると幸いです。3.3V)を使うことにします。2014に行ったときに、スイッチサイエンスさんのブースで250円ぐらいで叩き売りされていたものを購入しました。ピンソケットをはんだ付けしてみた状態がこちら。普通はピンをつけた方がブレッドボードに挿しやすくてラクだと思うのですが、色々考えた結果ソケットをつけることにしました。高さを出したくなかったので。最初Tesselを見たときには「なんでこんな横に広いんだ?」と思いましたが、同じ理由だったのかもしれないなあと、今更ながら思いました。センサとか諸々を繋いでみようと思います。今回繋いでみるのはこちら。MEMSマイクモジュール)LEDではでは、Arduinoのプログラミングを。最近IDEの1.6.0が出たみたいなので、せっかくなのでそちらを使います。サンプルプログラムを動かそうとしたところで、問題発生。MiniのポートがMacから見えません。Yosemiteでうまく動かない模様。Yosemite(Mavericks)でFTDIが動かない件こちらに書かれていた対処法(FTDIのドライバインストール)を試したところ、それでもまだ動きません。結局、USBケーブルを変えてみたら無事に認識されました。充電しかできないタイプのUSBケーブルを使ってしまっていたのであろう。いうことは、初めからUSBケーブルを間違えていないければ、特にドライバのインストールは必要なかった?今となってはわかりませんが、うまくいかないときは試してみるとよいと思います。温度センサ(LM35DZ)はこちらを参考にして。-1注意が必要なのは、上記の(というか、LM35DZを使うほとんどの)サンプルでは5V出力のArduinoを使っているということ。今回は3.3V出力のArduinoなので、温度の計算式だけ変えてやらないといけません。ちなみにLM35DZの動作電源電圧範囲は4V〜20Vなのですが、一応3.3Vでも動いている模様。5V駆動と比較してみましたが、ほとんど差もないですし、普通の壁掛け温度計との差もほぼないので、とりあえずこれで動かしてみます。次に、湿度センサ(HIH-4030)です。これは、こちらを参考にさせていただきます。Arduino本来このセンサは5V駆動で最適化されているですが、ご丁寧に、「3.3Vのときは試してないけど、多分こうじゃないかな」という計算式を載せてくれているので、そのまま使わせてもらいます。25.8;この”-25.8′′の部分は、ちょっと調整しないといけないかもしれません。使ってみて、壁掛け湿度計の値を見ながら調整していくことにします。次に、照度センサ(AMS302)です。こちらは、ちょっと情報が少なめです。プロジェクト実習A8配線の写真が小さくてよく見えないので、とりあえず3.3Vかけたときに最大でも5mAぐらいしか流れないよう、680Ωの抵抗を直列に繋ぎました。ルクスの正確な値に変換できているかどうかは怪しいですが、とりあえず部屋を真っ暗にすると値が0、普段の部屋の明るさで140、デスクライトをつけると700ぐらいになるので、明暗を判定する分には問題なさそうです。AMN14112)です。これはそのものズバリのサンプルはありませんでしたが、焦電センサはだいたいみんな同じようなものなので、配線とかはこのあたりを参考にさせてもらいます。焦電型赤外線センサーを使って人を検知する人を検出していないときには出力端子がオープンになっているので、プルダウンしておかないと出力が安定しない、というところだけ注意です。プログラム自体はdigitalReadをするだけです(この場合、その一瞬の判定しかしないので、もうちょっと賢くする必要があるかもしれませんが)。MEMSマイクモジュール)です。これは最大動作電圧が3.3Vなので、3.3V系のArduinoだと特にレベル変換を気にすることなく簡単に使えます。基本的に出力をそのままArduinoのアナログ入力端子に突っ込むだけなのですが、細かくサンプリングしないと(=ループを早く回さないと)、瞬間的に発生した音は捉えられないので、ちょっと使い方をうまく考えないといけないかもしれません。最終的にこんな感じになりました。うーん、とりあえず動作確認するだけのためとはいえ、なかなかひどい感じです。右から順に、温度センサ、湿度センサ、照度センサ、人感センサ、マイク、LEDです。左端のものは、赤外線受信モジュールです。実はこれの動作確認もうまくいっていたのですが、これとペアとなるべき赤外線LEDの方がうまく動作してくれませんでした。Fioのときはちゃんと動作したのになあ。Fioで組み直してみました。これだとやっぱり、赤外線LEDで正しく機器制御できました。うーん、何が違うんだろう。PiとのI2C通信のテストは、次回にお預けです。ソースコードは、I2C通信が確認できた時点で公開する予定です。コメントをキャンセルメールアドレスが公開されることはありません。hidaka_hirojiAmazonほしいものリストこちら自身の工作用に使いたいものがメインですが、必ずしも工作に使うわけではないのでご了承ください。MUDAなことをしよう。