Arduino Uno + Excelでオシロっぽい何かを作る。
Arduino UNOを最近買った。何か実験したいな、と思ってまずはA/Dコンバータがどう動くかみてみた。
#define n 200 void setup(){ Serial.begin(9600); } void loop(){ unsigned long a[n+1]; unsigned int b[n+1]; int i; for (i=0;i<=n;i=i+1) { a[i]=micros(); b[i]=analogRead(0); } for (i=0;i<=n;i=i+1) { Serial.print(a[i]); Serial.println(); Serial.print(b[i]); Serial.println(); } } aにはμsec単位の経過時間、bにはA/Dコンバータ0の値をまず配列で順次読みこむ。
で、その結果をまとめてシリアル通信でPCに送るのだが、、、
※ADの値を順次シリアルで送る方法もあるが、なんとなく遅そう、ということでこっちを
採用してます。
Excelでどうやって受け取ろうか、と考えるにEasycommというライブラリが非常に
便利そうなので使わせてもらいました。一発で動いた。
http://www.activecell.jp/download/index.htm
結果がこちら。手持ちのファンクションジェネレータで500Hzのサイン波/三角波/矩形波を入れた時。
実験風景:Arduinoとテスターとファンクションジェネレータ。![]()
数kHzくらいまでは見えるけど、、、変換遅いなあ。まあちょっとした遊びには使えるか。
« JR舞子駅から淡路島にズーム。 | トップページ | ファンクションジェネレータ(Tenma 72-5016)を発掘。 »
「学問・資格」カテゴリの記事
- RF Weekly Digest (Gemini 3.5 Flash・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/31-6/7(2026.06.07)
- 高周波・RFニュース 2026年6月4日 Qualcommが6Gウェビナー開催、Next G Allianceが5G ISACイニシアティブ立ち上げ、Keysightが新RFシグナルアナライザ発表、アンリツが5G LTM評価環境構築(2026.06.04)
- 高周波・RFニュース 2026年6月3日 BroadcomがブロードバンドエッジAIポートフォリオ発表、Marvellが102.4Tbpsスイッチ発表、Mini-CircuitsがLTCC・MMICフィルタのカスケード接続解説、ASUSのミニPCにSnapdragon X2 Elite、KeysightとNTTドコモ・NTTが6Gシミュレーション協業(2026.06.03)
- 高周波・RFニュース 2026年6月2日 QualcommがSnapdragon C発表&6G解説記事、アンリツが140Gbaudバイアスティ内蔵 広帯域リニアアンプ発売、SONY Xperia 10 VII分解動画など(2026.06.02)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/24-5/31(2026.05.31)
コメント
« JR舞子駅から淡路島にズーム。 | トップページ | ファンクションジェネレータ(Tenma 72-5016)を発掘。 »







突然のコメントですいません。
自身もArduino UNOとexcelのeasyCommで通信をしているのですが、
excelからec.binary=0と送信をするのですが、どうしてもボタンを2度押ししないと、UNOは反応してくれません。
ご自身は、似たような経験はされましたか?もし、解決策があれば、教えてください。
また、easyCommの説明ファイルに、以下のコードがあって、試したのですが、どうしても通信ができません。
ec.binary=0
Do
CountOld = ec.InBuffer
DoEvents
Loop While dataSize = 0
Do
ec.WAITmS = 100 '1000mS待ちます
CountNew = ec.InBuffer '受信データ数を取得します
If CountNew = CountOld Then '変化がなければ Loopを抜けます
Exit Do
End If
CountOld = CountNew '前回のデータ数を更新
Loop
その代わりに、
ec.binary=0
str = ec.AsciiLine
だと、2度押しすると作動します。
何か、共感できるところがあれば教えてください。
よろしくお願いします。
投稿: 大北 | 2013年10月 5日 (土) 16時51分
ec.binaryでなくてec.AsciiLineを使ってみてはどうでしょう?
投稿: tonagai | 2013年10月 6日 (日) 09時24分