インターネットには、コンピューターで作成されたサウンドファイルの例があり、オシロスコープの入力をオーディオカードの左右のチャンネルに接続して再生する必要があります。 それらのいくつかは 、人間の耳を聞くことを恐れてさえいません。 しかし、リアルタイムでプログラムからオシロスコープのビームを直接制御したいので、マイクロコントローラを選択しました。 Arduino DUEにはボード上に2つの12ビットD / Aコンバーターがあり、84 MHzのクロック周波数と96 KBのメモリにより、プログラム最適化の要件が緩和されます。 コードを書くときは、コントローラーがかなり複雑なイメージを作成している間に、コードを読みやすくすることができます。 シールドやその他の外部電子機器は必要ありません。オシロスコープは、arduinoの出力に直接接続できます。
シンプルなグラフィックライブラリが作成され、ポイントとラインを描画する機能に加えて、描画速度を設定する機能が追加されました。 Brezenheimのアルゴリズムを再評価することは理にかなっていないと思います。Wikipediaからほとんど変更せずに移植しました。 すべてのソースコードはGitHubで無料で入手できます 。 このプログラムはGraphBaseの子孫のダースクラスで構成され、各クラスは画面上に単純なプロットを描画します。 たとえば、動くテキスト、クリスマスツリー、花火などです。 オシロスコープは、電子はがきの形でツリーに届けられたため、その動機はほとんどが新年のものです。
100回読むよりも1回見る方が良いので、すぐにビデオに進みます。
実験結果と結論:
- 最新のデジタルオシロスコープをマイクロコントローラに接続しようとしましたが、アナログ画像の方がずっと快適です。 蛍光体の徐々に消える残光は、「暖かい管」の雰囲気を作り出します。
- Arduino DUEは一瞬で三角関数の計算に対応し、「花」の座標をリアルタイムで計算するのに十分な速度でした。 数値の場合、Lissajousはより多くの計算を必要とするため、マイクロコントローラーは最初に正弦テーブルを計算し、整数演算を使用する必要があります。
- 無料のVisualmicroプラグインを備えたVisualStudioは、ネイティブのArduino IDEよりもはるかに便利です。
- オシロスコープでの描画は非常に簡単です。 Arduinoでのコードのデバッグは難しい場合がありますが、この場合はほとんど必要ありませんでした。
- DACの速度は有限であるため、あるラインから別のラインに切り替えると、出力Xの電圧が最初に切り替わり、次に出力Yの電圧が画面に表示されます。 それらは、例えば、「2014」という浮彫りの碑文を持つフレーム上で、別々のポイントとして表示されます。
一般的に、私の意見では、非常に良い結果が得られました。 次の論理的なステップは、オシロスコープを検流計の一対のミラーに交換し、レーザービームで壁に描くことです。