99円液晶の正しい使い方

Aitendoで99円で販売されている液晶を使って前日の電気の使用量を表示するモジュールを作ってみました。

なぜこの液晶で作ってみたかったかというと、kWhという表示があったからです。おそらくなんらか電力に関係した製品で使われるはずだった部品と思われます。kWhの他にAやVやMD(?)といった表示もできるようです。

# コントラストの調整

この液晶はコントラストの調整が固定になっていて、非常に見にくかったのでネットで見つけたページを参考にコントラスト調整の半固定抵抗を付けてみました。R1の抵抗を外し手持ちの20K半固定を足を切りエポキシ接着剤で基板に貼付け、そこにジャンパーを張りました。ついでにパスコンも付けてみました。

![コントラスト.jpg](https://qiita-image-store.s3.amazonaws.com/0/104066/43ee013f-4cc5-4384-1e38-e8d0825f40e8.jpeg)


これで調整すると正面から見ても表示が見えるようになりましたが、その状態でちょっと斜めから見ると見えなくなります。99円なのでしかたがないかもしれませんね。

# APIの用意

スマートメーターからは以前に書いたmrubyのスクリプトで、FreeBSD上で5分置きにメーターの値を取得して[ログファイル](http://qiita.com/yamori813/items/27a2d311318ae3bb9901)に落としています。

このログファイルをパースして過去7日分の消費電力を返すcgiをmrubyで作ってみました。ログファイルにアクセスするためにmruby-ioを使い、httpサーバはshttpdを使いました。

```
bash-3.2$ curl "http://10.0.1.18/last.cgi"
date,kwh
1205,3.6
1204,4.5
1203,3.6
1202,3.7
1201,2.9
1130,2.5
1129,2.2
```

当初はcgiにしていましたが、処理に10秒くらいかかるので、深夜に同じ処理をcronで動かして、ファイルに落としておくようにしました。

通信状況などによりデータが拾えない時があるので、データが欠損してもエラーにならないように処理を作る必要があります。

返すデータを14日にしたら落ちるようになって、調べてみたら固定の配列にデータを入れているのが原因でした。^ ^;

# ESP-WROOM-02で開発

このデータをESP-WROOM-02から取得して99円液晶に表示するようにしてみました。実は以前この液晶を[FreeBSDで直接コントロールを試みた](http://qiita.com/yamori813/items/59b6caf21cfe63073dec)のですがうまくいかなかったので、方針転換してESP-WROOM-02を使う事にしました。

ESP-WROOM-02のプログラムの[開発はplatformio](http://qiita.com/yamori813/items/009355472035ec6397c5)でおこないました。使用したライブラリはHttpClientです。液晶コントロール用のHT1621のコードはArudinoで使っていたファイルを利用して、まったく修正無しで大丈夫でした。

![写真（2016-12-06 11.02） #2.jpg](https://qiita-image-store.s3.amazonaws.com/0/104066/17f13920-94e5-11b9-28e9-ff403fcf222a.jpeg)

![おうちAC2016.png](https://qiita-image-store.s3.amazonaws.com/0/104066/4acbc414-4594-a15a-ef34-e51ec6e97ccd.png)


GPIO0のスイッチで過去のデータを切り替えて表示できるようにしました。

せっかく普通の数値を7桁も表示できるので、NTPClientというライブラリを使って時計の表示もできるようにしてみました。

![写真（2016-12-06 11.01）.jpg](https://qiita-image-store.s3.amazonaws.com/0/104066/3797c1d4-46d8-6e55-1c23-0b3142c69400.jpeg)

数字が縦長で数字の間も狭く時計としてはちょっと見にくいです。

この液晶は表示だけだと1mA以下で、バックライトが28mAくらいと消費電力のほとんどをしめているので、ESP-WROOM-02のGPIO5でバックライトのON/OFFをコントロールできるようにしてみました。

![IMGP0149.JPG](https://qiita-image-store.s3.amazonaws.com/0/104066/2e064e5f-e4ed-b44d-2db2-e03631cce14b.jpeg)

今度秋葉原に行ったときにでもCdSセルを買ってきて明るさでON/OFFできるようにしたいと思っています。

５Vから3.3Vへの電源モジュールはMP1410というDC DC変換チップをジャンクルータからはがして作ってみました。

ESP-WROOM-02は使い始めはかなり苦労しましたが、使えるようになるとネットワークアクセスが簡単にでき非常に便利です。IPが話せるマイコンが1K以下で入手できるとはほんとよい時代になったものです。

先日実家に帰ったときに中学生時代に買った「続・マイコン実験と工作」という本を眺めていたところ、その中に「電力使用量デマンド監視装置の実験」って章がありました。40年近くも前の話ですが、あまり変わってないと見るべきか、手軽にできるようになって変わったと考えるべきなのか、どうなんでしょうか。

# 節電

自分が実戦している節電メソッドは以下のような事があります。

* 古いFreeBSDのPC(Athron64)は100W以上の消費になるのでできるだけ使わないようにして、使うときだけ電源を入れている
* Microserverは50Wくらいだが利用するときだけ電源を入れて連続運転はしない
* 連続運転する機器はの最小限にする
* Mac mini 2010を使い夏は熱暴走するMacBook Air originalはできるだけ使わない
* ネットワークも用途別にして、利用しない機材は個別に電源を切る
* タップのスイッチで使っていない機器は電源を切る
* 夏はAB級のアンプを使う
* 利用頻度の多い照明はLED電球導入し白熱電球はできるだけ減らしていく
* 寝てる間はルーターやケーブルテレビのモデムやブースターの電源を切る
* 炊飯器は使うときだけコンセントをつなぐ
* 人感センサーの照明も日中は電源を切る
* 玄関の自動点灯の照明は点灯時間を短縮
* 複数の蛍光灯は本数を減らす
* 照明のカバーを外して効率を上げる
* 電子レンジかガスで調理できる冷食はできるだけガスで調理
* 冷食で解凍するときには自然解凍し、電子レンジでの解凍はしない
* 冷蔵庫は中にする
* 冷蔵庫の周りにスペースを作り風通しを良くする
* 暑い時期は涼しい部屋にいて。寒い時期は日の当たる暖かい部屋で過ごす
* 夏はできるだけ通気をよくする
* 冬は暖かい衣類を着用し、夏は涼しい格好をする
* エアコンやオイルヒーターは使わない
* 洗濯物は晴れた日におこない乾燥機は使わない
* こたつを使う

暑かった頃の日々のログデータを見ていると、就寝中の6時間の消費が1日の1/2近くになっていることもありました。これは古い冷蔵庫を使っているためで、節電にはおそらく冷蔵庫の買い替えが一番効果ありそうですが、できるだけお金をかけないでできる事を考えています。

[古い冷蔵庫と新しい冷蔵庫の比較](http://chocobit.jp/wp/minitec/wattcheck)をされている方がいました。実際に確認されたとの事で素晴らしいです。

電気工作などの節電を考えてみました。[カレントを考える](https://qiita.com/yamori813/items/27d00a50ac483e6793bc)

# 最後に

以前はときどきログを落としているサーバに入ってスクリプトを実行して確認していたのですが、このモジュールを作って毎日朝一で確認できるようになり非常に便利です。

電力会社の検針の1ヶ月分の使用量ではアクションにつながりにくく、季節変動が大きいので、このように日々の使用量が分かるようにする事で、節電意識が高まるのではないかと考えています。

あ、今年一年おうち警備隊だったんですが、おうちでできるお仕事ありませんか？


# 追記

上記はBルートといわれる、スマートメーターのデータを家庭内から取得する方法だったが、東京電力が取得しているAルートのデータは「[でんき家計簿](https://www.kakeibo.tepco.co.jp/)」内で確認が可能だった。

![スクリーンショット（2017-03-20 9.08.30）.png](https://qiita-image-store.s3.amazonaws.com/0/104066/cb9cd216-cb4c-afa7-ca79-5da10a78d920.png)

この機能には2017/3現在以下の問題がある。

* 日々の使用量が数値で確認できない
* 前日のデーターの反映が午後になる
* ナビゲーションが前日、翌日しかなく使いにくい
* 30分単位のでグラフより1時間単位の方が良いのでは？

グラフで確認できる事も良いと思うが、数字での表示も効果があると思うので、今後改善される事を期待したい。