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