空を見上げて
トップページ » ソフト » スマートフォン » Nexus7(その6)

Nexus7(その6)

作りかけではあるが、一応ソースを置いておくことにする。
参考サイトのソースをつなげただけというか。(^^!

・Arduinoのソース
条件:FTDIでシリアル->USB変換しているもの(なるべく16MHzのもの)
ダウンロード
A0がCh1、A1がCh2の入力になる。
小型のものを使えば格好はいいが、オシロとしては周波数が低すぎ。

・Androidのソース(binにapkもあり)
条件:V3.1以上でHost機能のあるもの
ダウンロード

・Androidのapkのみ
条件:V3.1以上でHost機能のあるもの
ダウンロード

これは完全に途中状態。動作中の回転などには対応していない。
オシロだと「水平時間」「垂直拡大(8bitなので無理?)」「トリガ」「波形位置」...つけたいものは沢山あるが全くついていない。
波形は止められるので、Nexus7だと「電源+音量小」を押すとスクリーンショトがとれる。役に立つ...かもしれない。

やっていて思ったのは...

多分、市販のオシロは望むべくもないと思うので割り切ったほうがいいと思われる。
そもそも1chなら¥4000-4700で売っている。
http://akizukidenshi.com/catalog/g/gK-04279/
しかもサンプリングは5MHz。(1Mほどが実用範囲?)
でも2chは欲しい気がする。

10bitあれば垂直拡大もできそうだが、バスパワーなのでノイズ影響もありシビアな測定は難しいかもしれない。それよりシリアル転送速度が問題になりそう。
Arduino以外を素材にしてFTDI245で転送すれば描画や速度はあげられるが、価格的にはかかってしまう。
それなら、やはりUSB-Audioを使いたい。Line入力なら2chだし、48Kあたりまでは測定できそう。使わない場合は音楽も聞けるし...。光出力があれば高級オーディオになるのかも。

再度になるが、以下のライブラリやソースを継ぎ足している。m(__)m
・USBの制御部分
https://github.com/ksksue/FTDriver
・Androidの描画部分
高速なのでSerfaceViewを使う参考サイト
http://bbs.flatworld.jp/node/1456
重ねあわせ(目盛りと波形)の参考サイト
http://labs.appshelf.info/2011/06/02/268/

adbで書けば、V1.6以上なら動くのでHarpyあたりに入れて遊ぶのもいいかもしれない。
ただ(どのぐらいか別にして)転送速度が遅くなるのは間違いない。同じAVRでやればサンプリング速度が下がる。多分、レベルがレベルなので気にするほどでもないかも。
確認レベルには使えても実用には遠いかも。

このまま放置しておくと、埋もれていくので一応配布はしちゃおうかと。誰かなおしてくれるかもしれないし。
無保証だしサポートもないと思うけど。

Arduinoからのデータは115200bpsで
0xFF(Sync)
0xXX(1ch目のデータ8bitで0xFFは0xFEに変換)
0xXX(2ch目のデータ8bitで0xFFは0xFEに変換)
1ch分(100us)休止
になっていて、これを繰り返している。なのでFTDIでそういう感じで送信すればArduinoでなくても動作する。

感覚的には
・USBはもう少し早いと格好良く思える。FTDI245などだが、あまり無理しなくてもストレスがひどいわけでもない。10bitなどにすると転送にかかりそう。
・キャプチャーは、AD+メモリにすれば¥の分よくなる。ただ市販のオシロを目指すとそれなりの価格になり、ソフトもそれなりにしないといけなくなる。
 なんとなくフレームの概念を持たせてH8+FTDI232なりFTDI245あたりまでがアマチュアっぽい。

と思ったら500KHzのを見つけた。
http://www.picfun.com/android/android12.html
PICの大鋸所、後閑さんではないか!!
PIC24だと500KHz出るらしい。2ch使うと250Hzなのかしら?
それでもUSB直接で凄いかも。
Androidソフトはキャンバスにベタ書きなのでオシロっぽくはないかも。
ドライバも書いてあるのでこれがいいかも。

で今のところ...(2chの前提で)
1.2.5KHzまでなら
 FTDIのシリアルでやる
128bitでいいのならch1の0bit=0 ch2の0bit=1にすればチャネルの区別がつくので、データ数は半減できる。多分5Khz程度は2chで出せるように思うがバッファレスでは限界かも。
2.48KHzまでなら
 AndroidがUSB-Audioをサポートしてとれるようになるのを待つ
3.250KHzまでなら
 PIC24を使う。まあバッファすれば転送速度は考えなくてもシリアルでもいいかも。
 1024*2byteなら我慢できないこともない。クロックを変えれば115200bps以上出るらしいが...。
4.それ以上
 フレームの概念をもたせRAMに入れてゆっくり(?)転送する。
 なんかいきなりこうした方が実用的かも。
かな?

PIC24でUSBなら
http://www.microfan.jp/shop/97_182.html
かな?遊ぶには高いかも。1chで我慢して表示付の秋月Kitにしたくなる。

by   at 09:00
コメント

コメントはありません

コメントを書く




保存しますか?


(書式を変更するような一部のHTMLタグを使うことができます)


Please enter the security code you see here