Arduino UNO와 MCP3425로 무슨 lux를 측정 (MCP3425A0T-E/CH 16bitADC) (밝기)

1.SCL과 SDA를 연결, 풀업도 잊지 않고
2. 전원 연결
3. 아래 소스 코드 작성
4. 컴파일 실행으로 표시되면 종료
5. 끝

참고
htps://bぉg. 오. 네. jp / 치아 rcs - 의d / 그림 / 1FB2f6 그림 382 A19 A 9d342561206C4b FB4

#include <Wire.h>
#define ADD 0x68

float Volts;
float Vref = 2.048 ;
float lux;

void setup() {
    Wire.begin();         //i2cの初期化
    Serial.begin(9600);

    // 7 *(1)待ち
    // 6 *(0)
    // 5 *(0)
    // 4 (0)ワンショット,*(1)連続
    // 3 | (00)12ビット,(01)14ビット
    // 2 | *(10)16ビット
    // 1 I *(00)x1,(01)x2
    // 0 I (10)x4,(11)x8

    //初期値の書き込み
    Wire.beginTransmission(ADD);
        Wire.write(0b10011000); //16bit 15sps PGA x1
    Wire.endTransmission();
}

int read_data() {

    //2文字の読み込み
    Wire.requestFrom(ADD, 2);

    //戻し
    return ( (Wire.read() << 8 ) + Wire.read() );
}

void loop() {
    Volts = read_data() * Vref / 32767.0 ;
    //Serial.println(String(Volts,5));
    lux = 200.0 * Volts;
    Serial.println(String(lux,5));
    delay(1000);
}





좋은 웹페이지 즐겨찾기