質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

5991閲覧

arduino アナログ出入力について

kent_4456

総合スコア8

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2017/02/07 09:06

編集2017/02/09 08:49

前回の質問で、アナログ値から電圧に変換することについて教えていただいたのですが、それで入力された数字があまりにも小さいのです。使用しているセンサーはMIS-2503-015Gというセンサーですが、データシートどおりでしたら、一気圧=15PSIで3V近くの値が出力されているはずで、テスターを使って確認しましたが、データシートどおりの数字が出できました。しかしパソコンのシリアルボードには0.18V前後が表示されていました。考えられる原因としてarduino側にあると思われるのですが、どこがまずかったのでしょうか。

スケッチはこちらです
int socket=2;

void setup() {
Serial.begin(9600);
}

void loop() {
int a;
float v,p;

a=analogRead(socket);

v=a*5.0/1023.0;

p=float((v-0.096)/2.71568.95);

Serial.println(a);
Serial.println(v);
Serial.println(p);

delay(1000);

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

granfa_yuzo

2017/02/07 10:03

ボードの種類を教えてください。arduinoの何?ですか?
granfa_yuzo

2017/02/07 10:19

Serial.println(a); で表示される値はいくつですか?それは、予想していた値ですか?
granfa_yuzo

2017/02/07 23:40

arduinoとPCを接続するためにUSBを使っていらっしゃいますよね?どのような構成にしていますか?
ozwk

2017/02/07 23:58

ピン番号合ってます?可能なら画像載せてもらえると判断しやすいんですが。
MasahikoHirata

2017/02/08 00:21

原因特定のためシリアルからの値、a,v,pのそれぞれはいくらになっていますか?
coco_bauer

2017/02/08 02:25

arduinoのアナログ入力ピンを、arduinoの電源に接続してみてください。(気圧センターはつながない) そうするとa,v,pはどうなりますか?
MasahikoHirata

2017/02/08 03:39

まず”3V"位の入力であれば’a=614~615'になっていますか?
coco_bauer

2017/02/08 05:06

気圧センサーのグランドと、Arduinoのグランドが接続されていますか? ソフトウェアの問題では無く、ハードウェアの問題である可能性があります。
kent_4456

2017/02/08 08:25

arduino UNOを使用しています。表示された値はそれぞれa=35,v=0.18,p=32前後です。回路は正しくつないでいます。ピンも確認しました。
ElecDove

2017/02/08 15:48

coco_bauerさんの仰ってる通り、原因の切り分けをすべきだと思います。センサーをつながない状態で、アナログピンを電源(5VとGND)に接続しそれぞれの場合の値を教えてください。5Vにつないだ時は1020~1023位の値に、GNDに繋ぐと5以下にはなるのではないかと思います。
kent_4456

2017/02/09 08:00

5Vとアナログピンとをつなげたとき、通常どおり1023の値が出ました。またGNDにつなげたときは0が出てきました。
ozwk

2017/02/09 08:17

センサーの配線の仕方があやしいので回路図かなにか配線の様子がわかるものをください
kent_4456

2017/02/09 08:56

すません。編集で写真を貼ったつもりでしたができません。どうしたらいいでしょうか
guest

回答2

0

気圧センサーのドライブ能力(出力の強さ)が、Arduinoのアナログ入力をドライブするのに足りなかったためではないかと思われます。

同様の現象と、その対処方法が書かれた下記の記事が参考になると思います。
質問者が経験したように、センサーからの信号をアナログ入力にいれてAD変換した結果が35付近でふらついています。

AVR(Arduino)にLM35温度センサをつなげた場合に正しくA/D変換出来ないトラブル

センサーとArduinoのアナログ入力の間に、ボルテージフォロワー(出力の電圧が入力の電圧と同じになって、ドライブ能力を増強してくれる回路)を入れる事で解決するはずです。
ボルテージフォロワーには、レイルツーレイル(0~電源電圧の出力できる)オペアンプを使ってください(100円ぐらいで買えます)。

オペアンプの例
ボルテージフォロワ回路

投稿2017/02/09 09:20

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

これよく見るとゲージ圧力計で
つまり1気圧を基準とした圧力を出力します。

つまり出力が0付近で多分正常動作です。

投稿2017/02/09 09:08

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ElecDove

2017/02/09 14:43

質問に >テスターを使って確認しましたが、データシートどおりの数字が出できました。しかしパソコンのシリアルボードには0.18V前後が表示されていました。 とあるので、ゲージ圧計ならテスタで計っても0Vでは?と思ったのですが…
ozwk

2017/02/09 14:57

出力の隣に電源ピンあるのでそっち当たったか センサーが違うか 回路がおかしいか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問