【前編】ArduBoyを試作する【I2C OLED display】

  • 投稿 : 2020-04-19

必要なもの

・0.96 inch OLED ディスプレイ(SSD1306 128×64 I2C)
・LGT8F328P-SSOP20 (Arduino 互換機)
・自作ゲームパッド (タクトスイッチ)
・圧電スピーカー

本来のArduBoyやその互換機は、SPI接続のOLEDを使用しています。I2C接続のArduBoy互換機のライブラリーを見つけたので、それで作成してみることにしました。LGT8F328P-SSOP20はピン数が少ないというももありますが、SPI接続は線の数がおおくて面倒だというのもあります。

Arduboy2 (I2C display)ライブラリの導入

SLIMBOY - Arduboy2 port to Arduino Nano and I2C display
https://github.com/harbaum/Arduboy2
ライブラリや回路図は上記で公開されています。Arduino Nanoなら接続ピンの変更とかもせずにつくれば、ハマる所は少ないかなぁと思います。今回は、ゲームパッドのピンを変更してるので、少しハマりました。

必要なファイルをダウンロードする

・Arduboy2 Library
 https://github.com/harbaum/Arduboy2
・ArduboyTones
 https://github.com/harbaum/ArduboyTones
・ATMlib
 https://github.com/harbaum/ATMlib

上記から2つのファイルをZIPでダウンロードしてきてください。

画像のような感じのところからダウンロードできます。

ファイルを展開して、コピー

C:\Users\[ログインユーザー名]\Documents\Arduino\libraries

上記のところに、展開したファイルをフォルダーごとコピーします。

0.96 inch OLED ディスプレイを接続

OLED LGT8F328P
1GNDGND
2VCCVCC (3.3V)
3SCLA5
4SDAA4

I2Cディスプレーとの接続は標準的なピンを使います。

ディスプレイの動作確認

Arduboy2 ライブラリを導入すると、サンプルスケッチが追加されるのでそれを利用します。Hello Worldというスケッチを今回は使います。

ボードは、Arduino Pro or Pro Mini (5V, 16 MHz) / ATmega328 を選択します。

こんな感じで表示できていれば、成功です。

後編につづく

前編からの続き前回は、画面の表示までです。その状態でもゲームの画面を表示することは可能だと思います。今回で完成で、ゲームパットとスピーカーをつけます。ピン配置を変更してるのでソースの変更も

お部屋でモバイル

後編では、ライブラリーの一部(スケッチ)を変更することになります。

スポンサーリンク