photo-1-2

光敏電阻(Photoresistor),會依光照的強度去改變電阻值,常被用在一些和明暗有關係的開關上,使用上基本和可變電阻、聲音模組差不多,只要線接對了,程式寫法是一樣的,也是透過類比輸入的方式讀取數值。

大家可以參考傑森之前寫的可變電阻、聲音模組的教學:
[Arduino範例] 聲音感測模組
《Arduino入門》第四篇:類比輸入、類比輸出,利用可變電阻控制LED明暗變化

這個範例很簡單,我們從監控視窗可以看到從光敏電阻讀取的值,然後設定一個基準值,當讀取到的值小於這個基準值,就把LED點亮,反之就熄滅。

先接好線吧!請注意,可變電阻不分邊,一邊接5V,一邊接GND,但接GND那邊,一定要加上電阻,不然可能會造成Uno的損壞!這個電阻用1K~10K都是可以的,這次傑森用10K。

photo-3

基準值以這個例子來說,正常讀取的值是900多,基準值我就設定900,這樣只要用手去擋住光敏電阻的上方,讓它所在的區域變暗了,數值必然低於900,那麼LED就亮;手一移開,數值又重回到900多,LED又會滅掉。

void setup() {
  Serial.begin(9600);
  pinMode(3,OUTPUT);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  if(sensorValue < 900){   //當光敏電阻給的值小於基準值。這個基準值依個別情況修改
    digitalWrite(3,HIGH);  //燈亮
  }else{
    digitalWrite(3,LOW);   //燈滅
  }
  delay(10);
}

photo-2

photo-4