赞
踩
这个实验虽然很简单,可是用处非常大,也很有趣。这样的电路很常
用,希望读者要记住这种用法,举一反三,这才是目的。根据光的强
度,控制蜂鸣器发声的频率,光强越大,声音越急促。
效果很明显。
本程序应用前面几节读取模拟口电压值的方法,直接将光敏电阻接在模拟口,读出模拟量。在用这个量去控制蜂鸣器发声的频率,光照越强,蜂鸣器频率越高。
程序说明:
int buzzer = 9; //定义蜂鸣器的输出引脚为9
int R_guangming = 0;//定义光敏电阻的输入引脚
int val;
void setup()
{
pinMode(buzzer,OUTPUT);//设置连接蜂鸣器的引脚为输出
}
void voice_out(int del)//声音的频率控制函数
{
delay(del);//通过改变延时来改变频率,很简单
digitalWrite(buzzer,HIGH);
delay(del);
digitalWrite(buzzer,LOW);
}
void loop()
{
val=analogRead(R_guangming); //读取模拟接口0 的
值,并将其赋给val
if(val<700)
{
voice_out(val); //把读到的val 值传给频率控制函数
}
}
将程序下载到实验板后,可以用手电筒或其他収光物体照射光敏电阻,可以听到有光照时蜂鸣器声音频率明显改变。
掌握本程序后,大家可以自己动手设计实验,也可以用光敏电阻控制led 灯亮度。
int buzzer = 9; //定义蜂鸣器的输出引脚为9 int R_guangming = 0;//定义光敏电阻的输入引脚 int val; void setup() { pinMode(buzzer,OUTPUT);//设置连接蜂鸣器的引脚为输出 } void voice_out(int del)//声音的频率控制函数 { delay(del);//通过改变延时来改变频率,很简单 digitalWrite(buzzer,HIGH); delay(del); digitalWrite(buzzer,LOW); } void loop() { val=analogRead(R_guangming); //读取模拟接口0 的值,并将其赋给val if(val<700) { voice_out(val); //把读到的val值传给频率控制函数 } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。