過去ログを見よ!!
結果
プログラム
//Grove_I2C_ADC_MIC_M5NanoC6_1
// test code for Grove - Sound Sensor
// loovee @ 2016-8-30
//ヘッダーファイル
#include <Arduino.h>
#include <Wire.h>
#include "nana_Grvove_ADC.h"
void setup()
{
//I2Cとシリアルポートの初期化
Wire.begin();
Serial.begin(115200);
//Serial.println("Grove - Sound Sensor Test...");
delay(1);
}//setup
void loop()
{
//電圧を求める
float Voltage = 0; //電圧
for(int i=0; i<32; i++){
Voltage = Voltage + nana_Grvove_ADC();
}//for
Voltage = Voltage * 0.03125; // Voltage / 32
Serial.println((int)(Voltage * 1000.0));
delay(10);
}//loop
nana_Grvove_ADC.h
//インクルド
#include <Arduino.h>
#include <Wire.h>
//I2Cのアドレス
#define Addr 0x50
float nana_Grvove_ADC() {
//内部アドレスの設定
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
delay(1);
//値の変換
int adc1 = ((h & 0x0F) << 8) + l;
int vo = (adc1 * 6000) >> 12; // (adc1*(3/4096))*2
return( ((float)vo) * 0.001 );
}