Ardino基础教程 12_感光灯
實(shí)驗(yàn)十二:感光燈
完成以上的各種實(shí)驗(yàn)后,我們對(duì)Arduino 的應(yīng)用也應(yīng)該有一些認(rèn)識(shí)和了解了,在基本的數(shù)字量輸入輸出和模擬量輸入以及PWM 的產(chǎn)生都掌握以后,我們就可以開始進(jìn)行一些傳感器的應(yīng)用了。
光敏電阻器(photovaristor)又叫光感電阻,是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強(qiáng)弱而改變的電阻器;入射光強(qiáng),電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測(cè)量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。光敏電阻可廣泛應(yīng)用于各種光控電路,如對(duì)燈光的控制、調(diào)節(jié)等場(chǎng)合,也可用于光控開關(guān)。
本次實(shí)驗(yàn)我們先進(jìn)行一個(gè)較為簡單的光敏電阻的使用實(shí)驗(yàn)。光敏電阻既然是可以根據(jù)光強(qiáng)改變阻值的元件,自然也需要模擬口讀取模擬值了,本實(shí)驗(yàn)可以借鑒PWM 接口實(shí)驗(yàn),將電位計(jì)換做光敏電阻實(shí)現(xiàn)當(dāng)光強(qiáng)不同時(shí)LED 小燈的亮度也會(huì)有相應(yīng)的變化。
實(shí)驗(yàn)器材清單
實(shí)驗(yàn)原理圖
連接好就可以編寫程序了,本實(shí)驗(yàn)程序與PWM 實(shí)驗(yàn)程序相類似只是在PWM 值賦值時(shí)根據(jù)我們現(xiàn)在的電路稍有修改(修改部分見參考源程序)。
參考源程序:
int potpin=0;//定義模擬接口0 連接光敏電阻
int ledpin=11;//定義數(shù)字接口11 輸出PWM 調(diào)節(jié)LED 亮度
int val=0;//定義變量val
void setup()
{
pinMode(ledpin,OUTPUT);//定義數(shù)字接口11 為輸出
Serial.begin(9600);//設(shè)置波特率為9600
}
void loop()
{
val=analogRead(potpin);//讀取傳感器的模擬值并賦值給val
Serial.println(val);//顯示val 變量數(shù)值
analogWrite(ledpin,val);// 打開LED 并設(shè)置亮度(PWM 輸出最大
值255)
delay(10);//延時(shí)0.01 秒
}
這里我們將傳感器返回值除以4,原因是模擬輸入analogRead()函數(shù)的返回值范圍是0 到1023,而模擬輸出analogWrite()函數(shù)的輸出值范圍是0 到255。下載完程序再試著改變光敏電阻所在的環(huán)境的光強(qiáng)度就可以看到我們的小燈有相應(yīng)的變化了。在日常生活中光敏電阻的應(yīng)用是很廣泛的,用法也是很多,大家可以根據(jù)這個(gè)實(shí)驗(yàn)舉一反三,做出更好的互動(dòng)作品。
程序代碼
int potpin=0;//定義模擬接口0 連接光敏電阻 int ledpin=11;//定義數(shù)字接口11 輸出PWM 調(diào)節(jié)LED 亮度 int val=0;//定義變量val void setup() { pinMode(ledpin,OUTPUT);//定義數(shù)字接口11 為輸出 Serial.begin(9600);//設(shè)置波特率為9600 } void loop() { val=analogRead(potpin);//讀取傳感器的模擬值并賦值給val Serial.println(val);//顯示val 變量數(shù)值 analogWrite(ledpin,val);// 打開LED 并設(shè)置亮度(PWM 輸出最大值255) delay(10);//延時(shí)0.01 秒 }總結(jié)
以上是生活随笔為你收集整理的Ardino基础教程 12_感光灯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ardino基础教程 11_PWM调控灯
- 下一篇: Ardino基础教程 13_温度传感器