数字部分-自动感应调节音律

这个示例将演示如何用tone()命令来制作一个可以随着灯光敏感变化发出不同声响的喇叭。

硬件需求
—Arduino控制板
—8欧喇叭
—光敏电阻
—4.7K欧电阻
—100欧电阻
—面包板
—面包线

电路
image
喇叭正极通过100欧电阻接入9号引脚,负极接入GND。光敏电阻一端接5V,另一端接A0,并联通过4.7K欧电阻接入GND。

原理图
image

代码

这个示例的代码非常简单。只是用了模拟输入,然以后用map函数映映射一个范围。人耳可以听到的平率是20-20000Hz,但是120-1500是比较悦耳的。

你需要获得实际模拟输入的范围,这个电路中,模拟输入范围是400-1000,。用map()函数来改变数值,对应你的传感器范围。

void setup() {

//设置串口通信频率

Serial.begin(9600);

}

void loop() {

// 读取模拟值

int sensorReading = analogRead(A0);

// 把读取到的值打印在串口监视器上

Serial.println(sensorReading);

// map模拟输入范围 (这个案例中, 光敏电阻范围400 - 1000 )

// 对应到输出音律 (120 - 1500Hz)

// 在下面的公式里面改变最大最小值(从你实际传感器中获取)

int thisPitch = map(sensorReading, 400, 1000, 120, 1500);

// 发出音律

  tone(9, thisPitch, 10);

delay(1); // 间隔1毫秒

}
0
分享到:

评论0

请先

本站资料配套硬件销售店铺:天猫店ultirobot.tmall.com 、三冠淘宝店zhongbest.taobao.com
没有账号? 忘记密码?