光敏電阻(Photoresistor),會依光照的強度去改變電阻值,常被用在一些和明暗有關係的開關上,使用上基本和可變電阻、聲音模組差不多,只要線接對了,程式寫法是一樣的,也是透過類比輸入的方式讀取數值。
大家可以參考傑森之前寫的可變電阻、聲音模組的教學:
[Arduino範例] 聲音感測模組
《Arduino入門》第四篇:類比輸入、類比輸出,利用可變電阻控制LED明暗變化
這個範例很簡單,我們從監控視窗可以看到從光敏電阻讀取的值,然後設定一個基準值,當讀取到的值小於這個基準值,就把LED點亮,反之就熄滅。
先接好線吧!請注意,可變電阻不分邊,一邊接5V,一邊接GND,但接GND那邊,一定要加上電阻,不然可能會造成Uno的損壞!這個電阻用1K~10K都是可以的,這次傑森用10K。
基準值以這個例子來說,正常讀取的值是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);
}