gpt4 book ai didi

c++ - 音()不工作

转载 作者:行者123 更新时间:2023-11-28 04:42:44 25 4
gpt4 key购买 nike

我是 Arduino 的新手(因为这个周末我必须学习它来完成一个学校项目)并且我无法让我的压电扬声器为闹钟发出声音。当草图运行时,一切正常。 LED 闪烁,但蜂鸣器不发声,这很奇怪,因为 LED 和蜂鸣器命令在草图中相互穿插。如果有人可以帮助我解决这个小问题,将不胜感激!

我只包含了 void 循环以供引用,但已经设置:

int buzzerPin = 1;

setup() 函数中:

pinMode(buzzerPin, OUTPUT); 
void  loop() {
//MAKE LCD BLUE
setBacklight(0, 0, 255);
digitalClockDisplay(); // time displays on LCD
for (int k = 0; k < count; k++) {
if (hour() == h[k] && minute() == m[k] && second() == 00) {
Serial.println(amount[k]);
Serial.print(" ");
Serial.print(med[k]);
setBacklight(0, 0, 255);
lcd.setCursor(0, 0);
lcd.print(amount[k]);
lcd.print(" ");
lcd.print(med[k]);
lcd.print(" ");
for (int m = 0; m < 1000; m++) {
setBacklight(0, 0, 255);
lcd.setCursor(0, 1);
lcd.print(hour()); //prints real time
printDigits(minute());
printDigits(second());
digitalWrite (led, HIGH);
tone(buzzerPin, buzzerFrequency);
delay(buzzerInterval);
noTone(buzzerPin);
delay(buzzerInterval);
tone(buzzerPin, buzzerFrequency);
delay(buzzerInterval);
noTone(buzzerPin);
digitalWrite (led, LOW);
delay(buzzerInterval);
// Snooze and Stop
if (digitalRead(stopButton) == HIGH) {
digitalWrite(led, LOW); // turn the LED off by making the
voltage LOW
Serial.print("Alarm Stopped");
noTone(buzzerPin);
setBacklight(0, 255, 0); // set background to green
delay(5000); // delay for 5 seconds
break;
}
if (digitalRead(snoozeButton) == HIGH) {
digitalWrite(led, LOW);
Serial.print("Snooze for 5 seconds");
noTone(buzzerPin);
setBacklight(255, 0, 0); // set background to red
delay(snoozeTime);
}
}
} //if hour and min match
} // k loop
} // void loop

最佳答案

尝试将 buzzerPin 连接到 PWM 引脚(例如:Arduino Uno 上的引脚 3、5、9、10、11)。

Arduino PWM pins image

因为 tone() 函数仅支持 PWM 引脚(在您的情况下,引脚 1 不是 PWM 引脚)。

关于c++ - 音()不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49883319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com