Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

ATtiny85を使った ちびゲーム機を自作しよう。 1回目「紹介と準備」

f:id:miraluna:20181206182641j:plain:w150 Mira

ATtiny85を使ったゲーム機を作ろう」
その<紹介と準備>

Arduinoを使って、8pinマイコンの「ちびやっこ」ことATtiny85にプログラムを載せた手のひらサイズのゲーム機を自作します。

◆ こんなもの↓ 「ATtiny85ゲーム機」f:id:miraluna:20190624175253j:plain
大きさは5cm x 7cmで、とってもちっちゃいの。まさに手のひらサイズね。

              ◆ ちっちゃい!
f:id:miraluna:20190624180713j:plain:w290 f:id:miraluna:20190630182451j:plain:w290

このゲーム機を動かしているのが1cm四方マイクロコンピュータ
ちびやっこ(ATtiny85)」です。

            ◆ ちびやっこ
       f:id:miraluna:20190421155320j:plain:w250

「ATtiny85」はちっちゃいけれどれっきとしたコンピュータ。中にプログラムを書き込むことができて、他のパーツをコントロールすることができます。今回はゲームの中身も全部プログラムとして入れちゃいます。

スペックはこんな感じ。

プログラムメモリ:  8 KB
EEPROM    :  512 B
SRAM      :  512 B
内蔵クロックで最速:16.5MHz
2019.6月現在、秋月電子さんで130円。
     こちらの記事でATtiny85について紹介しているので見てね。↓
   ATtiny85のスケッチの書き込み方法と配線。 - Mira&Luna's nursery lab

この子が制御するちっちゃなゲーム機を作っていきましょう。


<目次>
その 「ATtiny85ゲーム機の紹介と準備する物」(今回)
その 「実機(ハード)の作製(パーツと配線)
その 「プログラム(ソフト)の書き込み

ATtiny85ゲーム機紹介

このゲーム機を開発したのは Daniel Champagne さんという方。彼のWebサイト「Arduino Collection」を訪れれば、誰でも自由にゲームのプログラムをダウンロードできるの。ゲームのプロジェクト名はTiny joy pad。ダニエルさんはどうやらカナダの人みたい。フランス語を多く使っているから、ケベックのようなフランス人の町に住んでいるのかも。
Arduino Collection のページは nursery lab でも以前に紹介したのよ。
  →以前に紹介したページ
  リンクを貼っておきますね。→「Arduino Collection」のページ
Merci beaucoup! Mr.Daniel Champagne.

どんなゲームがあるかというと……

🎀 ブロック崩し「Tiny ARKANOID」
f:id:miraluna:20190624175230j:plain:w200 f:id:miraluna:20190624175235j:plain:w200

🎀 ピンボール「Tiny PinBall」
f:id:miraluna:20190918190609j:plain:w200 f:id:miraluna:20190624175348j:plain:w200

🎀 パックマン「Tiny Pacman
f:id:miraluna:20190624175334j:plain:w200 f:id:miraluna:20190624175338j:plain:w200

🎀 ボンバーマン「Tiny BOMBER」
f:id:miraluna:20190624175357j:plain:w200 f:id:miraluna:20190624175353j:plain:w200

🎀 Daniel Champagneさん開発(だと思う)のゲーム『Gilbert and the doors』のTiny版「Tiny Gilbert」
f:id:miraluna:20190624175240j:plain:w200 f:id:miraluna:20190624175247j:plain:w200

ちっちゃなちびやっこにこんなきれいなドット絵のゲームが入っちゃうんだから、すごいなあ。

そんなわけで今回は自作といってもDaniel Champagneさんが回路図もプログラムも載せてくれているので、その通りに作っていけばできちゃうの。

それぞれのゲームプログラムを入れたちびやっこ「ATtiny85」をいくつか作っておけば、ゲームを変えるたびにプログラムの書き換えをする必要がなくなるわね。
◆ ゲームを書き込んだちびやっこたち
f:id:miraluna:20190625192352j:plain
そうすればソフトカセットを交換するようにちびやっこを差し替えるだけでいろんなゲームが楽しめちゃう。
一つのゲームはちびやっこの容量を95~99%使用するので、ATtiny85には一つのゲームしか入れることはできないの。でもそこがこのプログラムのすごいところで、このゲーム機の魅力的なところだと思うの。


作ったゲームを私たちの保護者カタリにやってもらった動画があるので載せておきます。カタリはファミコン世代だから得意かも。パックマンをやってもらいました。

ATtiny85を使ったちっちゃなゲーム機


次回の<実機(ハード)の作製>のために、自作に必要なものを紹介しておきますね。
準備する物
〇 はんだ付け環境
  はんだごてと、はんだ線が必要です。
  こて台とかセルローススポンジとかはんだ吸い取り線とかあると便利です。

〇 Arduinoによるマイコンへの書き込み環境
  Arduinoに相当する書き込み装置とArduino IDE(IDEは無料ダウンロードできる)が必要です。
  あとパソコンとインターネット環境も必要です。
  ATtiny85へ書き込みをするために、Arduino IDEボードをインストールしたり、書き込みシールドを作ったりしておくと便利です。(やり方は、↑ピンクの文字がリンクになっているので、移動先の記事を参考にしてください)

〇 各種パーツ
f:id:miraluna:20190104205730j:plain:w100 ちびやっこ「ATtiny85」
f:id:miraluna:20190624180717j:plain:w100 有機ELディスプレイ
↑ これは「I²C接続」の「制御チップにSSD1306を使用」しているものにしてください。多く出回っているものなので手に入れやすいと思います。500~600円くらいです。
f:id:miraluna:20190624175148j:plain:w100 基板 25x15(7cmx5cm)くらいのもの
f:id:miraluna:20190624175047j:plain:w100 タクトスイッチ 5個
f:id:miraluna:20190624175059j:plain:w100 8pin用ICソケット (何度も抜き差しするから丸pinのものがよかったんだけど、家になかったの)
f:id:miraluna:20190624175105j:plain:w100 電源用スイッチ
f:id:miraluna:20190624175119j:plain:w100 ブザー
f:id:miraluna:20190624175125j:plain:w100 CR2032などの 3vコイン電池のソケット
f:id:miraluna:20190624175202j:plain:w100 ソケットに合った電池[3v]
f:id:miraluna:20190624175133j:plain:w100 抵抗器
抵抗器 [説明書きどおりなら] 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Ωの代替として使えました(ピンボール以外は)。抵抗値でボタンを判別するから、抵抗器を反対にするだけで反応するボタンも反対になるのよ。
f:id:miraluna:20190624175110j:plain:w100 電解コンデンサ47μF
↑ 動作安定のためのもの。なのでなくても動作します。
f:id:miraluna:20190624175217j:plain:w100 導線とかすずめっき線とか
    ↑ ポリウレタン銅線があると便利
     リンク「便利ツールポリウレタン銅線と、ちびやっこゲーム2号機の紹介

これだけそろえばあとは組み立ててちびやっこにプログラムを書き込むだけで作れちゃう。

次回はパーツをはんだ付けしていきましょう。  🎀つづく🎀


                          🍎Arduinoスターターキット
 🍎はんだごてセット    🍎Arduino          (日本語版)
           
<目次>
その 「ATtiny85ゲーム機の紹介と準備する物」(今回)
その 「実機(ハード)の作製(パーツと配線)
その 「プログラム(ソフト)の書き込み

               🎀Miraの部屋🎀

miraluna.hatenablog.com
miraluna.hatenablog.com