おんどとり]の代わりにするために、作成した温度/湿度/大気圧センサモジュールの情報をまとめておく。関する情報をまとめておく。TR73U)]を使っているが、値段が高いので、気軽に置いておくわけにはいかない。[[br]]8最近は半導体温湿度センサーが安くなってきて、しかもデジタル出力(I2C,SPI等)なので、面倒な校正作業が必要ないはず。[[br]]9I2Cを普通のPCでは接続できないけど、arduinoのようなマイコンならば普通につなげるのでお手軽ではないか。[[br]]10ということで、作ってみました。MPL115A2(大気圧センサ)]2829の組み合わせ。unoのようにUSBからプログラムを変更できないけど、一回書き込めば変更することはないので問題なし。UNOをライターとして使用する。[[br]]32ATTiny85を内部クロック8MHzで動かし、3.3V電源はFT232RLから供給する。センサとはI2Cで接続し、一定時間ごとに受信したデータはCPUで文字列に変換してFT232でホストに送信する。[[br]]33ホストから設定値を送ることはしないので、センサからデータが常時垂れ流されているデバイスとして使用することになる。==3637[[Image(weather_sch.png,400)]]3839I2CはSDA(5pin),SCL(7pin)、serial(UART)がTX(3pin),RX(2pin)になるように設計。404142[[Image(weather_gbr.png,400)]]4344基板のベタ面GNDを切り離していなかったせいか、温度が若干高く測定されるように思われるが、他のデバイスとの相関を取ったわけではないので、正確なところはわからない。[[br]]45ただ、個人的な趣味で、温度のみを測定するI2Cデバイスとの温度差を見てみた時にはそれほどずれていなかったので、単純にオフセットしているだけなのかも。==4950制御プログラムはarduinoで作成。[[br]]51HITU21Dのサンプルプログラムをベースに作成した。UARTがないのでSoftwareSerialを使い、I2Cはarduino標準ライブラリが使用できないのでライブラリを追加した。TinyWireM]5657また、HTU21DとMPL115A2のarduino用ライブラリもWireライブラリを使うことを前提に書かれていたので、TinyWireMを使うように修正。TinyWire.H}}}}に変更したのと、{{{Wire.}}}を{{{TinyWireM.}}}に書き直しただけ。A:xx.xx\r\n134}}}135136137となる。