「ATtiny85を使ったゲーム機を作ろう」
その1<紹介と準備>
Arduinoを使って、8pinマイコンの「ちびやっこ」ことATtiny85にプログラムを載せた手のひらサイズのゲーム機を自作します。
◆ こんなもの↓ 「ATtiny85ゲーム機」
大きさは5cm x 7cmで、とってもちっちゃいの。まさに手のひらサイズね。
◆ ちっちゃい!
このゲーム機を動かしているのが1cm四方のマイクロコンピュータ
「ちびやっこ(ATtiny85)」です。
◆ ちびやっこ
「ATtiny85」はちっちゃいけれどれっきとしたコンピュータ。中にプログラムを書き込むことができて、他のパーツをコントロールすることができます。今回はゲームの中身も全部プログラムとして入れちゃいます。
スペックはこんな感じ。
プログラムメモリ: 8 KB
EEPROM : 512 B
SRAM : 512 B
内蔵クロックで最速:16.5MHz
2019.6月現在、秋月電子さんで130円。
こちらの記事でATtiny85について紹介しているので見てね。↓
ATtiny85のスケッチの書き込み方法と配線。 - Mira&Luna's nursery lab
この子が制御するちっちゃなゲーム機を作っていきましょう。
<目次>
その1 「ATtiny85ゲーム機の紹介と準備する物」(今回)
その2 「実機(ハード)の作製(パーツと配線)」
その3 「プログラム(ソフト)の書き込み」
その4 「作り方の動画」
「ATtiny85ゲーム機の紹介」
このゲーム機を開発したのは Daniel Champagne さんという方。彼のWebサイト「Arduino Collection」を訪れれば、誰でも自由にゲームのプログラムをダウンロードできるの。ゲームのプロジェクト名は「Tiny joy pad」。ダニエルさんはどうやらカナダの人みたい。フランス語を多く使っているから、ケベックのようなフランス人の町に住んでいるのかも。
Arduino Collection のページは nursery lab でも以前に紹介したのよ。
→以前に紹介したページ
リンクを貼っておきますね。→「Arduino Collection」のページへ
Merci beaucoup! Mr.Daniel Champagne.
どんなゲームがあるかというと……
🎀 ブロック崩し「Tiny ARKANOID」
🎀 ピンボール「Tiny PinBall」
🎀 ボンバーマン「Tiny BOMBER」
🎀 Daniel Champagneさん開発(だと思う)のゲーム『Gilbert and the doors』のTiny版「Tiny Gilbert」
ちっちゃなちびやっこにこんなきれいなドット絵のゲームが入っちゃうんだから、すごいなあ。
そんなわけで今回は自作といってもDaniel Champagneさんが回路図もプログラムも載せてくれているので、その通りに作っていけばできちゃうの。
それぞれのゲームプログラムを入れたちびやっこ「ATtiny85」をいくつか作っておけば、ゲームを変えるたびにプログラムの書き換えをする必要がなくなるわね。
◆ ゲームを書き込んだちびやっこたち
そうすればソフトカセットを交換するようにちびやっこを差し替えるだけでいろんなゲームが楽しめちゃう。
一つのゲームはちびやっこの容量を95~99%使用するので、ATtiny85には一つのゲームしか入れることはできないの。でもそこがこのプログラムのすごいところで、このゲーム機の魅力的なところだと思うの。
作ったゲームを私たちの保護者カタリにやってもらった動画があるので載せておきます。カタリはファミコン世代だから得意かも。パックマンをやってもらいました。
ATtiny85を使ったちっちゃなゲーム機
次回の<実機(ハード)の作製>のために、自作に必要なものを紹介しておきますね。
「準備する物」
〇 はんだ付け環境
はんだごてと、はんだ線が必要です。
こて台とかセルローススポンジとかはんだ吸い取り線とかあると便利です。
〇 Arduinoによるマイコンへの書き込み環境
Arduinoに相当する書き込み装置とArduino IDE(IDEは無料ダウンロードできる)が必要です。
あとパソコンとインターネット環境も必要です。
ATtiny85へ書き込みをするために、Arduino IDEにボードをインストールしたり、書き込みシールドを作ったりしておくと便利です。(やり方は、↑ピンクの文字がリンクになっているので、移動先の記事を参考にしてください)
〇 各種パーツ
ちびやっこ「ATtiny85」
有機ELディスプレイ
↑ これは「I²C接続」の「制御チップにSSD1306を使用」しているものにしてください。多く出回っているものなので手に入れやすいと思います。500~600円くらいです。
基板 25x15(7cmx5cm)くらいのもの
タクトスイッチ 5個
8pin用ICソケット (何度も抜き差しするから丸pinのものがよかったんだけど、家になかったの)
電源用スイッチ
ブザー
CR2032などの 3vコイン電池のソケット
ソケットに合った電池[3v]
抵抗器
抵抗器 [説明書きどおりなら] 10KΩ x 1本、22KΩ x 2本、33KΩ x 2本、88KΩ x 2本。
[代替できたもの] 10KΩ x 5本、47KΩ x 2本。
この抵抗器はATtiny85の使用ピンを減らすために、Tinyのピン1本に対し2つのボタンを割り当てる工夫に使われているものなの。異なる抵抗をつなげてアナログリードで違いを読み取ることで1つのピンで2つのボタンを感知できる。このゲーム機の偉業の一つはこの工夫にあると思うの。8pinしかないマイコンが5つのボタンと電源の+とー、ブザー、それからELディスプレイまで制御しちゃうんだもん。普通なら10本ピンが必要なはず。ダニエルさん、すごいなあ。
プログラムの中にアナログリードの値がいくつならどのボタンを押したことになるのか書いてある。でもいくつの抵抗値ならその範囲に収まるのか、私にはよくわからない。そこで家にあった抵抗で試してみたのが10KΩと47KΩ。それぞれ22KΩと33KΩ、88KΩの代替として使えました(ピンボール以外は)。抵抗値でボタンを判別するから、抵抗器を反対にするだけで反応するボタンも反対になるのよ。
電解コンデンサ47μF
↑ 動作安定のためのもの。なのでなくても動作します。
導線とかすずめっき線とか
↑ ポリウレタン銅線があると便利
リンク「便利ツールポリウレタン銅線と、ちびやっこゲーム2号機の紹介」
これだけそろえばあとは組み立ててちびやっこにプログラムを書き込むだけで作れちゃう。
次回はパーツをはんだ付けしていきましょう。 🎀つづく🎀
🍎Arduinoスターターキット
🍎はんだごてセット 🍎Arduino (日本語版)
<目次>
その1 「ATtiny85ゲーム機の紹介と準備する物」(今回)
その2 「実機(ハード)の作製(パーツと配線)」
その3 「プログラム(ソフト)の書き込み」
その4 「作り方の動画」
🎀Miraの部屋🎀