Switch ScienceやAmazonで売ってる「Raspberry Pi用高精度AD/DAボード」を買ってみました.
Raspberry Piが備える汎用の入出力端子はデジタルなものしかありません.このボードを使うことで,Raspberry Piにお手軽にアナログの入出力(それも高精度な)を追加できます.
約4000円です.
Fosa 高精度AD/DA拡張ボード ラズベリーパイA + / B + / 2Bに対応 アナログデジタルモジュール
- 出版社/メーカー: fosa
- メディア: エレクトロニクス
- この商品を含むブログを見る
このボードを試しに使ってみます.
基板の詳細
こちらは,Seeed Studioという中国の基板メーカー(Fusion PCBという基板製造サービスをやっているところ)の製品のようです.
- ADS1256
- 24 bit AD ×8チャンネル
- 2チャンネル分の入力を束ねて差動入力にもできる
- -0.3〜6[V]まで
- DAC8532
- 16 bit DA ×2チャンネル
- ADテスト用ボリューム
- ADテスト用CdS
- DAテスト用LED ×2
私の試用環境
- Raspberry Pi 3 Model B
- Raspbian Stretch 9.4
公式の試用方法
サポートページがあります.
High-Precision AD/DA Board - Waveshare Wiki
このページの内容にしたがって
- bcm2835ライブラリのインストール
- テストプログラムのダウンロードと実行
をすることで,機能をテストできます.
bcm2835ライブラリのインストール
bcm2835というRaspberry PiのSoCのライブラリの導入が必要です.
この作業はダウンロードして解凍するまでは他のMacやPCからも作業できます.
こちらのサイトからダウンロードできます.
bcm2835: C library for Broadcom BCM 2835 as used in Raspberry Pi
「http://www.airspayce.com/mikem/bcm2835/bcm2835-1.xx.tar.gz」と書かれているところをクリックするとダウンロードされます.
ダウンロードされたファイルを解凍(展開)します.
Raspberry Piであれば,以下のコマンドを打ちます.
cd ~/Downloads
tar zxvf bcm2835-1.xx.tar.gz
- xxにはバージョン番号が入る
すると,同じディレクトリに「bcm2835-1.xx」というフォルダが作成されます.
ここからインストール作業に入ります.Mac/PCで用意した方も,ここからはRaspberry Piで作業してください.
cd ~/Downloads/bcm2835-1.xx
でフォルダの中に入り,
./configure make sudo make check sudo make install
でインストールします.インストール途中でエラーのようなものが出たら失敗しています(どのようにすれば成功するかはわかりません,すみません).
成功すればインストール完了です.
テストプログラムのダウンロードと実行
テストプログラムもダウンロードから解凍まではMac/PCで作業できます.
テストプログラムは先ほどのサポートページからダウンロードできます.
High-Precision AD/DA Board - Waveshare Wiki
ページを半分ほど下りたところにある「source code」というリンク(ADとDAの2箇所にリンクがありますが同じものです)をクリックして,
ファイル「High-Precision-AD-DA-Board-Code.7z 」をダウンロードします.
Raspberry Piでは以下の手順で解凍できます. ただし,パッケージp7zipが必要ですので,持ってない人は,
sudo apt-get install p7zip-full
を実行してください.
cd ~/Downloads
7z e ./High-Precision-AD-DA-Board-Code.7z
で解凍できます.
解凍したフォルダの構造は以下の通りです.
- Raspberry
- ADS1256
- DAC8532
- AD-DA
これで必要なファイルが用意できました.
ここから実行していきます.Mac/PCで用意した方も,ここからはRaspberry Piで作業してください.
まずはADをテストしましょう.
なお,ピンヘッダのジャンパーはこのようになっているといいと思います(1個黄色のを無くしたので,黒色のが付いてます.初期状態で大丈夫です.).
ADS1256のフォルダに移動して,
cd ~/Downloads/High-Precision-AD-DA-Board-Code/Raspberry/ADS1256
この中にCのファイルとmakefileがあるので,ビルドして実行します.
make sudo ./ads1256_test
makeのとき2つほどwarningが出るのは仕様です(ファイルの最後にいらない文字が入ってるせい).
以上のようにビルドして実行すると,画面に8つの数字が出てきたはずです. ボリュームを回すと一番上の数字が変化するはずです.
(スクショはmacからのsshで撮ってます)
DACの場合はLED2つがなめらかに点滅します.
AD-DAは名前に反してADの差動入力モード+DAは固定値で光るだけというプログラムです.
自作ライブラリ「HPADDAlibrary」
公式のソースを元に自作のライブラリをGitHubで公開しました.
公式のプログラムはライセンスが明示されていなかったため問い合わせたところ「完全なフリーだ」と返信がきました.
私のプログラムはMITライセンスで公開しています.
公式のテストプログラムと同じく,bcm2835というRaspberry PiのSoCのライブラリの導入が必要です. (Wiring Piなどを使えば必要無いのでしょうが..)
ライブラリの説明は次の記事に書きました.