GY-30 GND ---- GND Arduino
ADD ---- GND
SDA ---- A4
SCL ---- A5
VCC ---- 5V


#include <Wire.h>
//接続先のアドレス
#define ADDRESS 0b00100011
int i;
void setup() {
Serial.begin(9800);
Wire.begin();
Wire.beginTransmission(ADDRESS);
Wire.write(0b00010000);
Wire.endTransmission();
}
void loop() {
unsigned char H, L;
Wire.requestFrom(ADDRESS, 2); //接続し2byte取得する
if (Wire.available()) {
H = (unsigned char)Wire.read();
if (Wire.available()) {
L = (unsigned char)Wire.read();
unsigned short pos;
pos = H << 8;
pos = pos + L;
pos = pos / 1.2;
Serial.println(pos);
}
delay(1000);
}
}
このプログラムをArduinoに書き込んでシリアルモニタを開くとルクスの値が表示されます。
#include <Wire.h>
//接続先のアドレス
#define ADDRESS 0b00100011
unsigned char buff[10];
int i;
void setup() {
Serial.begin(9800);
Wire.begin();
Wire.beginTransmission(ADDRESS);
Wire.write(0b00010000);
Wire.endTransmission();
}
void loop() {
unsigned char*buf_pt;
buf_pt = buff;
Wire.requestFrom(ADDRESS, 2); //接続し2byte取得する
while (Wire.available()) {
*buf_pt++ = (unsigned char)Wire.read();
}
if ((buf_pt - buff) >= 2) {
unsigned short pos;
pos = buff[0] << 8;
pos = pos + buff[1];
pos = pos / 1.2;
Serial.println(pos);
}
delay(1000);
}