必要なもの
・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 | |
1 | GND | GND |
2 | VCC | VCC (3.3V) |
3 | SCL | A5 |
4 | SDA | A4 |
I2Cディスプレーとの接続は標準的なピンを使います。
ディスプレイの動作確認
Arduboy2 ライブラリを導入すると、サンプルスケッチが追加されるのでそれを利用します。Hello Worldというスケッチを今回は使います。
ボードは、Arduino Pro or Pro Mini (5V, 16 MHz) / ATmega328 を選択します。
こんな感じで表示できていれば、成功です。
後編につづく
前編からの続き前回は、画面の表示までです。その状態でもゲームの画面を表示することは可能だと思います。今回で完成で、ゲームパットとスピーカーをつけます。ピン配置を変更してるのでソースの変更も
後編では、ライブラリーの一部(スケッチ)を変更することになります。
コメントを残す