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上傳,
沒有留言:
張貼留言