本程序應用前面讀取類比端口電壓值的方法,直接將光敏電阻接在數位口。
光敏電阻器的特性 常用的光敏電阻器是硫化鎘光敏電阻器,它是由半導體材料製成的。光敏電阻器的阻值隨入射光線(可見光)的強弱變化而變化,在黑暗條件下,它的阻值(暗阻)可達1~10MΩ;在強光條件(100LX)下,它阻值(亮阻)僅有幾百至數千歐姆。
光敏電阻器對光的敏感性(即光譜特性)與人眼對可見光(0.4~0.76)μm的響應很接近,隻要人眼可感受的光,都會引起它的阻值變化。所以設計光控電路時,都用白熾燈泡光線或自然光線作控製光源,使設計大為簡化。
光敏電阻隨入射光線的強弱其對應的阻值變化不是線性的,也就不能用它作光電的線性變換,這是使用者應注意的地方。初學者可購置一隻光敏電阻器,在夜間點一盞60~ 100 W 的白熾燈,用三用表直接測量光敏電阻器的阻值。測量時,應把光敏電阻對著白熾燈的光,再逐漸拉開與燈的距離(由近到遠),觀察三用表指示的阻值變化,可以直觀驗證光敏電阻的特牲,以加深對它的特性認識。常用的光敏電阻器型號有密封型的MG41、MG42、MG43和非密封型的MG45(售價便宜)。它們的額定功率均在200mW以下。
光敏電阻的一端接在數字6口,另一端與蜂名起正極相連,蜂明器的負極和GND相連。
程式類似蜂鳴器發聲的程序,沒有光照時,正常發出聲音,但聲音特別的小;當有光照時,光敏電阻的阻值減小,所以蜂鳴器兩端的電壓就會增大,蜂鳴器聲音發大。光照越強,電阻越小,蜂鳴器越響。
void setup()
{
pinMode(6,OUTPUT);
}
void loop()
{
while(1)
{ char i,j;
while(1) {
for(i=0;i<80;i++) //輸出一個頻率聲音
{
digitalWrite(6,HIGH);
delay(1);
digitalWrite(6,LOW);
delay(1); //Hi+Lo=2ms Freq=500Hz
}
for(i=0;i<100;i++) //輸出另一個頻率聲音
{
digitalWrite(6,HIGH);
delay(2);
digitalWrite(6,LOW);
delay(2); //Hi+Lo=4 ms Freq=250Hz
}
}
}
}
將程序下載到實驗板後,可以用手電筒或其他發光物體照射光敏電阻,可以聽到
有光照時蜂鳴器聲音更大。
掌握本程序後,大家可以自己動手設計實驗,也可以用光敏電阻控制led燈亮度。
沒有留言:
張貼留言