14. 簡易オシロスコープの製作

 音声信号回路の配線をしていると、できあがった回路が動作しなかったり誤動作することがよくあります。回路そのものの接続良否はテスターで確認できますが、信号の状態や時間的な変化を調べるためにはオシロスコープが必要になります。
 今回は、九州工業大学情報工学部のホームページで公開されている「Arduino簡易オシロスコープ」を製作します。ワンボードマイコンArduinoとパソコンをオシロスコープに変身させるもので、手元では、プログラムや回路のデバッグツールとして欠かせないものになっています。情報を開示された九州工業大学情報工学部に感謝します。



1.Arduinoの準備

 まず、今回使用する部品材料をまとめておきましょう。名称をクリックすると詳細情報を参照できます。
 主役はワンボードマイコンのArduinoです。Arduinoには多くの種類がありますが、最もシンプルなUnoを使いました(たまたま手元に遊んでいるのがあったので)。PCは今まで通りWindows 10のノートブックです。

No.名    称数量参考単価備  考
1Arduino Uno (Rev3 開発 ボード A000066)1\2,326税別
2ミニブレッドボード BB-6011\130
3カーボン抵抗 1/4W 1kΩ3100本セット \100.-
4カーボン抵抗 1/4W 100kΩ1100本セット \100.-
5積層セラミックコンデンサー 1μF1\20
6ジャンパーワイヤ(オス-オス)1110本セット \454.-
7配線用線材少々
8USB2.0ケーブル(A-Bタイプ)1\130Arduino<=>PC接続用

 Arduinoを使うには、専用の開発環境(Arduino IDE)をインストールする必要があります。ここではまず、インストール方法について説明します。すでにArduinoを使っている場合は、以下の説明は読み飛ばして2へ進んで下さい。

○Arduino IDEのインストール

 IoTのプロトタイピングや電子工作で大活躍のArduinoは、大変使いやすいのが特徴です。それを可能にしているのが統合開発環境「Arduino IDE」です。Arduinoのプログラム言語は、わずかなコーディングスタイルを除けばC言語に類似しています。その入力からコンパイルとボードへの書き込み、デバッグまでを一貫してサポートし、システム環境の条件設定なども簡単にできるのが特徴です。
 このArduino IDEは、Arduino公式サイトからダウンロードできます。次の画面から環境に応じたインストーラを選択して(ここではWindows Installerを)ダウンロードします。

 ダウンロードされたarduino-1.8.13-windows.exeをダブルクリックするとインストールが始まります。特に問題がなければ、表示されるメッセージにしたがって次々に進めるとインストールが完了します。


○動作確認

 デスクトップに作成された[Arduino]アイコンで、またはインストールされたarduino.exe(インストール時に特に指定していなければC:\Program Files (x86)\Arduinoフォルダー内にある)をクリックしてIDEを起動します。次のような画面が表示されるとOKです。


2.計測回路の作成

 準備ができたので、『Arduino 簡易オシロスコープ』のアーカイブをダウンロードします。次のリンクからどうぞ! ダウンロードの際には、掲載されている操作方法や回路図、スペックなどに目を通しておきましょう。
        九州工業大学情報工学部『Arduino 簡易オシロスコープ』

 写真・下左のように、パーツ点数が少なく回路もきわめて簡単なため、ミニブレッドボード上に配線しています。右は、見やすくするために、実配線と対応させた回路図です。上方向のA0からD3までは、それぞれジャンパーワイヤーでArduinoの該当するデジタルポートやアナログ入力ポートに接続します。これらの作業はArduinoの電源がOFFの状態、つまりPCとのUSBケーブルを外した状態で行います。
 下側のGNDとCH1/CH2は計測用の入力端子で、2つのチャンネルを同時計測できます。その右はEXTトリガー入力とPULSE出力用です。


 下はArduinoと接続した状態です。

 配線が正しくできていることを確認して、ArduinoとPCをUSBケーブルで接続します。


3.ソフトウェアの設定

①アーカイブの内容確認

 先にダウンロードしたkit_scope_20190410.zipを解凍すると、次のフォルダーとファイルが展開されます。  なお、Arduinoではソースプログラムのことをスケッチと呼びます。
kit_scope_20190410 | +--- Arduino | | | +--- kit_scope | | | +--- kit_scope.ino Arduino用プログラム(スケッチ) +--- Processing | +--- kit_scope | +--- kit_scope.pde Processing用プログラム | +--- data | +--- kit_scope0.png 起動画面 +--- kit_scope1.png スコープ画面

②Arduinoボードへのスケッチ書き込み

 Arduino IDEを起動してタスクバーの[ツール]をクリック。下図のように、ボードを展開して「Arduino Uno」を選択します。次にシリアルポートを展開して、使用可能なシリアルポートを選択します。これでプログラムをArduinoボードに書き込む準備ができました。

 次に、タスクバーの[ファイル]-[開く]をクリックして、解凍した\Arduino\kit_scapoフォルダー内のkit_scope.inoを読み込みます(次図)。続いて、赤丸で囲んだ[マイコンボードに書き込む]ボタンをクリックします。プログラムのコンパイルが進んでボードに書き込みが完了するまで待ちます。終われば、「ボードへの書き込みが完了しました」と表示されます。


③Processingシステムのインストール

 Processingは、ビジュアルデザイン用プログラミング言語とその開発環境です。簡易オシロスコープは5,000行に迫る大きなコードから成っており、これを実行するために必要な「Processing」Windows64ビット版をダウンロードしました。以下のリンクから、それぞれの環境にあったものをどうぞ!
        『Download Processing』

 ダウンロードされたZIPファイル(ここではprocessing-3.5.4-windows64.zip)を解凍して現れるフォルダー「processing-3.5.4」を、Cドライブ直下に配置します。


④Processingの起動

 c:\processing-3.5.4\processing.exeを起動して、先に解凍したkit_scope_20190410内のkit_scope.pdeを開きます。このファイルは、解凍フォルダー内の次の位置にあります。
    ~~\kit_scope_20190410\kit_scope_20190410\Processing\kit_scope\kit_scope.pde
 これによって、ドキュメントフォルダーに Processingフォルダーが作成され、配下にkit_scopeフォルダーが作成されます。
    C:\Users\UserName\Documents\Processing\kit_scope
 ショートカットを「KitScope」という名前で作成し、次のファイルへリンクを張ってデスクトップに貼り付けます。
    C:\Users\UserName\Documents\Processing\kit_scope\kit_scope.pde
 その「KitScope」をダブルクリックすると、ProcessingのIDEが立ち上がります。

 図のマウスポインターで示す[実行]ボタンをクリックすると、下のような起動画面が表示され、少し間をおいて簡易オシロスコープ『Kyutech Arduino Scope』が現れます。
 止める場合はオシロスコープ右上の[×]ボタンをクリックするか、Processing IDEの停止ボタンをクリックします。


4.使ってみる

 使い方については、九州工業大学情報工学部『Arduino 簡易オシロスコープ』のページに記載されている内容をご覧下さい。また、『Arduino講座 1000円で作れる簡易USBオシロスコープ』には、操作方法や信号の観察ほか内容が豊富なので、訪問をお勧めします。


 ここでは、第9~11章で進めてきたI2Sデジタル出力マイクを使って波形を観測してみましょう。このオシロスコープは同時に2チャンネル観測できるので、I2SマイクのWS(データワード選択)とSCK(基準クロック)の波形を観測します。
 ブレッドボードに組み立てたマイクのWSにチャンネル1、SCKにチャンネル2のジャンパーワイヤーを、GNDにはGNDのワイヤーをそれぞれ接続します。
 次に、SSHターミナルエミュレータ(Poderosaなど)を立ち上げてPi Zeroに接続し、第11章で作成したリアルタイムサウンド処理のスケルトンプログラム「htskelton」を起動してください。
$ gcc htskelton.c -lportaudio $ ./a.out

 オシロスコープを立ち上げて、パネル最上段にある[Mode signal]をクリックしマウスのホイールを回して 「DUAL」にします。既定値の状態で下図のような波形が表示されます。

 既定値の時間軸[HORZ]は2msec/divになっています。この部分をクリックするとマウスのホイールで値を変更できます。これを20μs/divにすると、次図のように波形の幅が広がります。時間軸を替えることで波形の詳細を観測することができるわけです。


 これで、音声信号処理のための開発・評価ツールがソフト面でもハード面でも充実してきました。次回はアナログマイクを使うために必要なADコンバーターを製作する予定です。お楽しみに!