{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "オリジナルの作成: 2014/12/20" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 08-オシロスコープを使ってみる\n", "Arduinoのもう一つの用途は、測定機器としての活用です。\n", "\n", "これまでできなかったことがArduinoによって簡単にできることをオシロスコープの例で 実感してみてください。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 九州工業大学の簡易オシロスコープを使ってみる\n", "オシロスコープは、信号を波形として表示する測定器です。 安い物でも10万円以上もすることから、電子工作に使うことが難しかった測定機器の一つです。\n", "\n", "九州工業大学の簡易オシロスコープの \n", "[公開ページ ](http://www.iizuka.kyutech.ac.jp/faculty/physicalcomputing/pc_kitscope/)\n", "にある以下のダウンロードサイトからkit_scope_20130222.zipをダウンロードします。\n", "\n", "- [kit_scopeダウンロードサイト](http://webdisk-i.isc.kyutech.ac.jp/public/EZPcwAvIoY7AXW0BTdxTZ7Cgb0yRl3HpF4WIR_4s_BEd)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Arduinoスケッチの書き込み\n", "zipファイルを展開するとArduinoとProcessingの2つのフォルダにkit_scopeというフォルダが ありますから、Arduinoの中のkit_scopeを~/Documents/Arduinoのフォルダに入れます。\n", "\n", "Arduinoを起動して、ファイル→スケッチブック→kit_scopeを選択して、スケッチをArduinoに 書き込みます。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Arduinoとの接続\n", "公開ページの接続図を以下に引用します。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## CR_積分回路を試す\n", "AnalogDiscoveryを試す/01-CR積分回路の回路にkit_scopeの1KHzのクロックを入れて、 どの程度の解像度が得られるのか試してみます。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Processingのkit_scopeの起動\n", "zipファイルを展開したProcessingの中のkit_scopeを~/Documents/Processingのフォルダに入れます。\n", "\n", "Processingを起動して、File→ScketchBook→kit_scopeを選択します。\n", "\n", "- MODE signalをクリックして、DUALにセット\n", "\n", "以下の様な波形が表示されます。これはまさに AnalogDiscoveryを試す/01-CR積分回路 でAnalogDiscoveryを使って測定した波形と同じで、ArduinoとProcessingを使ったオシロスコープ でもこんなにきれいな波形が表示できることに驚きました。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CR積分回路の測定\n", "50Hz, 500Hz, 5kHzの波形は、特別なツールを用いるのではなく、もう一つのArduinoを使ったとても簡単なスケッチを使用しました。\n", "\n", "以下の様な回路を組みました。CR積分回路は、セラミックコンデンサーと抵抗でつくる簡単な物ですが、 理論やLTSpiceのシミュレーションと同じような波形が観測されました。\n", "\n", "\n", "\n", "信号を生成するArduino Mini Proのスケッチは、以下の様にしました。 delayMicrosecondsの値を10000, 1000, 100に変えることで、50Hz, 500Hz, 5kHzになります。 \n", "1\n", "\n", "```C++\n", "int out = 13;\n", "\n", "void setup() {\n", " pinMode(out, OUTPUT);\n", "}\n", "\n", "void loop() {\n", " digitalWrite(out, HIGH);\n", " delayMicroseconds(10000);\n", " digitalWrite(out, LOW);\n", " delayMicroseconds(10000);\n", "}\n", "```\n", "\n", "50Hz, 500Hzの波形は、以下の様になります。 非常に安価に、CR積分回路の挙動を視覚的に確認できることに驚きます。\n", "\n", "5KHzでは、ほとんど変化がありません。\n", "\n", "
\n", " | \n", " |
\n", " | \n", " |