آردوینو Arduinoمطالب علمی

راه اندازی ماژول نوری GY-30 با آردوینو

ماژول BH1750 یک برد مجهز به سنسور حساس به شدت نور است که دارای یک مبدل AD شانزده بیتی است. این ماژول می تواند مستقیما سیگنال دیجیتال در خروجی ایجاد کند. راه ارتباطی این ماژول رابط سریال I2C می باشد. این ماژول برای تشخیص میزان نور محیط با دقت و رزولوشن بالا مناسب بوده و داده های خروجی آن بصورت lx (لوکس متر) می باشد. همچنین این ماژول به راحتی به وسیله آردوینو قابل راه اندازی است.

bh1750fvi-intensity-digital-light-sensor-module-for-arduino-571b56d3-800x800

مشخصات فنی ماژول GY-30 سنسور دیجیتال سنجش شدت نور

Digital Light intensity detection module: GY-30 Chip : BH1750FVI
Power supply: 3V-5V power
Light range :0-65535 lx
Sensor built-in : 16 bitAD converter
Direct digital output, bypassing the complex calculation, bypassing the calibration
Don’t distinguish between ambient light
Close to the spectral characteristics of visual acuity
widely use to 1-lux high precision measurement
Standard NXP I2C communication agreement

این برد یک Breakout Board ساده برای سنسور BH1750FVI است که می توانید از آن به عنوان لوکس متر استفاده کنید هچنین از این ماژول می توانید برای اتوماسیون و سنجش نور اتاق ، گلخانه  و هرجایی که نیاز به سنجش میزان نور باشد به کار برد.

ابزار مورد نیاز برای راه اندازی ماژول نوری GY-30

نحوه اتصال ماژول نوری GY-30 به آردوینو

687474703a2f2f66756e6b79696d672e636f6d2f692f3237786a482e706e67

Arduino
(NanoUno, Pro Mini)
Arduino
(Mega, Mega 2560)
GY-30
BH1750FVI breakout board
5V oder 3.3V (VCC) 5V oder 3.3V (VCC) VCC
GND GND GND
A4 (SDA) D20 (SDA) SDA
A5 (SCL) D21 (SCL) SCL

برنامه راه اندازی ماژول ماژول نوری GY-30 با آردوینو

#include <Wire.h>

int BH1750_address = 0x23; // i2c Addresse
byte buff[2];

void setup(){
  
  Wire.begin();
  BH1750_Init(BH1750_address);
  
  delay(200);
  Serial.begin(9600);
  Serial.println("Starte Beleuchtungsstaerkemessung - blog.simtronyx.de");
}

void loop(){
  
  float valf=0;

  if(BH1750_Read(BH1750_address)==2){
    
    valf=((buff[0]<<8)|buff[1])/1.2;
    
    if(valf<0)Serial.print("> 65535");
    else Serial.print((int)valf,DEC); 
    
    Serial.println(" lx"); 
  }
  delay(1000);
}

void BH1750_Init(int address){
  
  Wire.beginTransmission(address);
  Wire.write(0x10); // 1 [lux] aufloesung
  Wire.endTransmission();
}

byte BH1750_Read(int address){
  
  byte i=0;
  Wire.beginTransmission(address);
  Wire.requestFrom(address, 2);
  while(Wire.available()){
    buff[i] = Wire.read(); 
    i++;
  }
  Wire.endTransmission();  
  return i;
}

خروجی برنامه بر روی پورت سریال

beleuchtungsstaerkemessung-bh1750fvi-arduino-serial-monitor-blog-simtronyx-de_

 

نوشته های مشابه

1 دیدگاه

  1. خخخخخخخخخخخخخ من میگم برو توی مدیریت و تاریخ پست را از 95 بکن 89 اینجوری خفن تر به نظر میاین خخخخخخخخخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا