製作物

1セル1基板のアナログライフゲーム作ってみた vol.2

投稿日:2022-03-11 更新日:

この記事は前回からの続きとなります。前回をご覧になっていない方は是非こちらもご覧ください。https://rikeden.net/?p=758

 

コントローラー

前回の記事まででセルの基板は一通り完成したわけですが、電源とクロックがなければ動作しません。というわけでこれらを供給するコントローラーを作ります。

コントローラーに求める必須条件は
①クロックのON/OFF
②クロックの速さ調節
としました。

電源のON/OFFについてはコントローラーの電源ごとON/OFFすればいいと思ったので、実装は見送りました。

また、今回のアナログライフゲーム制作のコンセプトの1つとしてマイコンを使用しないというものがあるので、コントローラーにもマイコンは使用しないことにします。

というわけでクロックは電子工作ではおなじみの、タイマーIC 555を使用します。

その他にインジケーターとしてLED等を付けました。一応部品リストを載せておきます。

  • タイマーIC NE555P
  • 基板用2連可変抵抗A10K
  • Nch MOSFET BS170
  • 10連LEDアレイ
  • レベルメーターIC LM3914N
  • オペアンプLMT358N
  • 半固定抵抗、抵抗、コンデンサ、LED
  • スライドスイッチ、XHコネクタ、microUSBコネクタ

回路図はこんな感じです。部分ごとに説明したいと思います。

コントローラー回路図

 

555+可変抵抗

555の使い方はこちらのサイトを参考にさせていただきました。

回路図の中央下にあるRV2Aが可変抵抗で、これを変化させることによってクロックの速さを変更します。

今回はデューティー比はどうでもいいのでこのような単純な接続になってます。

可変抵抗のカーブはAカーブのものを使用しました。Aカーブは下に凸のカーブです。(抵抗が大きいほど周波数は小さくなるので、回転の向きを逆にして使用します。図は左右反転することになります。)

クロックの周期は抵抗値に対して1次なので、周波数は-1次となります。Aカーブが仮にy = 1 / xだったとすると周波数が可変抵抗の回転量の1次になると考えました。

(そもそも周波数が線形で変化したところで人間の感覚的に線形に感じるのかも不明ですが)

実際に試してみた感じだと、周波数が回転量に対してAカーブ(下に凸)になっているように感じました。

まあ単調増加で微調整ができれば何でもいいと思います。(後述のレベルメーターのことを考えるとBカーブにしておいた方が良かったかも)

 

抵抗やコンデンサの定数はクロックの最大と最小を基準に決めました。

可変抵抗が0Ω のとき28Hz、10kΩ のとき0.7Hzとなります。

 

出力制御

クロックのON/OFFをスライドスイッチで制御します。左上のR6の左に555の出力があって、結節点の上側に出力用のコネクタがあります。

初めは555のリセットピンを使おうと思ってたのですが、リセット解除時(= クロックON時)に動作が安定しないのか、ライフゲームの計算にエラーが多発したのでMOSFETを用いることにしました。R2はリセットピンを使用していた時の名残です。外すと基板の見た目のバランスが崩れるのでそのままにしてあります。動作には関係ないです。

ゲートに電圧がかかっているときはドレインがGNDに落ちるので出力は0に固定されます。R6は短絡防止用の抵抗です。

ゲートに電圧がかかっていないときは555の出力がR6を経由してそのまま出力されます。R6を挟むことでクロックの出力不足にはならないだろうかと心配しましたが、結果的に大丈夫でした。

 

レベルメーター

つまみは無段階で回るので、クロック速度の再現性を確保するためにレベルメーターを実装することにしました。(カッコいいから付けてみたかっただけ)

アナログライフゲームを動作させるときは部屋の明かりを消すことも想定しているので、そのとき邪魔にならないようにレベルメーターの電源は555とは別にしてあります。(クロック確認用のLEDも一緒に消えます)

レベルメーターICの周辺回路は秋月のキットを参考にしました。

回路図中央付近にあるRV2Bが可変抵抗です。2連の可変抵抗なので、555の方で出てきた可変抵抗と同一です。

 

LM3914は入力電圧に比例する数のLEDを点灯させるので、可変抵抗のカーブが直線でないと回転量と点灯数が比例しないことになります。

また、先ほど可変抵抗はAカーブだと書きましたが、単純に考えることはできません。

つまみを回すほど周波数が上がり、メーターも上がってほしいわけです。しかし、周波数は抵抗が小さいほど大きくなるのに対して(①と③の端子に電圧をかけた時の②の)電圧は抵抗が小さいほど小さくなってしまいます。

そのため、回転に対して抵抗が増加する部分、図で言うとR' の部分を使用することになるので実質的にはCカーブということになります。

可変抵抗と並列に入っているR5はカーブ調節用の抵抗で、これによってカーブが若干直線に近付きます。

やっぱりBカーブの可変抵抗にしておくべきだったと思いますね。

ちなみに、このICは電流制御されてるのでLEDに抵抗を入れる必要はないのですが、オープンコレクタ出力なのでLEDの向きを逆にすることはできません。

 

回路図左側にあるオペアンプは基準電圧作成用のボルテージフォロワという回路で入力電圧をそのまま出力します。

先ほどレベルメーターICは入力電圧に比例して出力すると書きましたが、その傾きはICにかける基準電圧によって調整できます。

同じ入力電圧でも、基準が大きいほど出力は小さくなるわけです。

この基準電圧は電源電圧まで上げることはできません。(その場合入力に電源電圧をかけても全部点灯しない)

普通はIC側の基準電圧も調整するべきなのですが、今回はIC側の基準電圧には電源電圧をかけたまま、入力電圧の最大値を調整する方向で対応しました。

つまみをいっぱいに回したときにちょうど全部のLEDが点灯するようにオペアンプの半固定抵抗で調整しました。

 

組み立て

というわけでコントローラーを作りました。

左側につまみとクロックON/OFFスイッチ、右側に電源用micro USB、上側にライフゲーム基板へ接続するコネクタが出ています。

秋月電子で売っているアクリルパネルを取り付けました。アクリルパネル使用するのは初めてなんですが、かっこよくて気に入りました。

 

裏面はこんな感じになってます。

電源とクロックはスズメッキ線で、そのほかはUEWで配線しています。

今回はUEWの配線を特に頑張りました。今までで一番上手く配線できたと思います。

 

ちなみに、最初に買ったつまみはサイズが微妙に合わなくて悲しい思いをしました。

 

ループ配線

クロックコントローラーも完成したので、本格的に動作させてみようと思うのですが、外周部の入力が浮かないように処理しないといけません。

前回の12セルの動作テストではジャンパ線でブレッドボードに繋げてましたが、今回は上下と左右をジャンパ線で繋げてループさせる作戦で行きたいと思います。

写真をよく見ると、縦糸と横糸が編み込んであるのが分かると思います。編み込むのは面倒ですが、一度作ると形が崩れにくくて良かったです。

ジャンパ線はこちらの20mmで40pのものを使用しました。秋月でオスーメスのものが売ってなかったので、オスーオスとメスーメスを合わせて使用しています。

ピンヘッダ、ソケットとジャンパ線のコネクタの相性によってはゆるゆるですぐ抜けることがありましたが、コネクタの向きを変えると抜けにくくなることが割とありました。

 

動作テスト

クロックとループの動作テストになります。https://youtu.be/l04akM4RYKoループのおかげでグライダーが飛び続けます。途中でクロックの速さを変えているのも確認できると思います。

 

最後に

本当はこのvol.2で完結するつもりだったんですけど、意外と分量が多くなってしまったので今回はここまでにしたいと思います。

 

最後までご覧いただきありがとうございました。

↓次回は関連アイテム制作とデモ映像となります。

1セル1基板のアナログライフゲーム作ってみたvol.3

-製作物

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

【Pico W】QR Clock ver.2を作ってみた【ハード編】

以前にマイクロQRコードで時刻を表示する時計を作ったのですが(記事書いてなかった)、スマホ標準のQRコード読み取り機能ではマイクロQRコードに対応していなくて、展示会でお客さんに読み取って貰えないとい …

【Pico W】QR Clock ver.2を作ってみた【ソフト編】

前回の記事でQR Clock ver.2のハードウェアを紹介しました。今回はソフトウェアについて紹介していきます。 マイコンにはRaspberry Pi Pico Wを使用しています。ピン数が多いこと …

PICとグラフィックLCDでシンプルな卓上時計を作ってみた

今回はある程度実用的な卓上時計を作ってみました。日時の表示と温度、湿度、気圧の表示だけのシンプルな機能としました。 目次1 主な使用部品2 回路解説2.1 電源部2.2 RTC2.3 ICSP, RE …

バブルソートを行う電子回路を作ってみた

今回はCPUを用いずにハードウェアでバブルソートを行う回路を作ってみました。 ソート対象の変数はコンデンサに充電された電圧で、フリップフロップで状態管理、オペアンプで比較・代入を行います。 &nbsp …

8x8x2色ドットマトリクスLEDの制御基板を作ってみた

今回は秋月電子で販売されているこちらの8x8x2色ドットマトリクスLEDを4個並べて16x16x2色 のLEDを制御できる基板を作成しました。   なおこの記事はPCBGOGOにスポンサーし …