2017年4月

ハードウェア

オフィス換気のため Co2 センサー作り ー Arduino, BME280, MH-Z19編

Arduino uno

今年冬が寒くて窓が開けられない日が多く、作業中に換気のタイミングがなかなかわかりにくい。 それを解決するにはCO2センサーだと思いました。 早速CO2センサー購入しようと、調べてみると通販で販売しているものが一番安くても3万円弱だったので、 自分でCO2センサー作ると考えて始まりました。 まずはもっている材料から試作です。 2012年にmiyamomoさんの記事を読んでMZK-RP150Nとeneloop買いました。 http://miyamomonikkie.blog.so-net.ne.jp/2012-12-29 早速Arduino UNO、Ethernet Shield、MZK-RP150NとLM35D繋げて試してみました。 いい感じで数字をテストサーバーにPOSTできるになりました。 ここまで試作がうまくできたので、本番用のCO2センサー探し始めました。 CO2センサーって意外と値段高いもので、一旦あきらめたんですが、 あの日偶然で上田さんの記事から中国で安いセンサーを販売してる店のリンクを紹介していたので、同じMH-Z19を買いました。 http://qiita.com/UedaTakeyuki/items/c5226960a7328155635f 試作でLM35D使ってみたんですが気圧も測りたくて、調べたら温度、湿度と気圧3つ測定できるのBME280を選びました。 繋げるとこういう感じでした。 MH-Z19はUARTとPWM両方できます、今回は簡単なUARTでTXとRXを繋げます。 BME280はI2Cで繋げるので、ArduinoのA5(SCL)とA4(SDA)を繋げます。 Arduinoソース MH-Z19は普通にSerial 9600bandから読めます。 使い方はネットでダウンロードできますが、簡単に説明すると、9 byteコマンド送って、レスポンスが戻ってきます。 0x86はreadコマンドで、戻るときも確認用のため0x86も一緒に返します。 例です

BME280の場合もうできてあるライブラリがあって、ここでダウンロードできます。 http://static.cactus.io/downloads/library/bme280/cactus_io_BME280_I2C.zip 細かく説明はこちらになります。 http://cactus.io/hookups/sensors/barometric/bme280/hookup-arduino-to-bme280-barometric-pressure-sensor

両方組み合わせでサーバーに送るソースはこれです。

サーバーサイドでd3.jsと組み合わせ、こういう風にみえます。

デザイン

【フィッツの法則】押しやすい、クリックしやすいボタンの公式

フィッツの法則

押しやすいボタンの条件とは? 押しやすいボタン、クリックされやすいボタンには理由があります。 ボタンの色や形、フォント、大きさ、位置など、さまざまな条件がありますが、 今回は数学公式に基づいて、押しやすいボタンを研究してみます!! まずは押しやすいボタンの公式が数十年も前からあるのですが、 (実際にはボタン用ではありませんが。) フィッツの法則を学ぶところから。 フィッツの法則 ここで、 「T」は動作完了までの時間、つまり、ボタンをクリックしようとしてマウスを動かしてクリック完了までの時間です。 「a」はマウスの開始・停止位置です。今のところは便宜上これは考えなくてOK。 「b」は速度。マウスの速度です。 「D」はマウスの位置からボタンまでの距離を表します。 「W」は動きの方向に測ったボタンの幅、もしくは奥行きです。 もちろんlogは大丈夫ですよね? logは( )内が大きければ、その値も大きくなります。 ここで底の2は考えなくてOK。 もう少し分かりやすく言うと ボタンをクリックするまでにかかる時間は、 1. 今いるマウスの位置からボタンが離れているほど時間がかかる 2. マウスの動かし方が速いほど時間がかかる 3. ボタンの幅(奥行き)が大きいほど時間が短くなる 例として、こんな場合 仮に 1. 下から上に向かって 2. 右から左に向かって ボタンをクリックしようとすると、 上に向けた方の場合、目的のボタンの奥行きがせまく、 横向きの場合、目的のボタンの奥行きが広いことがわかります。 つまり、目的のボタン上でぴったりマウスを止めるには、このボタンの場合、 横にマウスを動かしたほうが、クリックまでにかかる時間が短いことがわかります。 ボタンがテキストリンクだったら テキストリンクの場合、ボタンリンクよりもさらに奥行きがせまくなり、 クリックまでに時間がかかることがわかります。 さらに文字の小さなテキストリンクなら、さらにクリックが難しくなり、 ユーザーがイラッとする原因にもなり、ページ離脱へとつながることも。 数学的に押しやすいボタンのまとめ (ユーザーがマウスを動かすスピードはコントロールできないものとして、) 目的のボタンの大きさはほどよい大きさで、 細長すぎるボタンもNG。 そしてボタンまでの距離(Webでは余白ですね)もあけすぎず。