その他連載記事

※ゲーム関連の連載は、下のページをご覧ください。 terapotan.hatenablog.jp

連載記事一覧

当ブログで扱っている連載記事です。

回路シミュレータCircuitSimulatorAppletを使ってみよう!

terapotan.hatenablog.jp

ゲーム関連連載

※ゲーム以外の連載は、下のページをご覧ください。 https://terapotan.hatenablog.jp/entry/OtherSeriesterapotan.hatenablog.jp

連載記事一覧

当ブログで扱っている連載記事です。

Visual Studio 2017入門

terapotan.hatenablog.jp

gitをソフト開発で使いこなそう

terapotan.hatenablog.jp

「お借りした素材一覧」生成器、完成!(Ver1.0.0リリース)

Twitterで使ったサムネイル

※このソフトは、こちらで紹介した素材ライセンスチェッカーのVer1.0.0となります。   ダウンロードは、下のリンクから。 www.vector.co.jp

ゲームのエンドロールや、ゲームと一緒に付いていることの多い「お借りした素材一覧」。その作成、「お借りした素材一覧」生成器なら自動で出来ます!

試作版が実際に動作している画像

「お借りした素材一覧」生成器って何だ?

何か紹介する画像

素材ごとに予めサイト名と出力したいテキストを打ち込んでおけば、ボタン一つで「お借りした素材一覧」生成器が、お借りした素材一覧を出力してくれます。 どれだけ素材の数が多くなっても、ボタンクリック一つでいつでも「お借りした素材一覧」を出力してくれます。

ライセンス管理機能も搭載!

どのサイトが商用利用不可で、どのサイトが商用利用可なのか――素材をソフトに追加するたびに調べるのは面倒です。そこで、利用規約をメモできる機能を搭載しています。

一度そこに書き込んでおけば、次からわざわざ調べる必要はありません。

素材を表にして表示可能!ソートもクリック一つで!

トップ画面スクリーンショット、出来ればGIFでソートの場面を

追加した素材は、表で一覧を見ることが出来ます。また、クリック一つで素材配布サイト別に分類することも出来ます。今何の素材をソフトに追加しているのか一目で分かる仕組みとなっています。

完成しました!

Ver1.0.0をリリースしました。正式な完成版となります。

ダウンロードは、下のリンクから出来ます。
www.vector.co.jp

初めて使われる方向けに、サンプルプロジェクトを同梱しています。本ソフトと同じフォルダにある「サンプルプロジェクト」フォルダから「サンプルプロジェクト.projm」を開くと、サンプルプロジェクトが読み込まれます。

現時点での最新版をダウンロードしたい方や、ソフトを使ってみて意見や要望がある方は、下のリンクからどうぞ。

github.com

試作版をダウンロードしてくださった方へ――名称を変更しました

ソフトの名称を素材ライセンスチェッカーから、「お借りした素材一覧」生成器に変更しました。 それに伴って、以前お伝えした以下の機能の追加を見送ることになりました。

  1. 自動ライセンスチェック機能
  2. 自動警告機能

「お借りした素材一覧」生成器、β版公開!

Twitterで使ったサムネイル

※このソフトは、こちらで紹介した素材ライセンスチェッカーのβ版となります。

ゲームのエンドロールや、ゲームと一緒に付いていることの多い「お借りした素材一覧」。その作成、「お借りした素材一覧」生成器なら自動で出来ます!

試作版が実際に動作している画像

「お借りした素材一覧」生成器って何だ?

何か紹介する画像

素材ごとに予めサイト名と出力したいテキストを打ち込んでおけば、ボタン一つで「お借りした素材一覧」生成器が、お借りした素材一覧を出力してくれます。 どれだけ素材の数が多くなっても、ボタンクリック一つでいつでも「お借りした素材一覧」を出力してくれます。

ライセンス管理機能も搭載!

どのサイトが商用利用不可で、どのサイトが商用利用可なのか――素材をソフトに追加するたびに調べるのは面倒です。そこで、利用規約をメモできる機能を搭載しています。

一度そこに書き込んでおけば、次からわざわざ調べる必要はありません。

素材を表にして表示可能!ソートもクリック一つで!

トップ画面スクリーンショット、出来ればGIFでソートの場面を

追加した素材は、表で一覧を見ることが出来ます。また、クリック一つで素材配布サイト別に分類することも出来ます。今何の素材をソフトに追加しているのか一目で分かる仕組みとなっています。

まだ、完成していない!?

このソフトはまだ完成していません。β版としての公開となります。

ダウンロードは、下のリンクから出来ます。
www.vector.co.jp

初めて使われる方向けに、サンプルプロジェクトを同梱しています。本ソフトと同じフォルダにある「サンプルプロジェクト」フォルダから「サンプルプロジェクト.projm」を開くと、サンプルプロジェクトが読み込まれます。

現時点での最新版をダウンロードしたい方や、ソフトを使ってみて意見や要望がある方は、下のリンクからどうぞ。

github.com

試作版をダウンロードしてくださった方へ――名称を変更しました

ソフトの名称を素材ライセンスチェッカーから、「お借りした素材一覧」生成器に変更しました。 それに伴って、以前お伝えした以下の機能の追加を見送ることになりました。

  1. 自動ライセンスチェック機能
  2. 自動警告機能

【最終回】ショートカットキーで部品を追加してみよう

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

いままで部品の追加は、マウスで行ってきましたが、部品をいちいちマウスで追加するのは面倒です。そこで、CircuitSimulatorAppletには、部品を追加するショートカットキーが用意されています。 今回は、ショートカットキーの設定や正確なシミュレートをするのに重要な「Time Step Size」という設定項目について解説していきます。

ショートカットキーを使うには?

CircuitSimulatorAppletでは、部品を追加する時にショートカットキーを使うことが出来ます。

特別な設定をする必要はありません。最初から、下の表のようなショートカットキーが設定されています。

部品名 ショートカットキー
Resistor(抵抗) r
Inductor(コイル) L(大文字)
Capacitor(無極性コンデンサ) c
Capacitor(極性コンデンサ) C(大文字)
Voltage Source(1-terminal)(1端子電源) V(大文字)
Voltage Source(2-terminal)(2端子電源) v
Logic Input(論理入力) i
Logic Output(論理出力) o
Wire(導線) w

開くまでの画像

画面上のメニューにあるOptionsからShortcuts…を開くと、現在設定されているすべてのショートカットキーが表示されます。

ショートカット一覧

テキストボックスの内容を書きかえて、OKボタンを押せば、ショートカットキーの設定を変更することも出来ます。

コピー、貼り付け、カット……のショートカットキー

コピーや貼り付けといった、部品の編集にも、ショートカットキーは設定されています。下の表にショートカットの一覧を示します。

操作 ショートカットキー
コピー Ctrl+C
貼り付け Ctrl+V
複製 Ctrl+D
Undo Ctrl+Z
Redo Ctrl+Y

Windows系のソフトでよく使われるショートカットと同じ構成になっています。

Time Step Size

Time Step Sizeとは?

Time Step Sizeとは、シミュレーションを行う時間間隔のことです。

実際の回路における、電圧や電流の波形は途切れることなくつながっています。(アナログ信号とも言われます。)
ですが、シミュレータは、途切れることなくつながっている信号を扱うことが出来ません。(デジタル信号とも言われます。)

ここで、「どれくらいの間隔で点を取るか」を決める値が、Time Step Sizeです。Time Step Sizeは、Options-Other optionsのTime step size[s]から設定出来ます。単位は秒で、第3回で紹介したSI接頭辞を使うことが出来ます。

設定するまでのメニュー画面

Time step sizeが表示されている画面

Time Step Sizeの値を変更するとき

ふだん、この機能が使われることはありません。しかし、高周波のシミュレーションを行うときには、重要になってきます。

実際の波形と歪んでしまった波形

上の図を見てください。実際の波形は正弦波となっていますが、Time step sizeが大きすぎるために、三角波としてシミュレータ上で表示されてしまっています。 高周波のシミュレーションを行う場合は、Time step sizeの値に注意を払う必要があります。

一般に、周波数f[Hz]の波形をシミュレータ上で表示させる場合、Time step size T[s]は、

式の画像

を満たすように決めれば問題ありません。Kは一周期に取る点の個数です。20~30程度で構いません。 この式を使うと、f=10[kHz]、K=20のとき、適切なTime step sizeは、5[μS]以下と求まります。

Column:Time step size自動調節機能

ここまでTime step sizeについて解説してきましたが、実際のところ高周波の場合でも、Time step sizeの値を自分で変更する必要はほぼありません。
Circuit Simulator Appletには、電源の周波数を変えたときに、Time step sizeを自動で調整する機能があるためです。
周波数を変えたときに表示される「Adjust timestep to allow for higher frequency?」というメッセージにOKすると、Time step sizeの値が変更されます。

おわりに

これで「回路シミュレータCircuitSimulatorAppletを使ってみよう!」は終わりとなります。ここまで、お読みいただきありがとうございました!

う-ん、よく分からん!

この記事を読んで、疑問に思うことがあったときは、気軽にコメント欄や私のTwitterから質問してください。

参考文献

CircuitSimulatorApplet 全電子部品対訳表

CircuitSimulatorApplet上に表示される電子部品の名前は、全て英語です。
英語で書かれた電子部品の名前を見て、すぐに実際の電子部品が思い浮かぶ人はいいかもしれませんが、そうでない人が大半でしょう。

下の記事では、CircuitSimulatorAppletにある全ての部品の日本語訳を載せてあります。
「日本語では○○っていう部品なんだけど、英語では何ていうんだろう?」「この部品、CircuitSimulatorAppletのどこにあるんだ?」という時にお使いください。

terapotan.hatenablog.jp

Subcircuit公式マニュアル

http://www.falstad.com/circuit/subcircuits.htmlwww.falstad.com

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

【第9回】部品を一つにまとめるSubcircuitとは?

次回の記事

準備中です……

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

複雑な回路を一つにまとめてシミュレーションすることが出来れば、回路図の見通しが良くなります。今回は、そんなことが出来るSubcircuitという部品について解説します。

Subcircuitとは?

Subcircuitの画像

Subcircuit(サブサーキット)とは、いくつかの部品をまとめて一つの部品にしてしまう機能のことです。 例えば、次のような全波整流回路があったとします。(公式Subcircuitマニュアルより引用)

公式の全波整流回路

Subcircuitの機能を使えば、次の図のように複数の部品を一つの部品にまとめてシミュレートさせることが出来ます。(公式Subcircuitマニュアルより引用)

公式の使用例

Subcircuitの作り方

元となる回路を作る

例として、次のような回路を用意しました。

CMOS多数決回路

これは第6回に作成した多数決回路を、MOSFETで改めて作り直したものです。 左側にあるA1,A2,A3が入力、右側にあるのが多数決回路の出力となっています。

MOSFETは、Active Components-Add MOSFET(P-Channel)、もしくはAdd MOSFET(N-Channel)から追加出来ます。
自分でこの回路を作っても構いません。ですが、今回は部品の量が多いため、下のリンクから多数決回路MOSFET版.txtをダウンロードして、回路を読み込むことをおすすめします。

多数決回路MOSFET版

Subcircuitを作成するには、外に出す端子を置く必要があります。 端子(ラベル付きノード)は、Outputs and Labels-Add Labeled Nodeから追加出来ます。

端子イメージ図

端子Edit画面

追加した端子のEdit画面を開くとラベルの名前を入力する欄があります。ここで、入力したラベルの名前は外に出す端子の名前になります。

今回は、入力と出力、電源を外に出す端子として設定します。

設定した回路

設定した回路のデータは、下のリンクからダウンロードできます。

端子設定済み回路データ

Column:Internal Node

端子のEdit画面には、もう一つInternal Node(内部端子)という項目があります。
この項目にチェックを付けると、端子を置いても外部の端子として表示されなくなります。先ほど作成した回路の端子A1のInternal Nodeにチェックを付けると、端子A1は外部の端子として表示されなくなります。

なぜ、こんな項目が用意されているのでしょうか。実は、この部品にはもう一つ機能があり、同じ名前の端子同士は、配線でつながっているものとして、シミュレータ上で扱われるのです。これを使うと、電源の配線や共通の出力などの配線を省くことが出来ます。
ですが、普通に端子を置いてしまうと外部の端子としてみなされてしまい、端子をこの用途で使うことが出来ません。そこで、Internal Nodeという項目が用意されているのです。

Subcircuitを作成する

Subcircuitを作成します。作成した回路をSubcircuitにするには、画面上のFileメニューから、Create Subcircuitをクリックします。

Create Subcircuitの場所

Create Subcircuitの画面

モデルの名前を入力する画面が表示されます。ここでは、MajorCircuitを入力しておきます。OKボタンを押すと、Subcircuitが作成されます。

Subcircuitを使ってみる

作成したSubcircuitを回路に追加するには、Subcircuit Instanceを選択します。Subcircuit Instanceは、Active Building Blocks-Add Subcircuit Instanceから追加できます。

追加したSubcircuit

Subcircuit Instanceの、Edit画面を開きます。

Edit画面を開く

Model Nameの下にある、プルダウンメニューをクリックすると、先ほど作成した、MajorCircuitが表示されるはずです。MajorCircuitをクリックすると、作成したSubcircuitが表示されます。

Subcircuitが表示される

これを使って、改めて多数決回路を作成すると、MOSFETだけで多数決回路を作成したときと、同じように動作していることがわかります。

作成した多数決回路

この回路は、下のリンクからダウンロード出来ます。

Subcircuit使用例

Column:Subcircuitをどうやって保存する?

2020年11月28日現在、CircuitSimulatorAppletでは、Subcircuitだけを保存する機能は存在しません。そのため、通常の回路保存機能を使ってSubcircuitを保存しておく必要があります。
注意が必要なのは、Subcircuitを作っただけでは保存する回路ファイルデータに反映されない、ということです。せっかく、多数決回路、全波整流回路などのSubcircuitを作成して、ファイルに保存しても、Subcircuit Instanceを使って、回路に多数決回路、全波整流回路のSubcircuitを実際に配置しない限り、ファイルに反映されません。

次回予告

今まで、部品はいちいちクリックしたり、メニューを選択したりして追加してきました。ですが、ショートカットキーを使えばそんなことをしなくても、一瞬で部品を追加することが出来ます。次回は、ショートカットキーや、CircuitSimulatorAppletのオプションについて解説していく予定です。

次回で最終回になります。

う-ん、よく分からん!

この記事を読んで、疑問に思うことがあったときは、気軽にコメント欄や私のTwitterから質問してください。

参考文献

CircuitSimulatorApplet 全電子部品対訳表

CircuitSimulatorApplet上に表示される電子部品の名前は、全て英語です。
英語で書かれた電子部品の名前を見て、すぐに実際の電子部品が思い浮かぶ人はいいかもしれませんが、そうでない人が大半でしょう。

下の記事では、CircuitSimulatorAppletにある全ての部品の日本語訳を載せてあります。
「日本語では○○っていう部品なんだけど、英語では何ていうんだろう?」「この部品、CircuitSimulatorAppletのどこにあるんだ?」という時にお使いください。

terapotan.hatenablog.jp

Subcircuit公式マニュアル

http://www.falstad.com/circuit/subcircuits.htmlwww.falstad.com

次回の記事

準備中です……

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

【第8回】シミュレーション結果を音で聞く――Audio Input/Audio Output

次回の記事

terapotan.hatenablog.jp

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

この波形を音にして聞きたい!――そう思った時に使えるのが、Audio Input/Audio Outputです。今回は、これらの部品について解説します。

Audio Output/Audio Inputって?

AudioInput,AudioOutputの画像

画像左の部品が、Audio Input、右の部品がAudio Outputと呼ばれる部品です。
Audio Inputは、その名の通り、好きな音声ファイルの波形をシミュレーター中に入力できる部品です。
Audio Outputは、AudioOutputの端子に入力された電圧の波形を音声にして、聞くことが出来る部品です。 Audio Outputを配置すると、画面右側に、下の画像のようなボタンが表示され、このボタンをクリックすると、音声を再生することが出来ます。

PlayAudioのボタン画像

Audio Inputは、Inputs and Sources - Add Audio Inputから、Audio Outputは、Outputs and Labels - Add Audio Outputから追加できます。

Audio Input、Audio Outputを使ってみる

回路図

上の図のような回路を作成して、Audio Inputに入力した音声ファイルの波形をそのままAudio Outputで聞いてみましょう。 回路データは、ここAudio Output基本回路.txtをダウンロードしてください。(この回路データでは、AudioInputのファイルが指定されていないため、そのままシミュレートさせても上手く動作しません。)

Audio Output配置時に、次のようなメッセージが表示されることがありますが、気にせずOKボタンを押してください。

警告メッセージ

Audio InputのEdit画面

(Edit画面の開き方は、第3回を参考にしてください。)

Audio InputのEdit画面は、次のようになっています。
Audio InputのEdit画面

「ファイルを選択」ボタンをクリックすると、Audio Inputに入力したい音声ファイルを選択することが出来ます。

Duration[s]には、Audio Outputに電圧波形を記録する秒数を入力します。Sampling Rateは、名前の通り、オーディオ関連の話で出てくるサンプリングレートのことですが、「サンプリングレート」と検索すると、大量に記事が出てくるので、意味はそちらを参考にしてください。

シミュレーションを開始すると、Audio Outputの波形記録が始まります。 波形記録には、しばらく時間がかかります。Audio Outputの表示が、次の図のようになるまで待ちましょう。

記録完了

この表示になったら、画面左にある、Play Audioボタンを押して、音声を聞いてみましょう。 Audio Inputの音声ファイルの一部が聞こえてくるはずです。

Audio Outputに、色んな波形を入力する

Audio Input/Audio Outputの使い方の解説はこれで終わりです。 ただ、あまりに記事が短すぎるので、ここからは、Audio Outputに色んな信号を入力して聞いてみましょう。 入力する信号は、1000Hzの正弦波・三角波矩形波の三つです。

回路図

回路データは、ここAudio Output応用回路.txtをダウンロードしてください。

正弦波・三角波矩形波の信号は、Inputs and Sources - Add A/C Voltage Source(2-terminal)から部品を追加して、追加した部品のEdit画面から、Waveformの値を変えることで、追加することが出来ます。

Edit画面

正弦波を追加したい場合は、A/C三角波Triangle矩形波Square WaveWaveformの値を変更してください。

Audio Outputを複数追加した場合は、音声を再生するボタンも複数個追加されます。

複数配置される図

シミュレーションを開始してしばらく経ったら、ボタンを押して音声を聞いてみましょう。

次回予告

全波整流回路オペアンプの内部回路のように、複雑な回路を一つにまとめてあたかも一つのICのようにシミュレーター上で扱いたい時があります。そのような時に使う部品が、SubCircuitという部品です。

次回は、SubCircuitを解説します。

う-ん、よく分からん!

この記事を読んで、疑問に思うことがあったときは、気軽にコメント欄や私のTwitterから質問してください。

参考文献

CircuitSimulatorApplet 全電子部品対訳表

CircuitSimulatorApplet上に表示される電子部品の名前は、全て英語です。
英語で書かれた電子部品の名前を見て、すぐに実際の電子部品が思い浮かぶ人はいいかもしれませんが、そうでない人が大半でしょう。

下の記事では、CircuitSimulatorAppletにある全ての部品の日本語訳を載せてあります。
「日本語では○○っていう部品なんだけど、英語では何ていうんだろう?」「この部品、CircuitSimulatorAppletのどこにあるんだ?」という時にお使いください。

terapotan.hatenablog.jp

次回の記事

terapotan.hatenablog.jp

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp