TinyJoyPad
TINY JOYPAD
https://www.tinyjoypad.com/tiny-joypad
回路図もプログラムも公開されています。ATtiny85で製作されているゲーム機で、ゲームも数種類公開されてます。
テトリスとかもあります
ArduBoy互換機
ArduBoy・Arduboy https://arduboy.com/Arduboyは、オープンソースのゲーム開発・共有プラットフォームです。本体はクレジットカード大のサイズのゲーム
前回作成したArduBoy互換機(I2Cディスプレイ版)が、そもままTinyJoyPadとして利用できます。
LGT8F328P- SSOP20(Pro Mini Style )
実際に動かしてみたところです。
LGT8F328P-LQFP32(Nano Style)
Arduino nano互換機でも同様に動作しました
主な部品
・0.96インチ OLED(SSD1306 128×64 I2C)
・LGT8F328P (Arduino 互換機)
・自作ゲームパッド (タクトスイッチ)
・圧電スピーカー
ATtiny85を個人で買うには意外と高いので、80円Arduino 互換機とかで代用できるのでは?と前から考えてて、実際やってみたらできました。
接続ピンの比較
OLED LGT8F328P ATtiny85 VCC | VCC | VCC GND | GND | GND SCL | A5(PC5) | PB2 SDA | A4(PC4) | PB0 Gamepad LGT8F328P ATtiny85 UP_BUTTON | 2 | A3 DOWN_BUTTON | 4 | A3 LEFT_BUTTON | 6 | A0 RIGHT_BUTTON | 7 | A0 B_BUTTON | A1 | - A_BUTTON | A0 | 1 GND | GND | GND Speaker LGT8F328P ATtiny85 (+) | 9 | 4 (-) | GND | GND
Arduino ピン番号とポート名
ARDUINO PORT | ARDUINO PORT PIN NAME | PIN NAME ------- ---- | ------- ---- 0 PD0 | 10 PB2 1 PD1 | 11 PB3 2 PD2 | 12 PB4 3 PD3 | 13 PB5 4 PD4 | A0 PC0 5 PD5 | A1 PC1 6 PD6 | A2 PC2 7 PD7 | A3 PC3 8 PB0 | A4 PC4 9 PB1 | A5 PC5
ライブラリとゲーム本体の修正が必要
TinyJoyPadTINY JOYPAD https://www.tinyjoypad.com/tiny-joypad回路図もプログラムも公開されているATtiny85で製作されてい
プログラムの修正は、ごちゃごちゃするので、いつもどおり別記事に・・。
補足:レジスタ
#define DIGITAL_WRITE_HIGH(PORT) PORTB |= (1 << PORT)
//
DDRB |= (1 << SSD1306_SDA); // Set port as output
DDRB: ポートB方向レジスタ
PORTB: ポートBデータレジスタ
PINB: ポートB入力レジスタ(読み取り専用)
・移植しにくいコードになります。digitalReadとdigitalWriteを使ってコードを書けば、他のAtmelのマイコンすべてで動くようにすることも容易です。
・ポートを直接アクセスすると、不意のトラブルが発生しやすくなります。DDRD = B11111110というコードはどうでしょう。ピン0はシリアル通信の受信ライン(RX)であり、入力でなくてはなりません。うっかり、このピンを出力に設定してしまうと、シリアル通信が突然使えなくなり、あなたはとても混乱することでしょう。
Arduino 日本語リファレンス
初めて知ったのは、このテクニック。まあ、今では推奨されないと思うけど・・。アッセンブラ?みたいなことができるんですね。
補足:INPUT_PULLUP
pinMode(2,INPUT_PULLUP);
あと、このINPUT_PULLUP。これ指定するとプルアップ抵抗が必要なくなるのはしってたけど、実際「INPUT」と比べてみた体感で分かった感じ。
実際に、INPUT_PULLUPとINPUTで、digitalRead()をしてみればよくわかると思う。INPUTだとdigitalRead()の取得できるものが不安定になる。
参考:
・意外と知られていない?INPUT_PULLUP – スイッチサイエンス マガジン
・プルアップとプルダウン抵抗の値ってどうやって求めるの? - 半導体事業 - マクニカ
tinyjoypadでゲームを楽しむ
2:10 あたりから、ゲームの雰囲気がわかります。
コメントを残す