Ardino基础教程 10_光控声音
實(shí)驗(yàn)十:光控聲音
這個(gè)實(shí)驗(yàn)雖然很簡單,可是用處非常大,也很有趣。這樣的電路很常
用,希望讀者要記住這種用法,舉一反三,這才是目的。根據(jù)光的強(qiáng)
度,控制蜂鳴器發(fā)聲的頻率,光強(qiáng)越大,聲音越急促。
效果很明顯。
實(shí)驗(yàn)器材清單
實(shí)驗(yàn)接線圖
電路連接實(shí)物圖
實(shí)驗(yàn)原理
本程序應(yīng)用前面幾節(jié)讀取模擬口電壓值的方法,直接將光敏電阻接在模擬口,讀出模擬量。在用這個(gè)量去控制蜂鳴器發(fā)聲的頻率,光照越強(qiáng),蜂鳴器頻率越高。
程序說明:
int buzzer = 9; //定義蜂鳴器的輸出引腳為9
int R_guangming = 0;//定義光敏電阻的輸入引腳
int val;
void setup()
{
pinMode(buzzer,OUTPUT);//設(shè)置連接蜂鳴器的引腳為輸出
}
void voice_out(int del)//聲音的頻率控制函數(shù)
{
delay(del);//通過改變延時(shí)來改變頻率,很簡單
digitalWrite(buzzer,HIGH);
delay(del);
digitalWrite(buzzer,LOW);
}
void loop()
{
val=analogRead(R_guangming); //讀取模擬接口0 的
值,并將其賦給val
if(val<700)
{
voice_out(val); //把讀到的val 值傳給頻率控制函數(shù)
}
}
實(shí)驗(yàn)現(xiàn)象
將程序下載到實(shí)驗(yàn)板后,可以用手電筒或其他収光物體照射光敏電阻,可以聽到有光照時(shí)蜂鳴器聲音頻率明顯改變。
掌握本程序后,大家可以自己動(dòng)手設(shè)計(jì)實(shí)驗(yàn),也可以用光敏電阻控制led 燈亮度。
程序代碼
int buzzer = 9; //定義蜂鳴器的輸出引腳為9 int R_guangming = 0;//定義光敏電阻的輸入引腳 int val; void setup() { pinMode(buzzer,OUTPUT);//設(shè)置連接蜂鳴器的引腳為輸出 } void voice_out(int del)//聲音的頻率控制函數(shù) {delay(del);//通過改變延時(shí)來改變頻率,很簡單digitalWrite(buzzer,HIGH);delay(del);digitalWrite(buzzer,LOW); } void loop() { val=analogRead(R_guangming); //讀取模擬接口0 的值,并將其賦給valif(val<700){voice_out(val); //把讀到的val值傳給頻率控制函數(shù)} }總結(jié)
以上是生活随笔為你收集整理的Ardino基础教程 10_光控声音的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ardino基础教程 9_数字电压表
- 下一篇: Ardino基础教程 11_PWM调控灯