1.光敏電阻的基本原理
光敏電阻也是電阻中的一種,其阻值隨光強度的變化而變化。光敏電阻一般由硫化鎘、硒化鎘、硫化鋁等半導體材料制成,這些材料在特定波長的光照射下,載流子在電場的作用下漂移運動,其阻值迅速下降。
光敏電阻的阻值隨光強度的增加而減小,光敏電阻在黑暗的環境下其阻值一般幾十K以上,甚至高達1MΩ到10MΩ。 如下圖為光敏電阻實測結果,在光線較充足的環境下其阻值3.049K,在較暗的環境下測量,其阻值為74.9K。
2、光敏電阻控制LED的原理
光敏電阻采樣的原理較簡單,光敏電阻直接串聯一個高精度的基準電阻1KΩ,再接5V電源即可,中間輸出接入單片機ADC采樣接口進行電壓采樣。
通過單片機IO口控制LED燈亮滅,實現白天光線較亮時,LED燈不亮;晚上光線較暗時,LED燈點亮。
其原理為,光線變化會影響光敏電阻阻值改變,從而導致ADC接口采集到的電壓變化,單片機通過采集到的電壓數字量進行判斷是白天還是黑夜,當黑夜時,控制IO口輸出高電平點亮LED燈;當白天時,IO口輸出低電平,LED燈不亮。
A0引腳是ADC引腳(模擬輸入引腳),Arduino有6個模擬輸入引腳A0~A5,對于輸入引腳的參考電壓為0~5V,庫函數為analogRead(),讀取返回值,范圍為0~1023,線性關系,輸入0V時返回值為數字0,輸入5V時,返回值為1023,比如光敏電阻為4K時,ADC接口的電壓為4V,對應的數字量為4/5×1023=818,因此,analogRead()返回818,利用該值控制LED燈亮滅。
示例程序如下:
int led_0 = 13;
int lightSensor_0 = A0;
void tup() {
pinMode(led_0, OUTPUT);
pinMode(lightSensor_0, INPUT);
}
void loop() {
if(analogRead()>818)
digitalWrite(led_0,HIGH);
el
digitalWrite(led_0,LOW);
}
當采集到的數字量大于818時,即光敏電阻的阻值大于818時,認為光線較暗,LED的IO口輸出高電平,點亮LED燈;否則,認為光線較強,LED的IO口輸出低電平,LED燈熄滅。
本文發布于:2023-02-28 20:00:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167764891276286.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:光敏電阻(光敏電阻工作原理).doc
本文 PDF 下載地址:光敏電阻(光敏電阻工作原理).pdf
| 留言與評論(共有 0 條評論) |