Mira&Luna's nursery lab

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

50円のコンピュータ"ATtiny13A"でちびゲーム機「Simon」を作る(前編)

Mira

ArduinoATtiny13A(瞳子)を使ったミニゲーム機「Simon Game」を作ろう (∂_∂🎀/

前編)「部品の用意試運転

f:id:miraluna:20191219175458j:plain

今回作るのは ↑これ です!
ATtiny13を使ったサイモンゲーム

サイモンゲームというと、英語の授業でやる「Simon says ~」というゲームを思い浮かべる人も多いんじゃないかしら。文頭に「Simon says」がついたときだけその指示に従う命令ゲーム。ついうっかり「Simon says」がついていなくても命令に従っちゃうあれ。私あのゲーム得意よ。あんまり引っかからない。

でも今回作るゲーム「Simon」は英語の授業のゲームとは関係ないの。
サイモンはアメリカの有名なおもちゃ。記憶力を競うゲームなの。4つあるボタンが音とともに光って、それと同じボタンを押す。正解すると光るボタンが1つ追加されて、次は2つのボタンを順番通りに押す。正解すると今度は3つ。また正解すると4つ、5つ・・・・・・と増えていく。
Wikipediaのリンクを貼っておきますね。「サイモン (ゲーム) - Wikipedia

瞳子(瞳chen)ことATtiny13Aというのは1cm四方のちっちゃなマイクロコンピュータ(マイクロコントローラ)のこと。
◆ ATtiny13
f:id:miraluna:20190421155321j:plain:w200
1KByteのプログラムメモリをもっていて、そこにゲームのプログラムを書き込んでLEDやブザーなんかを制御するの。こんなにちっちゃいのにえらい子でしょ?

この間ATtiny13の姉妹となるATtiny85(ちびやっこ)を使ったゲーム機を作ったんだけど、今回もそのときみたいに他の人が作って公開しているプログラムを使わせていただきました。
作ったのはチェコのVojtakさん。
Vojtakさんのページ」へ Thank you for your wonderful project.
[Credit] Creator: Mr.Vojtak
    Community: Hackaday.io
    Project name: Simon Game with ATtiny13
    URL: https://hackaday.io/project/18952-simon-game-with-attiny13

VojtakさんのプロジェクトはCC(クリエイティヴコモンズ)によって公開ライセンスをもっています。NC(ノンコマーシャル)として公開されているので、商業目的での利用は認められていません。個人での利用は許可されているけど、作製品を売ったりしちゃダメってことね。
   CC条件リンク「Creative Commons — 表示 - 非営利 4.0 国際 — CC BY-NC 4.0

これ↓ はATtiny85のゲーム機作成の記事
miraluna.hatenablog.com

ちびやっこ(ATtiny85)は8KByteのメモリをもっているからインベーダーゲームとかパックマンとか複雑なプログラムも収めることができたんだけど、私前から1KByteの瞳子で何か作りたいなと思っていたの。それで見つけたのがこのサイモンゲーム。私この記憶力ゲーム好きだから、見つけたときは「やったー」って思った。パーツもシンプルなものばかりだから手に入れやすいしね。

ATtiny85 メモリ:8KByte 速度:20MHz SRAM:512Byte 130円
ATtiny13 メモリ:1KByte 速度:20MHz SRAM:64Byte  50円
(値段は2019年12月現在 秋月電子通商さんの価格)

部品の用意

必要になるパーツを紹介します。
f:id:miraluna:20190421155321j:plain:w80 ATtiny13(瞳子
f:id:miraluna:20191220171906j:plain:w80 基板(私は3.5x5cmを2枚使いました)
f:id:miraluna:20191220171758j:plain:w80 タクトスイッチx5(赤、オレンジ、黄、緑、リセット用)各1つずつ
f:id:miraluna:20190624175105j:plain:w80 スライドスイッチ(電源用)
f:id:miraluna:20190624175059j:plain:w80 ICソケット 8pin
f:id:miraluna:20190624175125j:plain:w80 電池ソケット(電池に合ったもの)
f:id:miraluna:20190624175202j:plain:w80 CR2032電池(3v電池なら他のものでもOK)
f:id:miraluna:20191220171839j:plain:w80 ブザー(圧電スピーカ)
f:id:miraluna:20191220171929j:plain:w80 電解コンデンサ 100μF (耐圧は16vもあれば十分)
f:id:miraluna:20191220171942j:plain:w80 LEDx4(赤、オレンジ、黄、緑)各1つずつ
f:id:miraluna:20190624175133j:plain:w80 抵抗器x4(680Ω、330Ω、220Ω、180Ω)各1つずつ
f:id:miraluna:20191220171811j:plain:w80 ピンソケット(必要なら)
f:id:miraluna:20191220171826j:plain:w80 ピンヘッダ(必要なら)
f:id:miraluna:20191220171852j:plain:w80 導線(お好みのものを(おすすめはポリウレタン銅線))
以上。

導線を除いて一番高いパーツが瞳子と電池ソケットで50円。
ブザーと基板が30円。(基板は40円の両面タイプにしたほうが良かった。)
電池が20円(5個で100円)。
スライドスイッチ、タクトスイッチ、ICソケット、電解コンデンサが10円。
ピンソケット、ピンヘッダ、LED、抵抗は1つあたりに計算すると5~1円。
電子パーツって、まるで駄菓子屋さんみたいよね。

試運転

パーツが揃ったら実装する前にブレッドボードで試運転します。
そのときATtiny13にプログラムを書き込んでいないと試運転にならないんだけど、プログラムの書き込みについては「後編」で紹介しますね。まずは配線図まで。

配線図

f:id:miraluna:20191220182435j:plain

配線図にある〇の描かれた四角がタクトスイッチ、スピーカーみたいなのがブザー、100μFの2本線が電解コンデンサで左が+側、数字の書かれた四角が抵抗器と抵抗値。LEDは足の長いアノードを下側の+につないで、足の短いカソードを上側の抵抗器側につなぐ。RGYOはそれぞれ赤、緑、黄、オレンジです。

ブレッドボードに配線をして、Arduinoから電源をもらって試運転をしてみます。
f:id:miraluna:20191218170431j:plain
f:id:miraluna:20191218170443j:plain:w290  f:id:miraluna:20191218170456j:plain:w290
         動いた (∂. <🎀y

試運転は大成功!
次回「後編」ではプログラムの書き込み方と実装した様子をご紹介します。

後編へつづく ↓
miraluna.hatenablog.com
プレイ動画
miraluna.hatenablog.com

       🎀ミラの部屋へ🎀