1からつくる
既存のキットなどは利用せずに最低限の部品で構成した製品化目途のゲームをあらためて作ることを決意した。
まずはプログラムの大幅な変更が必要だ。これには、あのプロの人が1ヶ月半で作ったゲームのプログラムをもらっていたのでめちゃくちゃ参考になった。今でも分からない箇所がいくつもあるが確かなプログラムだ。
また、プロトタイプができた時に、製作会に来ている人たちから、
「タイマーとカウンターはひとつのマイコンで動かせるよ。」
と言われていたため、これにも取り組んでさらにコストダウンと手間を省くことにした。
それからというもの、電車通勤しながらプログラムをにらめっこする日々が続きに続いた。というのも、この頃には製作会は終了しており、通常の販売コーナーの一角にある製作工房スペースでスタッフ1名が土日の11時から18時まで常駐する形に切り替わっていたのだが、プログラムのチェックや修正は、完全にサービス外だったからだ。
孤独な環境のもと、マイコンの気持ちになってプログラミングを進めていった。
使っているマイコンの型番は ATmega168 。1秒間に800万回発信できる。
このマイコン1個の能力をイメージしながらプログラムの内容を文字で説明すると、
①電源が入ると同時に38kHzのパルスを通過センサーの送信用LEDに発信し続ける。…こうすると受信センサーに電圧が発生し、マイコンがその電圧を感知している状態になる。
②スタートボタンが押されたら、1秒ごとにプ(ラの音)を0.5秒、プ(ラの音)を0.5秒、プ(ラの音)を0.5秒、ポーン(1オクターブ上のラの音)を1秒鳴らす。…1秒ごとに0.5秒間または1秒間音を出すプログラムと、ラの音と1オクターブ上のラの音を設定するプログラムを書き出した。
③0.001秒ごとに、受信センサーにかかってる電圧が低下していないかマイコンが確認する。もし電圧が0になったら、カウンターの数字を1増やし、プ(ミの音)を鳴らす。
④次の0.001秒後に電圧が0のままならカウンターの数字はそのまま。その後に電圧が一旦1になり、その後また0になったら、またカウンターの数字を1増やし、プ(ミの音)を鳴らす。これを繰り返す。
⑤スタートしてから27秒後から29秒までは1秒ごとに0.5秒間ラの音を出し、タイマー表示を0.5秒間ずつ点滅させる。
⑥30秒になったら、1秒間ポーン(1オクターブ上のラの音)と鳴らし、カウンターは点灯を続け、タイマーは1秒ごとに0.5秒間ずつ3回点滅させ、その後は点灯し続ける。
これだけの仕事をひとつのマイコンがやっているってやっぱりスゴいなーと感じた。実際には1,000分の1秒のピッチでマイコンは通過センサーが発する電圧のオンオフ監視を続けながら、タイマー計測とタイマー表示変更、カウンターの表示変更、スピーカーからの発音を次々とこなしていく。スピーカー音は1秒間連続で鳴っているとしか思えないのに、どうして他の機能を1,000分の1秒ごとにこなせるのか。。。今でもさっぱり理解できない。。。しかし、電気という五感で感じることが難しい現象であっても、プログラミングというツールを通じて人は理解して感じることができる。。。それもスゴいことだなーと感じている。
これが最新のプログラムだ。
![](https://lasercutting-game.com/wp-content/uploads/2022/11/9705495e1e1fabb6125216a1fae4385c.jpg)
![](https://lasercutting-game.com/wp-content/uploads/2022/11/3a20ad891239f650526da748779cd87c.jpg)
![](https://lasercutting-game.com/wp-content/uploads/2022/11/958e435abdb0391ee991389e6d7ca3a7.jpg)
![](https://lasercutting-game.com/wp-content/uploads/2022/11/6138fc517a275b5fdd026fdf68e9aedb.jpg)
![](https://lasercutting-game.com/wp-content/uploads/2022/11/485b2265a996ff9f9fe6657e3edc24eb.jpg)
![](https://lasercutting-game.com/wp-content/uploads/2022/11/bf4a25f8ee3a23907634a1e62621457c.jpg)
プログラミングと並行して配線や必要な電子部品の仕様と配置も順次進めていった。最初に、あのプロの人がつくった7セグメントの表示盤を作ろうといくつも部品を買ってきてはんだ付けしようとしたがどうしてもうまくいかない。
「これは相当な技術がないとできひんで。」
![](https://lasercutting-game.com/wp-content/uploads/2022/11/20221102_230918-1024x768.jpg)
製作工房を通りかかったとあるプロの人がそう言っていた。これが匠の技なんや。いさぎよくあきらめよう。となると一足飛びに電子基板を作成し、部品を基板に取り付ける作業に取りかからなければならないが、その前に配線等が適切か、仮配線して確認する必要がある。
結局、プロトタイプで多用したカラフルな「ジャンパーコード」を「ブレッドボード」に挿し入れまくって確認することにした。ジャンパーコードは200本以上購入した。ブレッドボード4個にジャンパーコードを挿しまくる。7セグメントの周辺はコードがあふれて数字が見えにくいくらいになった。
![](https://lasercutting-game.com/wp-content/uploads/2022/11/DSC_0637-1-scaled.jpg)
だが、ジャンパーコードとブレッドボードなら、配線を間違えたりプログラムに修正があっても随時やり直すことができる。
こうして仮配線が完了し、今のゲームと同じ動作になることを確認することができた。
プロの人が作ったゲームと同じようにセンサーやその他すべてが反応していることが分かり、25年前に楽しんだあのゲームを復元できる予感が確信に変わりつつあった!
この状態でもすでに「プロトタイプ2」だと言えなくもないが、ジャンパーコードは外れやすく、劣化も早い。さっさと基板に部品を移築しよう! <つづく>
コメント