欢迎光临
我们一直在努力

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

这个示例将演示如何用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毫秒

}

未经允许不得转载:Arduino-Maker » 数字部分-自动感应调节音律

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育