参考
結果
プログラム
(M5Stamp S3と全く同じ)
//Grove_ADC_test1_S3_1
//インクルド
#include <Arduino.h>
#include <Wire.h>
//I2Cのアドレス
#define Addr 0x50
//初期化
void setup() {
//I2Cとシリアルポートの初期化
Wire.begin();
Serial.begin(9600);
delay(1);
//初期化(高速変換)
//Wire.beginTransmission(Addr);
//Wire.write(0x02);//CONFIG
//Wire.write(0x20);
//Wire.endTransmission();
//delay(2);
}//setup
//メインループ
void loop() {
//内部アドレスの設定
Wire.beginTransmission(Addr);
Wire.write(0x00);
Wire.endTransmission();
delay(2);
//データの読み込み
Wire.requestFrom(Addr, 2);
delay(1);
int h, l;
if (Wire.available() == 2) {
h = Wire.read();
l = Wire.read();
}//endif
//値の表示
int adc1 = ((h & 0x0F) << 8) + l;
int vo = (adc1 * 6000) >> 12; // (adc1*(3/4096))*2
Serial.print(adc1);
Serial.print("count");
Serial.print('\t');
Serial.print(vo);
Serial.print("mV");
Serial.println();
delay(50);
}//loop