arduino 当红色灯亮起时发出一个频率的声音,绿色灯亮起时发出另一个频率的声音的代码
时间: 2024-09-13 16:19:12 浏览: 33
基于Arduino nano R3 diy一个拍手控制的自动灯-电路方案
5星 · 资源好评率100%
要实现Arduino在红色灯亮起时发出一个频率的声音,绿色灯亮起时发出另一个频率的声音,你需要使用Arduino的数字输入输出功能,以及一个蜂鸣器。以下是一个简单的示例代码,它使用了一个红色LED和一个绿色LED,分别连接到Arduino的数字引脚上,并使用同一个蜂鸣器来发出不同的声音频率。
```cpp
// 定义LED和蜂鸣器的引脚
const int redLED = 10; // 红色LED连接到数字引脚10
const int greenLED = 11; // 绿色LED连接到数字引脚11
const int buzzer = 9; // 蜂鸣器连接到数字引脚9
void setup() {
// 初始化引脚模式
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
// 点亮红色LED,发出声音
digitalWrite(redLED, HIGH);
tone(buzzer, 1000); // 发出1000Hz的声音
delay(1000); // 持续1秒
// 关闭红色LED,停止声音
digitalWrite(redLED, LOW);
noTone(buzzer); // 停止声音
delay(500); // 暂停0.5秒
// 点亮绿色LED,发出不同的声音
digitalWrite(greenLED, HIGH);
tone(buzzer, 2000); // 发出2000Hz的声音
delay(1000); // 持续1秒
// 关闭绿色LED,停止声音
digitalWrite(greenLED, LOW);
noTone(buzzer); // 停止声音
delay(500); // 暂停0.5秒
}
```
在这段代码中,`tone()` 函数用于生成一个特定频率的声音,而`noTone()` 函数用于停止声音。`delay()` 函数用于在改变状态之前暂停程序执行一段时间。你可以通过调整`tone()`函数中的频率值和`delay()`函数中的时间来控制声音的频率和持续时间。
阅读全文