■ArduinoとExcelでオシロスコープを
つくったので、紹介します。
まずは、どんな出来かを、デモ動画。
■主な仕様
・サンプリング・スピード 最大で150μSec(インターバル)
・最小電圧レンジ 0~5V(これ以上の電圧レンジは分圧で自在に)
・チャンネル数 最大8Ch(Arduno Nanoの場合)
・A/D Bit数 10Bit
■あれこれ
PC+Excelをお持ちであれば、Arduino Nano(中華で$3くらい)のみで、ArduinoのスケッチとExcel VBAのソフトウェアで実現可能な超安のオシロスコープです(これより安いのは、おそらく無い)。ArduinoのA/Dの変換スピードとUARTの速度(115200Bit/Sec)の制約から、サンプリング・スピードは、150uSec程度が限界となりますが、簡単な波形モニターならば、充分実用になると思います。
PC・Excel側には、膨大なメモリーがありますので、ほぼ無限大の時間の連続測定が可能です。また、測定結果はExcelのシートに書き出されるので、詳細な後解析が可能です。ExcelのBookを保存すれば、そのまま測定結果の保存が出来ますし、レポートの資料にも簡単に使えます。
■Arduino スケッチ & Excel VBA
試してみたい方は、こちらからどうぞ➡スケッチ&VBAダウンロード
■2017/08/17(木)
超久々に更新する気になりました。
やはり、1Chだと何かと不便なので取り敢えず2Ch化してみました。同様にして、Arduino Nanoであれば8Chまで実現出来ますが、A/D変換に1Chあたり150uS程度時間がかかるので、測定のインターバルの下限値は長くなっていきます。
下の絵で、使い方を簡単に解説しました。後は、やってみればすぐに解るとと思います。この測定事例は、LEDのローソクを作った時(試行錯誤の日々参照)、電池の放電特性とLED端子電圧を測ったものです。インターバルは5秒で、長時間(約17時間)測定したもので、普通のオシロではこういう測定は苦手なのではないでしょうか。➡Arduino_2Ch_Oscilloscope.zip
■2018/05/29(火)
★動作しない
ご質問コーナーで、動作しない件のご意見がありましたので、調べてみました。結論は、これです。
この、参照不可になっているところが、問題です。これは、PCとArduinoのSerial通信に関係するActiveXです。
これへの対処は、ネットにも情報があり、ここからMicrosoft Visual Basic 6.0コモンコントロールの更新プログラムをダウンロードして実行します。その後、参照不可になっているところの、チェックを外します。そして、新たに参照設定で、c:\windows\system32\MSCOMCTL.OCXを指定します。
これで、参照不可は解消され、動作すると思います。
私のPCでは、動作していたので、あれこれやっていないPCでNGを再現させて解析し、動作OKとなりました。EasyCommは、インストールは不要です。excel・VBAにインポート済みです。
この問題(情報不足)で、ご苦労をおかけしました皆様には、お詫び致します。
■サイト内・リンク
inohana says:
原潜さん
つたないアプリですが、ご活用頂き有難う御座います。
VBAは、動けばOK割切りで、かなりグチャグチャだと自覚していますが、あれを読みとって頂いた御苦労に感謝します。
H.Inohana
原潜 says:
100mS以下の間隔でデータ保存できる圧力ロガーが必要で参考にさせていただきました。
とても良いソフトを開示いただきありがとうございます。
inohana says:
マツナガさん
ありがとう御座います。
動くまで、チャレンジして頂いた根性は、凄いです。
美しい、正弦波が表示されてますね。
マツナガ says:
エクセルをバージョンアップしました、正常に動作致しました。
とても良いファイル有難う御座います!
inohana says:
マツナガさん
いろいろ、調べて頂いて感謝です。
同じように、「動かない」、方々に役に立つと、思います。
私のバージョンは、2013、です。
マツナガ says:
http://excelshogikan.com/tips/tips128.html
エクセルのバージョンによる障害かも?
マツナガ says:
エクセルでファイルを起動すると
この画面でデバッグを選択すると
先日送った画面です。
inohana says:
こんばんは。
私のところで、再現できれば、解析できるのですが、、、
貼り付けて頂いた、絵を見ると、エラーでは無くて、中断となっています。この行にブレークポイントが設定されていませんか?
マツナガ says:
今晩は、やはりこれでとまります。
FullSeriesCollection
inohana says:
おはようございます。
⓵EasyComm?、原因確認中!
②UNOでは、動作確認未です、、、
※今日は、結婚式なのでレス止まりますが、ご容赦を、、、
マツナガ says:
どうも上手く動作できません、
UNOで他のHP参考のものは動作します。
http://sci.tea-nifty.com/blog/2013/04/arduino-unoexce.html
https://www.youtube.com/watch?v=YyMUSDm3sBk
inohana says:
COMポートは、自動でArduino Nanoを探して、設定されます(中華Arduino用なのでUSB・シリアル変換がCH340用になっています)。ここを、
ec.COMn=45
とすれば、OKかと?
マツナガ says:
とりあえず頂いた内容です。
マツナガ says:
お手数おかけしております。
com 45なのですが
変更箇所が分かってないです
お教え願いませんでしょうか?
inohana says:
>1 マツナガさん
あれこれ、試行錯誤するのは、スキルアップに良いですが、それが目的でない場合は、
これ
でやってみて下さい。
貼り付ける前に動作確認済です。
inohana says:
>1 マツナガさん
Arduinoオシロの活用へのチャレンジ、ありがとう御座います。
だいぶ前につくったヤツなんで、思い出しながらご回答します。
とりあえず、
グラフはグラフ4が前提となっている、ださいプログラム、なんで、そうなっていますか?
また、グラフの中身(データリソース)は、系列1、系列2がちゃんと入ってますか?
マツナガ says:
はじめまして
動作しなくてこまっております。
COMはへんこうしてます。
コンパイル エラー
メソッドまたはデータメンバが見つかりません。
.FullSeriesCollection
これに青い印がでます。