前回に引き続いて、楽しい電子工作「TinyJoyPad」を作ってゆきましょう!
本体の電子工作が完了し、AudinoIDEの設定も済み、USBaspとブレッドボードの準備もOK、という段階まできました。
ではいよいよ、ゲームのプログラムを選びます。
のサイトから「Attiny85」のコーナーを覗いてみてください。
「パックマン」「インベーダー」「ピンボール」「テトリス」など誰もが知っているアーケードゲームの名作が並んでいます。
昔はこのサイトからそのままプログラム(スケッチ)がダウンロードできたのですが、現在は表立っては自粛中のようですね。(著作権がらみ?)
でも、Githubにはちゃんとスケッチがありますので、ご安心ください。
https://github.com/search?q=tinyjoypad
Github内を”Tinyjoypad”で検索すると、いろいろな人が開発した関連プログラム(スケッチ)が並んでいます。
さて、Tinyjoypadには兄弟機がいくつかあって、ボタン数を減らした、より小さい「ATTiny Arcade」や、ジョイスティック仕様+EEPROMの上級版「Tiny Handheld」などがあります。
そのTiny Handheldの開発者さんのところに、すべての機種向けのスケッチが収録されています。
https://github.com/Yevgeniy-Olexandrenko/tiny-handheld
フォルダ内部をいろいろ見ていると、いろんな機種のプリント基板の写真などもあるので、面白いですよ。
=========
余談
Tinyjoypadのサイトを見ると、次の5つのプロジェクトが載っています。実はこれらは互換性が少ない「いとこ・はとこ」みたいな機種に当たります。
■ Attiny85 → Attiny85チップを使う「Tinyjoypad」
■ Arduboy → ATmega32u4を使う、より上位機種(互換性なし)
■ Attiny10 → Attiny10という最小クラスのチップを使う簡単なゲーム
■ Arduino → Arduinoを使った関連工作
■ ESP8266 → 中国のメーカーが作ったWifiモジュールなのだけれど、なんとCPU等が載っているので、AVRのようにプログラムして動かせる。それをつかったゲーム機のプロジェクト。
========
ArduinoIDEで書き込みするスケッチは「.ino」という拡張子になっています。
まずは手始めに「Tiny invaders」を書き込んでみましょう。
https://github.com/Lorandil/Tiny-invaders-v4.2
Zipファイルを解凍すると、ArduinoIDEで読み込めるのは「Tiny-invaders.ino」というファイルです。
私の場合は、書き込み設定は以下のようにしてみました。
■ ツール → ボード 「Attiny85」
■ クロック 「16Mhz」
■ LTO 「Enabled」
■ 書き込み装置 「USBasp(Attinycore)」
先にブートローダを書き込んでから、同じように本体プログラムを書き込みすると良いようです。
書き込み時にUSBaspのバージョンが古いよ、なんてエラーが出ることもありますが、気にせず進めば書き込み完了までArduinoIDEが知らせてくれます。
あとはATtiny85のチップをゲーム機のICソケットに載せて電池と電源を入れれば!
じゃじゃーん!びっくりするくらい意外とあっさり動きます。すごい!
書き込み時や最初の動作時にいろいろトラブるかな?と思っていましたが、ほとんどトラブルらしいこともなく動いたので逆にびっくり!
※ 実は最初の書き込みでも動いたのですが、動作が明らかに遅かったので、あれ?と思いました。どうやらクロックが8Mhz動作だったようなので、16Mhzに設定して再書き込みしたら、バッチリでした。
というわけで、誰でも簡単に楽しめると思うので、ぜひみなさんもトライしてみてください!
0 件のコメント:
コメントを投稿