電子ペーパー名札をつくってみた
はじめまして、ねたか (netaka) です。この記事はmohikanz Advent Calendar 2018の13日目です。12日目は、azukinohirokiさんのAndroidでP2PやるならNearbyを使おう - Qiitaでした。あした14日目はgodan09さんです。
TL;DR
こんな感じの電子ペーパーの名札をつくりました。
#電子ペーパー名札 pic.twitter.com/ySWcB9PHhv
— ねたか (@netaka) December 12, 2018
- 解像度は400x300です。
- 黒だけじゃなく赤も表示可能です。
- Raspberry Pi Zero Wで動いてます。
- ちゃんと首掛けできます。
- おもさは130gぐらい。
- 綺麗な字の名札が作れます1。
どんな電子ペーパー?
購入したのはWaveshareというブランドの4.2inchの電子ペーパーです。解像度は400×300で、赤黒白と3色表示ができます。
400×300, 4.2inch E-Ink raw display, three-color, SPI interface, without PCB | WFT0420CZ15
リンク先は電子ペーパーディスプレイのモジュールだけです。Raspberry Pi Zero Wと接続したかったので、追加でe-Paper HAT2も必要でした。
Universal e-Paper Driver HAT, supports various Waveshare SPI e-Paper raw panels
注文してみるとディスプレイ、HAT、送料込みで$40.48でした。2018/2/6に支払いをして、2/14には届きました3。
デモを動かす
ソフトウェアの準備
このディスプレイモジュールのWikiがあるのでさらっと一読しておきます。デモコードがあるので、さっそく動かしてみます。
4.2inch e-Paper Module (B) – Waveshare Wiki
Pythonでディスプレイを制御したかったので、まずPython用に必要なライブラリをいれます。詳細はWikiに記載されています。
https://www.waveshare.com/wiki/Pioneer600#Install_Python_Library
あと忘れずにデモコードもダウンロードしておきましょう。
https://www.waveshare.com/wiki/File:4.2inch-e-paper-module-b-code.7z
ハードウェアの準備
e-Paper HATはRaspberry Piのピンとぴったし接続できるようになってます。その他、ディスプレイとHATをフラットケーブルで接続します。Raspberry Pi Zero Wへの給電も忘れずに。
動作確認
動かしてみましょう。デモコードの7zファイルを展開するとmain.py
ファイルが見つかると思います。
pi@raspberrypi:~/demo/RaspberryPi/python2 $ sudo python main.py
うまくいくとこんな感じです。Waveshareのロゴが出てきます。
もし、「フォントがない」と怒られたら、適当なものに変えてみてください。
参考: RaspberryPiによる電子ペーパーの制御 – Isaax Camp
font = ImageFont.truetype('/opt/vc/src/hello_pi/hello_font/Vera.ttf', 24)
名札っぽくしよう
デモも動いたので名札っぽく自分の名前を表示してみましょう。せっかくの3色の電子ペーパーなので、黒色だけでなく赤色も用意します。黒色用と赤色用の2枚のBitmapファイルを用意します。今回は自分の名前と普段使ってるアイコンを組み合わせます。
赤色用画像だけど、黒白のモノクロBitmapファイルを用意してください。
Because this module can only display two gray level (Only black and white), we need to convert picture to monochrome bitmap before converting it to array. That is, File --> BMP picture --> Monochrome Bitmap.
市販の名札ケースへ逆さに入れると、こんな感じになります。これだけで名前だけでなくアイコンも表示できてオフ会とかで便利4そうです。
携帯性をよくする
上の写真はモバイルバッテリーでRaspberry Piへ給電してたりしたのでUSBケーブルが見えてます。Raspberry Pi Zero Wへの取り付けもマスキングテープを裏で貼っつけてたりしているので外れやすいし見栄えも良くないです。
9V形の乾電池で給電できるようにします5。あと逸般の誤家庭にある買ってから埃かぶってた3Dプリンターで適当なケースを適当に作ります。あとはこのケースとディスプレイモジュールをうまい具合に固定します。
そして、完成したのがTL;DRの動画です。はじめにもどる
おまけ
書き換わるのが遅くない?
そういうものらしいです。黒白2色なら4秒っぽいです。
Note: The refresh rate of this module is slow, and it will flicker for several times during refreshing (about 15s). Please be patient.
どこかでみたことある?
後で知ったんですが、なんか似たようなことをしている方がいました!たーのしー!
海外通販はちょっと
千石電商オンラインショップで取り扱ってるようです!