当前位置:   article > 正文

Ardino基础教程 10_光控声音_ardiuno 光控声音代码

ardiuno 光控声音代码

实验十:光控声音

这个实验虽然很简单,可是用处非常大,也很有趣。这样的电路很常
用,希望读者要记住这种用法,举一反三,这才是目的。根据光的强
度,控制蜂鸣器发声的频率,光强越大,声音越急促。
效果很明显。

实验器材清单

  1. 光敏电阻 1个
    在这里插入图片描述
  2. 蜂鸣器 1个
    在这里插入图片描述
  3. 面包板 1个
  4. 面包板跳线 1扎

实验接线图

在这里插入图片描述
在这里插入图片描述

电路连接实物图

在这里插入图片描述

实验原理

本程序应用前面几节读取模拟口电压值的方法,直接将光敏电阻接在模拟口,读出模拟量。在用这个量去控制蜂鸣器发声的频率,光照越强,蜂鸣器频率越高。


程序说明:
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值传给频率控制函数
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/67683
推荐阅读
相关标签
  

闽ICP备14008679号