0

I2C バスで MCP3221 を Teensy 3.1 に接続し、それを Vref(3.3V) に接続して、動作しているかどうかを確認しました。ただし、別の電圧に接続しても0を読んでいます。コードに問題がありますか、それとも新しいデバイスを入手する必要がありますか?

#include <MCP3221.h>
#include <Wire.h>
#include "SoftwareSerial.h"

#define ADDRESS 0x4D // 7 bits address is 0x4D, 8 bits is 0x9B

MCP3221 adc(155,0x3);

void setup() {
  Serial.begin(9600);
  Serial.println("First");
  Wire.begin(); //connects I2C

}


void loop() {

  Serial.println(adc.readI2CADC());

  delay(10);

}
4

2 に答える 2

0

正しいアドレスを使用していません。定数を宣言しますが、決して使用しません。宣言は次のadcようにする必要があります

MCP3221 adc(ADDRESS, 0x3);

なんで?少し調べてみると、8 ビット アドレス (10 進数で 155、16 進数で 0x9B) の代わりに、7 ビット アドレス (この場合は 0x4D) を使用する必要があることがわかりました。この例でもそれがわかります。この例は、Arduino IDE の [File] > [Examples] > [MCP3221] にあるはずです。

例を見ると、に渡した 2 番目の引数adcも間違っている可能性があるようですが、これについてはよくわかりません。測定値が常に同じである場合は、より大きな値を試してください。

于 2015-08-27T19:59:57.373 に答える