見出し画像

「ゲーム機」も作って遊ぼう!MakeCode Arcade (2)部品購入編

MakeCode Arcade はゲームプログラムだけではなく、ゲーム機そのもの も自分で作れちゃったりします。前の記事 では前置きだけのつまらないお話をしてしまいましたが(!?)、今回はゲーム機制作に必要なパーツについて解説します。

基本的には ハードウェア仕様(英語)に書かれていることなんですけど、いろいろと 余談書きたいマン なので、お付き合い下さい…

例によって、品名リストだけわかればええんや〜 という方は、以下の「まとめ」までジャンプしてください(T-T

マイコン(必須)

これが無いと始まりませんね(笑)

ハードウェア仕様によると必要なマイコンのスペックは以下のとおり。

・ARM Cortex MシリーズアーキテクチャのCPU
・96kB以上のメモリ(SRAM)
・512kB以上のROM(Flashメモリ)
・64MHz以上のCPUクロック周波数

…ARM ナンチャラとか、いきなり難しい感じの言葉が出てきましたが、興味があったら調べる程度で大丈夫です(^^;

上記の条件を満たすCPUを、Microchip ATSAMD51 シリーズか、STM32F4 シリーズの中から選ぶことになるでしょう…。ただマイコン単体だと、とっても扱いづらいので 開発ボード というものを買ってしまった方が良いですね。

それで上記のスペックを満たしていて、安い開発ボードとなると…
STM32F411CEU6 ボード になるでしょう。

画像2

WeAct MiniF4 という素性らしき中華製ボードで、以下のページに回路図も含めて詳しいことが書かれています。
https://github.com/WeActTC/MiniF4-STM32F4x1

残念ながら日本国内では入手性が悪いです(2020年2月現在)。AliExpress で450円前後で売られているのをお求めになってください;;;

余談
・上記のページによると中華製品あるあるで、偽物 もあるようです^^;
・Aliだと STM32F401CCU6 ボードと同じページで売られていることが多いです。紛らわしいことこの上ないのですが、200円くらい安いので思わず買ってしまうかもしれません。こっちを買ってしまうとメモリが足らなくてゲームにならないと思いますので気をつけましょう…

そして、このボードにプログラムを書き込むために USBケーブル も必要です。念のため USB-Serial(FT232RL) あるいは ST-Link も買っておくと何かと便利です。AliExpressなら、…とある理由で、とっても安いですね…(それ以上はツッコまないようにしましょう^^;)

画像7

※マイコン遊びをするなら、USB-Serial(FT232RL)は 必需品 なので一個くらい持っておくといいです(画像は 秋月のページ より) 

国内入手性を重視するなら、秋月とかで売っている Nucleoシリーズ のSTM32F401ボードでもいけるでしょうね(こいつもいろいろあってわかりづらく、間違えやすいですが(笑)

画像1

お値段も 2000円 くらいしてしまいますので、これを買って MakeCode Arcadeコンソールにするのは、あまりメリットが無いかもしれません;;;

ディスプレイ(必須)

ハードウェア仕様によると、以下が標準のようです

・160x128 の解像度
・ST7735 SPI通信制御LCDコントローラ
1.8インチ

AliExpressの方が安くて、新しいバージョンが揃っています。300円前後 が相場かな。国内ではAmazonでも買えます(1000円くらいから)。

画像3

↑画像はAliExpressより。最近は「GreenTAB」といって、保護フィルムに緑色のタブが付いているものが主流のようだ。

もうちょっと大きい画面でプレイしたい!という方は、ILI9341(解像度320x240)、2.2〜2.8インチのLCDも使えます。電子工作系のブログではお馴染みのやつで、Amazonにあるようなタッチパネル付きのものでも問題ありません。意外とこちらの方が入手性は良いかも!?

スクリーンショット_2020-02-15_23-42-44

※Aliだと500〜600円くらいですね…

ボタン(必須)

いわゆる タクトスイッチ ですね。最低6個 必要です(上下左右ABボタン)。ハードウェア仕様によると、MENUやリセットボタンも必要のようですが、開発ボードを使うのであれば、それにくっついているボタンを流用できます。

何気にゲームにおいては操作性に関わる重要なパーツです。入手性は高く、値段もピンキリです。中華製のやっすいやつを買うと パチパチ!カチカチ!うるさい! ので、できれば 静音ボタン を買った方が良いかもしれません。AliExpressで「Silent tact switch」とか「mute switch」などで検索すると出てくるでしょう。(KAILHというブランドのものが割と良いというを聞いたことがあります)

ちなみに筆者は↓秋月の安いやつ↓を使いました…カチカチ音はそれなりにします…(^^;

画像5

そして、ボタンの反応が悪いな?という時のためにセラミックコンデンサ0.1μF(通称104)も用意しておくといいかも。チャタリング対策。というやつですね。

余談:チャタリング対策とは
タクトスイッチはキレイに信号が変化しないものです。内部がバネのようになっているためか、ボタン状態が変化する時に信号がブレます。そのブレをいくらか滑らかにするために、コンデンサを挟むわけですね。103や104(0.01 or 0.1μF)あたりがよく使われてる気がします。

無題55_20200218100128_1

マイコン遊びをやろうと思ったら、それほど高いものでもありませんし、意外と欠かせないパーツなのでストックしておいても損は無いです。

音が出るやつ(できるだけ必要)

…無くてもなんとかゲームはできますが、ある意味最も レトロゲームっぽさ を演出するパーツではないでしょうか。例の「ピコピコ♪」って音が出るやつです。

画像6

入手性が良くて安いのは 圧電ブザー ですね…。中華でも国内でもたいへん安いので好きな方で買って下さい。アンプとスピーカーを繋いでも良いけれど、ソースがモノラル・矩形波なので…プアな環境で鳴らすのがそれっぽいと思います(笑)

※圧電ブザーをつける場合は 1kΩ あたりの抵抗 も用意してください。そして、いつでも音が切れるように スライドスイッチ もあると便利です。

その他必要なもの

電子工作ではお馴染みのセットです

・ユニバーサル基板
・配線用ワイヤ
・ヘッダピンおよびピンソケット、L型もあるといい
・はんだ付けセット
・マルチメーター(テスター)

他にも…

お財布や、必要性の状況を考えながら以下のものもお好みで…。

3.5mmオーディオジャック:MakeCode Arcade は、JACDAC というオーディオケーブルを利用した通信で対戦ゲームのようなこともできるようです。もちろん音声出力用にも使うことができるので何個か用意しておくと良いかも。

無題56

センサー類:加速度、気温、気圧…最近はArduino用にI2Cで通信できるいろんなモジュールがあるのでお好きなのを。(ただしすぐに使えるとは言っていない(!?)

電源類:モバイルするなら何気に重要ですね。もちろん 手持ちのスマホ用モバイルバッテリー でもOKです。物好きな人は 電池ケース、スイッチ、レギュレーター なんかも用意できるでしょう。

まとめ

ながながと書いてしまいましたが… リストです

必須
□ マイコン(STM32F411)ボード、USBケーブル
□ LCD(1.8インチ程度 ST7735 SPI通信 解像度160x128 )
□ ボタン(タクトスイッチ)6〜8個
□ 圧電ブザーなどの音が出るやつ、抵抗1kΩ
□ ユニバーサル、ワイヤ、ヘッダピン、ピンソケット
□ はんだ付セットやテスターなどの電子工作ツール

その他(必要に応じて)

□ オーディオジャック(3.5mmΦ)
□ I2C通信のセンサ類
□ USB-Serial変換器(FT232RLなど)
□ ボタン数ぶんの 0.1μF セラミックコンデンサ
□ 電池ケース、レギュレーター、スライドスイッチ類

中華通販などを上手く利用すれば、(工具以外)全部合わせても 2000円前後くらいに収まると思います。

パーツによってはハードオフのジャンクをバラして入手できたりする……かもしれません(^_^;。

次の記事は…

こういった、パーツ選びもいろいろと脳内で妄想(!?)が膨らんでなかなか楽しいものですね!

中華通販だとたいへん安いのですが、到着まで結構な時間がかかってしまう(最低2〜3週間)のが難点ですね……荷物が届いた頃には「作ろう!」という情熱がすっかり冷めてしまうこともあるので、モチベーションを保ち続けることも頑張りましょう…

そうならないためにも、マイコンボードとLCDは中華通販で、他のこまごまとしたパーツは国内で揃えてしまうという手もあるかも。

次回(3)は ファームウェア作成編 です。

アイキャッチ画像のゲーム
Jumping mateo です。単純だけど、結構ハマります…。
きっと10人中0x10人が言うでしょう。
「ちょっと待てお。これってマリ…」
https://arcade.makecode.com/89421-43050-91702-07865

この記事が気に入ったらサポートをしてみませんか?