「eペーパー」タグアーカイブ

電子ペーパーと Blynk でリモートメモ帳

すき 0
0

先日DFRobot様より提供いただいた電子ペーパーモジュールで Blynkでユビキタス(いまでも使われているのこの言葉?)に書き込めるメモ帳をこしらえてみました。動作は一番下に動画リンクしていますー

構成

電子ペーパーモジュールをFirebeetle ESP32に載せてスマホアプリBlynkでテキストを書き込んで電子ペーパーに表示させます。

部品

国内ですと以下で手に入ります。

FireBeetle ESP32 IOTマイクロコントローラ
価格:2841円(税込、送料別) (2018/11/10時点)

楽天で購入

Blynk設定

スマホとFireBeetle ESP32 IoTマイコンボードはスマホアプリのBlynkを用いてWiFi通信させます。Blynkアプリのバージョンは2.27.1。

 

新規プロジェクトを作成します。HARDWRE MODELはESP32 Dev Boardを選択。CONNECTION TYPEはWiFiを選択。AUTH TOKENはArduinoコード生成時に使用します(メールで送信されます)。
 

Text Inputウィジェットを4つ配置します。それぞれ出力をヴァーチャルピンV1〜V4にしました。
 

電子ペーパーモジュール書き込み内容をBlynkアプリのText Inputウィジェットへ読み込む際のReadボタンも配置します(ヴァーチャルピンV0)。
 

上図のようにText Inputウィジェットを4つ、Read用ボタンを1つ配置しています。

Arduino IDEコード

FireBeetle ESP32 IoTマイコンのArduino用ファームウェアはFireBeetle-ESP32 Mainboardのバージョン0.0.7を使用します。

電子モジュール用ライブラリとして以下を使用します。字表示は中国語と英語のみサポート(2018年12月)。

詳細は以下のブログも参照ください。

DFRobot FireBeetle ESP32 IoTマイコンの設定方法

更にBlynk用ライブラリも使用します。バージョンは0.5.4。
 https://github.com/blynkkk/blynk-library

[スケッチの例] -> [Blynk] -> [Boards_WiFi]-> [ESP32_WiFi]を参考にコード生成しました。

 

動作

Text Inputウィジェットに文字入力するたびに電子ペーパーモジュールに内容が表示されています。またReadボタンタップで書き込んだ内容がText Inputウィジェットに読み込まれます。

買い物リストとか付箋に書いといたりするんだけど、いざ買い物のときに付箋家に忘れたりスマホのメモだと家族と共有しにくいので、こんな感じでリモートで読み書きできるメモディスプレイは便利ですね。電子ペーパだと低消費電力ですし。

電子ペーパー モジュールを使ってみた

0
0

DFRobot様より提供いただいた電子ペーパー モジュールを使ってみました。オリジナルの絵を表示したりできたので報告します!

FireBeetle Covers-ePaper Black&White Display Module

解像度250✕122ピクセル、2.13 インチの白黒2色の電子ペーパーモジュールでDFRobot社のFirebeetleシリーズのマイコン(Firebeetle ESP32もしくはFirebeetle ESP8266)に搭載して使用します。マイコンとディスプレイモジュールのインターフェイスはSPIです。

GT30L24A3Wというフォントチップが搭載されており各言語のフォントが使用できますが、後ほど紹介するコードライブラリは現状(2018年11月) 中国語と英語のみサポートしています。

オフィシャルショップは以下

スイッチサイエンスでもお取り寄せ購入できるようです。3,589円。

ここではFirebeetle ESP32マイコンに載っけて使用しました。Firebeetle ESP32については以下参照ください。

DFRobot FireBeetle ESP32 IoTマイコンの設定方法

 

 

Arduinoプログラミング

電子ペーパーモジュールをFirebeetle ESP32に載せてArduinoでコーディングしてディスプレ表示します。

使用ライブラリ

以下の2つのArduinoライブラリを使用します。文字表示は中国語と英語のみサポート(2018年11月)。

サンプルコード

サンプルコードで絵を表示してみます。DFRobot_ePaper Libraryの以下のサンプルを書き込みました。

https://github.com/DFRobot/DFRobot_ePaper/blob/master/examples/DFRobot_Twocolor_IL3895_SPI/PictureDemo/PictureDemo.ino

以下のように2種の画像が交互に表示されるコードです。電源を切っても表示を保持します。まさに紙!印刷してるみたいでおもしろい。


 

文字表示ができない。。。。  (解決済み)

現在調査中ですが、なぜか文字表示ができないんです。。手元のボードに現謂があるのか、コードに問題があるのか。。判明次第ご報告させていただきます!

図形と文字を出す以下のサンプルコードを書き込むと

https://github.com/DFRobot/DFRobot_ePaper/blob/master/examples/DFRobot_Twocolor_IL3895_SPI/FigureDemo/FigureDemo.ino

下の写真のように図形と英語(SPI)と漢字が表示されるはずなのですが、

手元の基板では図形しか表示されないのです。。。文字だけを表示するコードを書き込んでも何も表示されず。。要調査します!

文字表示エラー解決!(追記 2018/11/30)

DFRobotのエンジニアの方に解決方法教えてもらいました!Firebeetle ESP32のファームウェア最新版(バージョン0.0.8)にエラーがあったようです。。。

Arduino IDE の [Board Manager] 内 ”FireBeetle-ESP32 Mainboard”のバージョン”0.0.7″を選択し[Install]をクリック

で解決!漢字と英語が表示できます!


 

ライブラリ改修で解決!(追記 2019/1/27)

Firebeetle ESP32のファームウェアが0.0.9にバージョンアップされており、電子ペーパー モジュール文字表示も問題ないこと確認できました!!

 

 

オリジナル画像を表示させる

以下の250✕122ピクセルの画像を表示させてみます。

画像のバイト配列生成

mage2cppというツールで画像データからバイト配列を生成しました。
 http://javl.github.io/image2cpp/

  • 絵の下処理
    表示の際に正確な向きにするために元画像を回転させて、上下反転します。


     

  • mage2cppを起動して回転反転した画像を選択します。

 

  • Code output format を”Arduino code”にして”Generate code”をクリックで画像のバイト配列を生成します。

Arduinoコード

前出の絵を出すサンプルコードを参考にプログラミングしました。

配列 pic1にはmage2cppで生成した画像のバイト配列を貼り付けます。

書き込み結果

書き込み後にマイコンから取り外しています。印刷したような品質で不思議な感覚です♪

おわりに

文字出力できないのは原因調査必要ですが、絵は出せたので今後応用考えたいです。

電子ペーパーディスプレイ面白いですね。だいぶ昔にKindleで見たことあったけど自分でコード書き込んで表示させたときの感動はひとしおですwww

現物からは液晶とも紙印刷とも違う不思議な印象を受けます。

 

参考