この記事はShiftallのプロジェクトに関わるメンバーが日替わりでブログを更新していくアドベントカレンダー企画の5日目です。その他の記事はこちらのリンクからご覧下さい。
アドベントカレンダー2019
https://blog.shiftall.net/ja/archives/tag/adventcalendar2019/
ごきげんよう、Shiftall電気エンジニアのなるみです。
数年前から趣味の一環で、夫と二人でアナログゲームを製作し販売しています。先日行われたゲームマーケット2019秋にも参加していました。
今回はそこで使用した『電子ペーパーを使用した値札』の作り方について書いていこうと思います。アナログゲームは関係ないです。
あと長いので自分が読みたい箇所から読むといいかと思います。初心者で初めてラズパイ触る場合は初めからやっていきましょう!
用意するもの
- Raspberry Pi 3 B
- Raspberry pi で使用するキーボード、マウス、モニタ
- microSDカード(今回は16GBを用意)
- 電子ペーパー
- 電子ペーパー書き込み器
Raspberry PiのVer.は何でも行けるかもしれませんが、今買うなら3Bか、3B+でいいと思います。もちろん4でも。手持ちであるならそれを使えば良いと思います。
電子ペーパーはみんな大好きAliExpressで購入しました。こちらです。
秋葉原では千石電子で購入できますので、アリエクはちょっと……という方はそちらをご利用ください。その際、『WaveShare』というメーカのものを購入しましょう。今回の記事はWaveShare製の電子ペーパーを動かす前提で記載されています。
電子ペーパー書き込み器はこちらを使用しています。
Universal e-Paper Raw Panel Driver HAT
書き込み器付きの電子ペーパーを買って、ケーブルでRaspberry Piに接続してもOKです。その場合のピンアサイン(接続先)はこちらになります。
Raspberry Piのセットアップをする
私は初心者なので、初心者っぽいやり方で進めていきます。プロは雰囲気で出来るはずなのでwikiを見てよしなにやってください。
はい、まずはRaspberry Pi(以下、ラズパイと記載)のセットアップをします。
OSのインストール
いつも使っているPCなどから、公式サイトのDownloads→NOOBSからNOOBSのZIPをダウンロードします。画像とVer.が違っているかもしれませんが、気にしなくて大丈夫です。
ちょっと時間がかかるのでラジオ体操でもしながら待ちましょう。
ダウンロードが終わったらZIPファイルを解凍します。
その後、フォルダの中身をすべてSDカードにコピーします。
コピーが終わったらSDカードをラズパイに刺します。マウス、キーボード、モニタ、電子ペーパー書き込み器を接続し、ラズパイの電源を入れます。
(ラズパイはmicroUSBケーブルを指すと電源が自動で入ります)
ネットワークに接続しろと言われますので、そのようにします。
そのあと、インストールするOSを選べと言われますので、Raspbian Fullを選択します。確認ウインドウが出てきたら確認してOKを押します。インストールにも時間がかかりますので、プランクチャレンジをしながらお待ちいただけると良いかと思います。
インストールが終わりOKボタンを押すと再起動を始めますので、眺めます。
Welcome!
NEXTを押していくとパスワードを変えましょうという画面が出ますので、好きなパスワードに変えます。そのあとは画面に従って操作します。アップデートは時間がかかるので、スクワットをするといい感じかと思います。
アップデート完了後、再起動します。
ソフトウェアのインストール
7zファイルを解凍できるソフトウェアをインストールします。
画面左上の >_ というアイコン(LXTerminal)をクリックし、以下の文字を入力します($マークは入力しなくて良いです)
$ sudo apt-get install p7zip-full
SPIの有効化
画面左上のラズベリーアイコンから、設定→Raspberry Piの設定を選び、インターフェイスタブのSPIを有効にし、再起動します。
電子ペーパーを書き換えてみる
購入した電子ペーパーのサイズのwikiへ、ラズパイからアクセスします。画面左上の丸い地球のようなアイコンがwebブラウザです。
ResourcesタブのDemo codeのリンクをクリックし、デモコードをダウンロードします。
ダウンロードしたファイルを解凍します。
ファイルを右クリックするとファイルを展開する選択肢が出てきます。
今回は /home/pi/ フォルダ内に e-paper フォルダを作成し、そこに解凍したフォルダすべてを入れます。
LXTerminalで以下を入力し、エンターキーを押します。
$ cd e-paper/RaspberryPi/python3
cdはチェンジディレクトリというコマンドで、指定したディレクトリ(フォルダ)に移動することができます。これでLXTerminal上でpython3フォルダ内に入ることができました。
$ ls
と入力すると、python3フォルダ内に入っているデータを見ることができます。
python3フォルダ内で、
$ python main.py
と入力すると、電子ペーパーへの書き込みプログラム”main.py”を実行してくれます。
すると、接続していた電子ペーパーが点滅し始めると思います。その後、エラーメッセージとともに白い画面で止まります。
画像を表示させるために ”main.py” を修正しましょう。先ほどe-paperファイルを入れたフォルダの、RaspberryPi/python3 に移動します。
/home/pi/e-paper/RaspberryPi/python3
python3フォルダ内の ”main.py” をダブルクリックするとエディタが開きます。
15~57行目、65~70行目をコメントアウトします。行をすべて選択して、マウス右クリック→Comment out でコメントにできます。手動ですべての行の先頭に “#” を入れてもOKです。コメントアウトすると文字がグレーに変わります。
コメントアウトが終了したらSaveアイコンをクリックします。
もう一度LXTerminalで以下を入力し、エンターキーを押します。キーボードの↑ボタンを押すと過去に入力したものが出ますので、そこから選択してもかまいません。
$ python main.py
梅?っぽい絵が出れば成功です!
画像を用意する
次に、値札に使う画像を用意します。2値のbmpファイルが必要となります。
今回使用した電子ペーパーのドット数は264×176です。それに合わせて画像を用意しました。また、3色使用できるので、赤と黒のデータを作成します(背景の白を1色とカウントします)
黒のデータ
赤のデータ
私は富豪環境があるのでフォトショップ、クリップスタジオペイントの両方を使って作成しました。Windowsのペイント等でもできると思いますので、ご自身の環境に合わせたペイントソフトで作成すると良いかと思います。
作った画像を表示させる
作成した.bmpデータをUSBメモリに入れてラズパイに取り込みます。SSHとか使える人は自由にするといいと思います。
e-paper/RaspberryPi/python3
に画像データを入れます。その後、“main.py” を書き換えます。
60行目の “HBlackimage = Image.open(‘2in7b-b.bmp’)” のファイル名の部分(2in7b-b.bmp)を、自分が作った画像のファイル名に変更します。ここには、黒の画像ファイル名を記載します。
61行目も同様に書き換えます。ここには、赤の画像ファイル名を記載します。
↓
先ほど同様、電子ペーパーを書き換えをします。
$ python main.py
ちなみにですが、エディタの上部”Run”アイコンを押すでも実行されます。
できました!!
箱を用意する
今回は値札+サンプルを飾れるようになるといいなと思ったので、カード立てのようなものを背面に用意しました。いきなり3Dに行けるほど優秀ではないのでまずはラフを書きます。
ラフをもとに、Fusion360で図面を作成しました。
プリントし、組み合わせるとこうなります!
あれ???ケースをちょっと間違えちゃったようで、思った方向に入れることができませんでした。再度プリントするのももったいないのでこのまま使います。
電子ペーパーに書き込む画像を180度回転させ、書き込みます。するとどうでしょう!
\できたー!/
横にケーブルを入れて、クッションを挟み、完成です!
その後、社内レビューで「斜めになっていた方が視認性が良いではないか」という意見が出ました。……確かに!やはり一度他の人に見てもらうのは大事ですね。
実際イベント会場で展示した時、斜めにしないと値札が見にくかったので、少し斜めにして展示していました(ケースの後ろに値札立てを両面テープで張り付けた)
終わりの言葉
いかがでしたでしょうか。
電子ペーパーの最大の利点は書き換え時以外に電源が必要ないことです。サイズやケースを変えることでオリジナルの値札が完成します。今回使用した色以外もありますので、オリジナルの値札を作ってみるのはいかがでしょうか!
値札以外にもいろいろと使い道がありますので、これから面白いことに使っていきたいと思います!
おまけで、実際に使用した現場の写真を掲載します。
”傲慢と偏見とゾンビとスケルトン” はゾンビになって自分たちの肉を狙う人間の美食家から逃げるゲームです(ゾンビの肉は熟成していて美味しいらしいです)。
”俺の会社が労働裁判で潰れるわけがない!!第二版” は社長になって「ろうどうりょく」から「りえき」を搾り取るゲームになっています。
ゲームが気になった方はこちらからご購入ください!
Role&Roll Station
イエローサブマリン
【人材募集中!】
Shiftallでは現在プロダクトマネージャーを募集しています。ご興味をお持ちの方は下記URLから募集要項をご覧下さい。Recruit – 株式会社Shiftall
https://ja.shiftall.net/recruit/