Arduino- GY30光线传感器实验(检测光照强度)

Arduino- GY30光线传感器实验(检测光照强度)

硬件准备

Arduino Uno其他版本均可适用
请添加图片描述
GY-30光照传感器
请添加图片描述

接线部分

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

代码部分

用到的库文件是
请添加图片描述

完整代码

#include <Wire.h>

#define ADDR 0b0100011

void setup() {
    
    
  Serial.begin(9600);   //设置波特率
  
  while (!Serial) {
    
    ;}
  
  Wire.begin();
  Wire.beginTransmission(ADDR);
  Wire.write(0b00000001);
  Wire.endTransmission();
}
void loop() {
    
    
  int val = 0;    //初始化光照值

  Wire.beginTransmission(ADDR);
  Wire.write(0b00000111);
  Wire.endTransmission();
 
  Wire.beginTransmission(ADDR);
  Wire.write(0b00100000);
  Wire.endTransmission();
  delay(120);
  /*计算光照*/
  Wire.requestFrom(ADDR, 2);      //每次2byte
  for (val = 0; Wire.available() >= 1; ) {
    
    
    char c = Wire.read();
    val = (val << 8) + (c & 0xFF);
  }
  val = val / 1.2;
  /*输出光照数值*/
  Serial.print("当前光照值: ");
  Serial.println(val);
  delay(500);
}

实际效果展示

通过改变灯光的大小改变光照检测数值
请添加图片描述
祝你顺利!!!

猜你喜欢

转载自blog.csdn.net/weixin_50679163/article/details/119656272
今日推荐