前回の質問で、アナログ値から電圧に変換することについて教えていただいたのですが、それで入力された数字があまりにも小さいのです。使用しているセンサーは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);
}
ボードの種類を教えてください。arduinoの何?ですか?
Serial.println(a); で表示される値はいくつですか?それは、予想していた値ですか?
arduinoとPCを接続するためにUSBを使っていらっしゃいますよね?どのような構成にしていますか?
ピン番号合ってます?可能なら画像載せてもらえると判断しやすいんですが。
原因特定のためシリアルからの値、a,v,pのそれぞれはいくらになっていますか?
arduinoのアナログ入力ピンを、arduinoの電源に接続してみてください。(気圧センターはつながない) そうするとa,v,pはどうなりますか?
まず”3V"位の入力であれば’a=614~615'になっていますか?
気圧センサーのグランドと、Arduinoのグランドが接続されていますか? ソフトウェアの問題では無く、ハードウェアの問題である可能性があります。
arduino UNOを使用しています。表示された値はそれぞれa=35,v=0.18,p=32前後です。回路は正しくつないでいます。ピンも確認しました。
coco_bauerさんの仰ってる通り、原因の切り分けをすべきだと思います。センサーをつながない状態で、アナログピンを電源(5VとGND)に接続しそれぞれの場合の値を教えてください。5Vにつないだ時は1020~1023位の値に、GNDに繋ぐと5以下にはなるのではないかと思います。
5Vとアナログピンとをつなげたとき、通常どおり1023の値が出ました。またGNDにつなげたときは0が出てきました。
センサーの配線の仕方があやしいので回路図かなにか配線の様子がわかるものをください
すません。編集で写真を貼ったつもりでしたができません。どうしたらいいでしょうか
回答2件
あなたの回答
tips
プレビュー