Teensyで目ん玉アニメ表示
小型マイコンTeensy3.2を購入したので目ん玉アニメ表示テスト実施しました。
ディスプレイには以前も使用したHiLetgo 1.8インチ128*160ピクセルTFT液晶を使用しました。
目次
Teensy3.2
ピン配置図
スペック(Arduino UNOと比較)
メモリが潤沢なので今回のような画像アニメーションには最適なマイコンですな 🙂
Arduino IDEでTeensy利用する方法
以下の記事の通りです!・ω・; w
各種ライブラリ選択してインストールできますが最新じゃないのもあるようなのでインストールしないほうが良いと思います。
特に今回使用するAdafruit_ST7735はインストールしないでください。インストールしてしまった場合は削除してください。
hogehoge\Arduino\hardware\teensy\avr\libraries内にあります。
目ん玉アニメ表示
以下のチュートリアルを参考に実施しました。
構成
プログラム
目ん玉プログラム例は以下にアップされています。
https://github.com/adafruit/Teensy3.1_Eyes
以下のライブラリもDLし所定のArduino IDEライブラリフォルダに入れておきます。
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit-ST7735-Library
プログラム(uncannyEyes.ino)冒頭のヘッダファイルを選択することで表示する目の種類を変えることが出来ます。ドラゴンの目とか????
1 2 3 4 5 |
// Enable ONE of these #includes -- HUGE graphics tables for various eyes: #include "defaultEye.h" // Standard human-ish hazel eye //#include "noScleraEye.h" // Large iris, no sclera //#include "dragonEye.h" // Slit pupil fiery dragon/demon eye //#include "goatEye.h" // Horizontal pupil goat/Krampus eye |
プログラムuncannyEyes.inoの修正
TFTを使用するのでOLEDライブラリのincludeはコメントアウトしてTFTライブラリのコメントアウトを外します。
1 2 |
//#include <Adafruit_SSD1351.h> // OLED display library -OR- #include <Adafruit_ST7735.h> // TFT display library (enable one only) |
128*128ピクセルのTFTディスプレイ用のプログラムなので→128*160用に修正します。
setup()内
1 |
eye[e].display.initR(INITR_144GREENTAB); |
↓ 以下に修正
1 2 |
eye[e].display.initR(INITR_GREENTAB); eye[e].display.fillRect(-2, -1, 128, 160, 0); |
drawEye()内
1 |
eye[e].display.setAddrWindow(0, 0, 127, 127); |
↓ 以下に修正
1 2 |
eye[e].display.setRotation(1); eye[e].display.setAddrWindow(16, 0, 143, 127); |
動作
defaultEye.h使用
すごくリアルな目ん玉www プログラム内容猛勉強してこのくらい作れるようになりたいな 🙄 w。ディスプレイ2個つかって左右の目を表示するのが目的のプログラムなのでまぶたが非対称です。
まぶた修正
チュートリアルの表示画像作成方法を参考にまぶた修正してみました。
DLしたTeensy3.1_Eyes/convert/defaultEye内のまぶた画像を以下のように修正しました。
lower.png
upper.png
DLしたPythonプログラムTeensy3.1_Eyes/convert/tablegen.pyで表示用ヘッダファイル作成できます。
1 |
python tablegen.py パス/sclera.png パス/iris.png パス/upper.png パス/lower.png 80 > defaultEye2.h |
80は瞳の外形サイズ(ピクセル)を指定している
生成したヘッダファイルを使用してみると以下のように
左右対称なまぶたになりましたー!これで第三の目として使用できそうです! 😛