電子ペーパー使用メモ(7.5inch、e-paper、w880 h528)
●DPZの記事
電子ペーパーを額装して飾るとやたらカッコいい / デイリーポータルZ
https://dailyportalz.jp/kiji/e_paper-gakusou
これは、真似したい。ということで。真似しました。
●使用e-paper は、aliexpressで、約6000円。
https://ja.aliexpress.com/item/32909431252.html?spm=a2g0s.12269583.0.0.202fa602hf6BrZ
幅(w880) x 高さ(h528)の、白・黒・赤版を購入(発注から18日で到着)
●waveshare社の公式ページはこちら
https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT
●マニュアルはこちら
https://www.waveshare.com/w/upload/7/74/7.5inch-e-paper-hat-user-manual-en.pdf
●サンプルコード
https://github.com/waveshare/e-Paper
作業経緯メモ
1) 公式ページにも、Arduinoの記載があり、サンプルコードもあることから Arduinoが楽ちんと思って、試みるも、さっぱりうまく行かず。断念。
2) ラズパイで再挑戦。
先人のページも、参照。GPIOの接続方法も非常に参考になった。(わかってしまえば、マニュアルに書いてあるとおりだが、ありがたかった。)
https://qiita.com/jp_yen/items/98d92aad45bac80d7d1a
3) サンプルコードの ディレクトリRaspberryPi以下 を実機に移す
マニュアル(PDF)どおり、以下を実施
sudo cp -r /boot/RaspberryPi/ ./
sudo chmod 777 -R RaspberryPi/
毎回、/boot/から、/home/pi/に移した
4)
マニュアルどおり、BCM2835 LIBRARY を展開
sudo tar zxvf bcm2835-1.xx.tar.gz
結果からいうと、不要だった模様
(特に、インストール作業をしていない、WIRINGPI LIBRARYで動いていた様子)
5)
~/RaspberryPi/
から
sudo ./epd
で、サンプルコードが、無事実施される。
EPD_7in5b_HD_test
が、選択されて実施されていた。
(#事後感想、ハードウェアの規格が勝手に選択されていた(?)ので、ここで、結局勘違いしてしまっていた。)
6)
~/RaspberryPi/c/examples/EPD_7in5b_HD_test.c
を修正し、
sudo make clean
sudo make
sudo ./epd
を実施。が、何も起こらない。
(ここで、ハマった。readme_EN.txtを読むに、「main.c」の対象を、コメントを外せ、と書いてあった。読んでなかった。反省。
3. Basic use:
Since this project is a comprehensive project, you may need to read the following for use:
You can see the 19 functions that have been annotated in lines 19 through 43 of main.c.
Please note which ink screen you purchased.
Chestnut 1:
If you purchased 5.83inch e-paper, then you should remove the comment for the corresponding 39 lines of code, ie:
// EPD_5in83_test();
changed to:
EPD_5in83_test();
main.c の // EPD_7in5b_HD_test(); を外して、再度したところ、無事、実機に反映された。)
7)
表示画像は、
~/RaspberryPi/c/pic/7in5B_HD_b.bmp
を参考に作成。
幅width880 高さheight528の、モノクロ二値画像を作成すればよい。
(ファイアアルパカだと、モノクロ二値画像の作り方がわからなかった。)
GIMPをインストール。
メニューから、 画像>モード>インデックス>カラーマップ
から
Use black and white (1-bit) palette
を選択
(ディザリングは適宜)
8)出来上がり
9)ピン(GPIO)
VCC -> 3.3
GND -> GND
DIN -> 10(SPI0_MOSI)
CLK -> 11(SPI0_SCK)
CS -> 8(SPI0_CS0)
DC -> 25
RST -> 17
BUSY -> 24
10)ソース
(抜粋)
Paint_SelectImage(BlackImage);
Paint_Clear(WHITE);
GUI_ReadBmp("./pic/ep.bmp", 0, 0);
Paint_SelectImage(RYImage);
Paint_Clear(WHITE);
//GUI_ReadBmp("./pic/hoge.bmp", 0, 0);
EPD_7IN5B_HD_Display(BlackImage, RYImage);
DEV_Delay_ms(1000);
//printf("Clear...\r\n");
//EPD_7IN5B_HD_Clear();
printf("Goto Sleep...\r\n");
EPD_7IN5B_HD_Sleep();
11) (おまけ) 3色画像の作り方
本e-paperは、赤、白、黒の3色表示ができるが、
赤、黒、の表示には、それぞれの色で、モノクロ二値画像を作る必要がある。
(黒用の二値画像と、赤用の二値画像が必要。)
以下 GIMP での、画像の作成方法(一例)
・赤と白と黒の3色の自作パレットを予め作成しておく
・元画像を、GIMPで、
メニュー>画像>モード>インデクス から 自作3色パレットに変更
・メニュー>色>カラーマッピング>Color Exchangeで、
‐ 画像(黒用) 赤を白に変える ・・・黒部分が黒の画像
‐ 画像(赤用) 黒を白に変える、赤を黒に変える ・・・赤部分が黒の画像
・それぞれの画像を、
メニュー>画像>モード>インデックス>カラーマップ
から
Use black and white (1-bit) palette
で、二値画像として、別々に保存。
・保存は、メニュー>ファイル>Export As >Windows BMP

以上