2016年12月2日 星期五

Arduino UNO學習610.照度計模塊GY-30

Arduino UNO學習610.照度計模塊GY-30

”光”的感應元件多是用光敏電阻,但光敏電阻的感應範圍較窄,
當要接收強光時,就需要BH1750這類的晶片,最亮可接收到60000以上的Lx,
Lux勒克斯Lx是一種光的亮度單位,請自上網搜知,此處不作解釋,
此模塊GY30便搭載了BH1750晶片,並使用3-5V電力
 
準備以下硬體並安裝
Arduino UNO R3
照度計模塊GY-30
接線

VCC=電源正輸入
SCL=IIC時脈
SDA=IIC數據
ADD=驅動位址,可不接或接地
GND=低平電源共端


需先安裝資料庫到libraries中,參考下載點
下載目錄安裝到C:\Program Files\arduino\libraries
再開啟arduino程式,於範例中會多個BH1750,選擇BH1750test上傳,
 
  以下測試環境為Win7+Arduino1.6.7版本+硬體Arduino Uno R3
#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup(){
  Serial.begin(9600);
  lightMeter.begin();
  Serial.println("Running...");
}

void loop() {
  uint16_t lux = lightMeter.readLightLevel();
  Serial.print("Light: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000);
}

完成上傳後打開監控視窗,開始回傳顯示亮度數據

大神網址參考
www.homautomation.org/2014/06/15/measure-light-with-arduino-and-bh1750-module


WinXP測試時有編譯錯誤的情況,換了主機及Arduino IDE軟體版本有些可以,
原因是XP部分程式與Arduino版本的相容問題,目前還找不到簡單的處理方式,
 建議使用Win7上傳,
 



沒有留言:

張貼留言