Skip to main content

小型 e-Paper シールド V2

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

e-paper(電子ペーパー)は、最も快適に読める素材の一つかもしれません。光を発するのではなく反射することで、従来の紙を読む体験を模倣します。この方法により、消費電力が大幅に削減されます。小型 e-paper シールドは、小型サイズの e-paper 用のドライバーシールドです。1.44インチ、2.0インチ、2.7インチの e-paper を駆動することができ、170以上の言語をサポートしています。このシールドの上面は平らで清潔に保たれており、取り付けられた e-paper をしっかりとサポートします。軽量で読みやすいディスプレイをお探しなら、e-paper は良い選択肢です。

注意: このドライバーボードは異なるサイズの e-paper をサポートしているため、e-paper はこの製品には含まれていません。2.0インチと2.7インチの e-paper を同時に販売していますので、最適なものをカートに追加してください!

ライブラリの選択

正しいライブラリを選択するには、パネルのバージョンを確認する必要があります。

パネルのラベルに注意してください:

  • モデル名が「EG020AS012」または「EM027AS011」の場合、旧ライブラリを選択してください。こちらをクリックしてください:Small e-Paper Library

  • モデル名が「EG020BS011」または「EM027BS013」の場合、新しいライブラリを選択してください。こちらをクリックしてください:New Panel Library【EPD_V230】

仕様


対応ボード: Arduino Uno/Leonardo/Arduino Mega/Linkit ONE

動作電圧: 3.3/5VDC

動作電流(画面更新時): 40mA

インターフェースタイプ: SPI

Arduino の PIN
Arduino E-paper
D2 M_EPD_PANEL_ON
D3 M_EPD_BORDER
D4 M_/SD_CS
D5 M_EPD_PWM
D6 M_EPD_/RESET
D7 M_EPD_BUSY
D8 M_EPD_DISCHARGE
D9 M_/WORD_STOCK_CS
D10 M_/EPD_CS
ICSP PORT M_MOSI , M_SCK , M_MISO
A0 M_TEMP_SEN
A1 M_OE123
A2 M_CKV
A3 M_STV_IN
3.3V M_VCC_3V3
5V M_VCC_5V

デモンストレーション


Small e-Paper Shieldは、画像、さまざまなグラフィック、テキストを表示することができます。ライブラリには、このモジュールの使用方法についてのアイデアを提供する多くの例が含まれています。それでは、e-Paperの強力なライブラリと広い視野角を体験してみましょう。

ハードウェアのインストール

  • e-PaperをSmall e-Paper ShieldのFFCインターフェースに接続します。
  • Small e-Paper ShieldをArduino/Seeeduinoに差し込み、USBケーブルを使用してPCに接続します。

次に、ライブラリを使用してデモを表示します。このライブラリはこちらからダウンロードする必要があります。ダウンロード後、Arduino IDEのライブラリフォルダに配置してください。パスは次のようになります:...\arduino-1.0.1\libraries。

デモの表示

ここでは、2.0インチの画面を例にとり、その表示機能を紹介します。

デモ1: テキストの表示

  • 次のコードを開きます:File- >Examples- >ePaper->text(以下の画像を参照)。

この注意点を再度強調します:
Arduino UNO、Seeeduino 3.0、またはAtmega 328PやAtmega32U4をコントローラーとして使用するボードを使用する場合、このデモを実行するにはSDカードを挿入する必要があります。これは、Atmega328pおよびAtmega32U4のストレージ容量が少ないため、一時データを保存するためにSDカードが必要だからです。
Arduino MegaやAtmega1280、Atmega2560を使用する場合は、SDカードを挿入する必要はありません。
  • 画面サイズに合わせてパラメータを変更します。画面が2.7インチの場合、200を270に変更する必要があります。他の例を使用する場合も、この変更を行う必要があります。
#define SCREEN_SIZE 200 // 画面サイズを選択:144, 200, 270
  • コードをマイクロコントローラーにアップロードします。アップロード方法がわからない場合はこちらをクリックしてください。

  • 次のように表示されます:

  • 表示テキストや表示位置を変更してみてください。各関数の使用方法を学ぶことができます。

デモ2: グラフィックの表示

例:draw は、さまざまなグラフィックを表示するのに適した例です。このコード:draw をデモ1と同様に開きます。SDカードが必要かどうかについての注意点を忘れないでください。使用するマイクロコントローラーの種類に応じて、SDカードが必要かどうかを確認してください。そして、画面サイズに合わせてパラメータを変更します。

変更とコードのアップロードが完了すると、美しいパターンが画面に表示されます:

この画像は、描画グラフィック関数を呼び出すことで作成されています。独自のパターンを作成して画面で試してみてください。各描画関数には、リファレンスに具体的な説明があります。

デモ3: 画像の表示

TFTディスプレイやOLEDディスプレイと同様に、Small e-Paper Shieldは画像の表示をサポートしています。

次に、画像の例を開きます:File- >Examples- >ePaper->image。

コードをアップロードして結果を確認してください。

注意:ご覧の通り、この「image」スケッチのデフォルト画面サイズは2.7インチに設定されています。不適切な表示を防ぐために、画面サイズの設定を変更してください。

  #define SCREEN_SIZE 200         // ここで画面サイズを選択:144, 200, 270 

もちろん、画像のラティスデータを変更することで表示画像を変更できます。

例えば、e-Paper画面が2.7インチの場合、264 X 176ピクセルのラティスデータを取得し、そのコードを‘’’static unsigned char image_270[] PROGMEM ={}’’’にコピーします。2.0インチ画面を使用する場合は、200x96ピクセルのラティスデータを‘’’static unsigned char image_200[] PROGMEM ={}’’’にコピーする必要があります。

画像を表示する方法

Muchiri Johnの貢献により、非常に便利で使いやすいツールを手に入れることができました。このツールを使用すれば、画像を表示することが簡単になります。

ツールはこちらからダウンロードできます。

参照


Small e-Paperライブラリは、e-Paperディスプレイの機能を活用するための完全なソフトウェアインターフェースを提供します。以下に関数の具体的な説明があります。

関数の説明

1. void begin(EPD_size sz);

この関数は画面サイズを設定します。

  • sz: EPD_1_44, EPD_2_0, EPD_2_7のいずれかを指定できます。
2. void setDirection(EPD_DIR dir);

この関数は表示方向を設定するために使用されます。

  • dir: DIRLEFT, DIRRIGHT, DIRNORMAL, DIRDOWNのいずれかを指定できます。
3. int drawChar(char c, int x, int y);

この関数は文字を表示するために使用されます。

  • c: 表示したい文字。
  • x: 文字の開始X座標。
  • y: 文字の開始Y座標。
4. int drawString(char *string, int poX, int poY);

この関数は文字列を表示するために使用されます。

  • *string: 表示したい文字列。
  • poX: 文字列の開始X座標。
  • poY: 文字列の開始Y座標。
5. int drawNumber(long long_num, int poX, int poY);

この関数は数値を表示するために使用されます。

  • long_num: 表示したい長整数データ。最大値は以下の通り。
  • poX: データの開始X座標。
  • poY: データの開始Y座標。
6. int drawFloat(float floatNumber, int decimal, int poX, int poY);

この関数は浮動小数点数を表示するために使用されます。表示される浮動小数点データは、設定された小数点以下の桁数に基づいて四捨五入されます。

  • floatNumber: 表示したい浮動小数点数。
  • decimal: 小数点以下の桁数を設定。
  • poX: データの開始X座標。
  • poY: データの開始Y座標。
7. int drawUnicode(unsigned int uniCode, int x, int y);

この関数はUnicodeを使用して文字または中国語を表示するために使用されます。GT20L16P1Yデータシートの18~24ページを参照して、文字のUnicodeを確認してください。文字にはラテン文字、ヘブライ文字、タイ文字、ギリシャ文字、キリル文字、アラビア文字が含まれます。中国語のUnicodeはGB2312(簡体字中国語)文字コード表を参照してください。

  • uniCode: 文字または中国語に対応する機械コード。
  • x: 開始X座標。
  • y: 開始Y座標。

注意: Unicodeが0x0020から0x007Eの範囲内の文字は、キーボードから直接入力できます。例えば、文字「G」を表示する場合、drawUnicode(0x0047, 3, 10)またはdisplayChar('s', 3, 10)を使用できます。

8. int drawUnicodeString(unsigned int *uniCode, int len, int x, int y);

この関数は複数の文字や中国語を表示するために使用されます。

  • *uniCode: Unicode配列。
  • len: 文字列の長さ。
  • x: 文字列の開始X座標。
  • y: 文字列の開始Y座標。
9. void drawLine(int x0, int y0, int x1, int y1);

この関数は線を表示するために使用されます。

  • x0: 線の開始X座標。
  • y0: 線の開始Y座標。
  • x1: 線の終了X座標。
  • y1: 線の終了Y座標。
10. void drawCircle(int poX, int poY, int r);

この関数は円を描画するために使用されます。

  • poX: 中心のX座標。
  • poY: 中心のY座標。
  • r: 半径。
11. void drawHorizontalLine(int poX, int poY, int len);

この関数は水平線を描画するために使用されます。

  • poX: 線の開始X座標。
  • poY: 線の開始Y座標。
  • len: 線の長さ。
12. void drawVerticalLine(int poX, int poY, int len);

この関数は垂直線を描画するために使用されます。

  • poX: 線の開始X座標。
  • poY: 線の開始Y座標。
  • len: 線の長さ。
13. void drawRectangle(int poX, int poY, int len, int width);

この関数は長方形を描画するために使用されます。

  • poX: 長方形の開始X座標。
  • poY: 長方形の開始Y座標。
  • len: 長方形の長さ。
  • width: 長方形の幅。
14. void fillRectangle(int poX, int poY, int len, int width);

この関数は塗りつぶされた長方形を描画するために使用されます。

  • poX: 長方形の開始X座標。
  • poY: 長方形の開始Y座標。
  • len: 長方形の長さ。
  • width: 長方形の幅。
15. void fillCircle(int poX, int poY, int r);

この関数は塗りつぶされた円を描画するために使用されます。

  • poX: 中心のX座標。
  • poY: 中心のY座標。
  • r: 半径。

例:

    EPAPER.drawRectangle(10, 10, 100, 80);
EPAPER.fillCircle(50, 50, 30);
EPAPER.fillRectangle(50, 65, 50, 20);
EPAPER.drawCircle(150, 50, 10);
EPAPER.fillCircle(150, 50, 5);
EPAPER.drawHorizontalLine(120, 50, 60);
EPAPER.drawVerticalLine(150, 20, 60);
16. void drawTraingle(int poX1, int poY1, int poX2, int poY2, int poX3, int poY3);

この関数は三角形を描画するために使用されます。三角形は3つの点で構成されます。

  • poX1(poX2, poX3): 三角形の各点のX座標。
  • poY1(poY2, poY3): 三角形の各点のY座標。

回路図オンラインビューア

リソース


技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...