36
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

M5 Stack/M5 StickC/Wio Terminalで使える高性能グラフィックライブラリ「LovyanGFX」

lovyan_gfx_04.JPG

LovyanGFX

 らびやんさん開発のM5 Stack/M5 StickC/Wio Terminalなどのマイコンで動くグラフィックライブラリです。GitHubでOSSとして公開されています。リポジトリへのリンクは以下です。

LovyanGFX

セットアップ方法

 マイコンそれぞれの基本的なセットアップ方法・購入方法は、以下ブログ記事参照ください。

話題のマイコン「Wio Terminal」を買ってクソゲー作って動かしてみました

小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る

 個人的には、最近出たばかりの話題の「Wio Terminal」がおすすめです(品切れ気味ですが)。というわけで、ここからは「Wio Terminal」で動かした様子を紹介します。私自身は「Wio Terminal」でしか試していません。また、確認環境はmacOSとなります(Windowsでも基本的な流れは同じです)のでご了承ください。

 ここからは、マイコンとArduino IDEのセットアップは一通り完了している前提で説明をします。

 Arduino IDEを起動して、メニューの「ツール」 -> 「ライブラリの管理」を起動して、検索窓で「lovyan」で検索します。以下のように「LovyanGFX」が出てくるので、右下の「インストール」ボタンをクリックします。

lovyan_gfx_01.png

 「LovyanGFX」をインストールするとあとは、以下のように「ファイル」 -> 「スケッチ例」に「LovyanGFX」のサンプルが追加されます。

lovyan_gfx_02.jpg

 あとは、サンプルを動かしてコードを見比べて動かし方を身体で覚えていきましょう!

「LovyanGFX」サンプルテスト

 サンプルは選択してマイコンに書き込んだら大体そのまま動きました。以下動かしている様子です。

lovyan_gfx_04.JPG
ClockSample

lovyan_gfx_03.JPG
MeterSample

 静止画なので全然伝わらないと思いますが、ヌルヌル動いて気持ち良いです。

 おすすめは「Simple Use」というサンプルですね。

lovyan_gfx_sample.gif

 色々な描写の例がまとまっているので、「LovyanGFX」をどのように使えばよいのか、コードをみながら理解ができると思います。

「LovyanGFX」応用例

 応用例をみつけたらとりあえず追加していこうと思います。

Wio Terminal でカメラ画像を表示2 ー LovyanGFX 編 ー
M5StickVから画像をWio Terminalにシリアル転送してWio Terminal上で「LovyanGFX」で画像を表示しています。サブモニタ的な使い方は色々応用できそうですね。

まとめ

 M5 Stack/M5 StickC/Wio Terminalといったマイコンで使える高性能グラフィックライブラリ「LovyanGFX」の紹介でした。

 最初、自分が「Wio Terminal」でゲーム作ったとき、画面がチラつきまくって絶望していたので、この滑らかな描写はかなり感動でした。ソフトウェアの力って凄いなと思わせてくれるライブラリです。M5シリーズやWio Terminalといったマイコンでグラフィックを使おうと考えている人は、是非チェックしてみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
36
Help us understand the problem. What are the problem?