九州工業大学から公表されているページは次の通り。
http://www.iizuka.kyutech.ac.jp/faculty/physicalcomputing/pc_kitscope/
これに従って作業を進めれば良いだけのことだが、PCとArduinoを組み合わせてオシロスコープにするので、PC側の表示画面も用意しないといけない。これはProcessingを使って作られているとのこと。
Arduinoは今Raspberry-Paiで動いているので問題ないが、ProcessingをRaspberry-Paiで動かす必要がある。
まずはProcessingのインストールから。
ダウンロードは
https://processing.org/download/
から行う。
ラズパイなので、LinuxARMv6hf を選択するが、すぐ寄付のページになってしまう。寄付をせずにダウンロードもできるようだが、どこからどう進むのかが全くわからない。「寄付をせずにダウンロード」といったチェックマークも見当たらない。ネット上で探してみると、すんなりダウンロードできた例もあり(ほとんどがそうだろうが)、ブラウザによって違いがあるのかもしれない。ちなみに手元のスマホでやってみたら、同じように寄付のページは出るものの、並行してダウンロードが行われていた。もしかしてと思って見たが、Daunloadsのホルダーには、それらしきファイルは見当たらなかった。
結局「LinuxARMv6hf」にマウスのカーソルを持っていって右クリック、メニューから「リンクのアドレスをコピー」を選択して、新しいタブでアドレスを指定してダウンロードを行った。
![]() |
| ダウンロードしようとすると、この寄付の画面が出て、寄付をしないと進めない? |
![]() |
| カーソルを「LinuxARMv6hf」に合わせたら、右クリックでメニューを表示させ、 「リンクのアドレスをコピー」を選択。新しいタブに貼り付けてダウンロードを行う。 |
ラズパイへのインストールは不慣れで苦労したが、単に勉強不足というだけのこと。結局問題なくインストールが完了し、デスクトップ上にアイコンもできた。立ち上げてみると、ArduinoのIDEのような感じでスケッチの書き込みウィンドウが立ち上がる。
続いてProcessing、Arduinoのスケッチをダウンロードする。九州工業大学のページにはダウンロードのアイコンがあるので、そこをクリックする。しかし・・・。
「サーバーへのリクエストは拡張機能によってブロックされています。」
という表示が出てダウンロードできない。
このメッセージで検索をして解決法を探した。その結果ブラウザの「Chromiumの設定」メニューから、「その他のツール」→「拡張機能」を選択すると、いくつかのアイコンが並んでいて、その一つ「uBlock Origin 1.15.2」の「有効」についているチェックを外すことでダウンロードができるようになった。
![]() |
| ダウンロードできない |
![]() |
| 「uBlock Origin 1.15.2」の「有効」についているチェックを外す |
後はダウンロードしたProcessing、Arduinoのそれぞれのスケッチを動かすだけだが、Processingでオシロスコープのスケッチを立ち上げた状態では、Arduinoのボード書き込みがエラーとなった。止めたらOKだったので、余計なプログラムは止めてボードの書き込みをする必要があるようだ。
![]() |
| arduinoを動作させていないと、この画面が出る |
オシロスコープとして使うためには、Arduinoに若干の配線が必要のようだが、とりあえずPCの表示も含めて動きそうかどうかはボードを繋いだだけで確認できる。
使用環境
Raspberry Pai3 ModelB V1.2(Raspbian)
Arduino UNO(互換品KumanUNO)、nano(互換品Elegoo) ボードバージョン1.6.20で使用。(1.6.21ではnanoへの書き込みがエラーになるため)
オシロスコープらしくする
Arduino Nanoをケースに入れ、BNCのコネクタをつけてみたのが下の写真。ケースは100円ショップにあったカードケース。測定用ケーブルはアマゾンから2本347円で購入した、先端がミノムシクリップになっているもの。(クリップは付替え)
| ケースは105X75X30mmのカードケース |
| Arduinoで発生させたSin波形を測定中。 これは外部にDAコンバータをつけたもの。 |
実際に波形を表示させてみる
やはりArduinoでスケッチを作り、サイン波形を出力させたものを表示してみた。
Digital OUTを8ビット使い、抵抗で簡易にDAコンバートしたものである。
(詳細は別途)
1度ごとに計算しているので波形が階段状になっているのがわかる。
![]() |
| 波形出力は0〜5Vだが、抵抗で1/2にして入力している。 |
スケッチの作りがよくないので、Sin波形の所々にヒゲが出ている。アナログのオシロだとヒゲはほとんど見えない。(出ていても輝度が薄くなってわからない)
サイン波形の周期は約67msとなっていて(10ms/div)、周波数にすると、約15Hzである。スケッチでいちいちSinθの計算をしつつ、D2〜D9に1ビットずつ順番に出力しているので、こんなに遅くなっている。
ArduinoでSin波形や三角波を出力させる方法は、外部にDAコンバータをつけるなど、もっといいやり方があると思う。(別途実験をしている)
ただ、実際に出力波形を測定に使うのであれば、プログラマブルオシレータなどの専用の発振器を使用するのが現実的。







0 件のコメント:
コメントを投稿