У меня есть проблема с этим кодом, когда зуммер не работает
const int buzzerPin = 7;
const int flamePin = 10;
int Flame = HIGH;
int redled = 8;
void setup()
{
pinMode(buzzerPin, OUTPUT);
pinMode(redled, OUTPUT);
pinMode(flamePin, INPUT);
Serial.begin(12000);
}
void loop()
{
Flame = digitalRead(flamePin);
if (Flame== HIGH)
{
digitalWrite(redled, HIGH);
int i=0;
do {
digitalWrite(buzzerPin, HIGH);
tone(buzzerPin,450);
delay(200);
noTone(buzzerPin);
delay(200);
}while (i<2);
}
else
{
digitalWrite(buzzerPin, LOW);
digitalWrite(redled, LOW);
}
}
@hichemm , 👍2
Обсуждение1 ответ
▲ 1
Вот изменения, которые я сделал
- Я изменил частоту пьезозуммера на 3000 Гц Зеленая кнопка имитирует сигнал пламени
- Измените красный светодиод с вывод 8 на вывод 13, чтобы мне не приходилось использовать внешний светодиод
Вот результат моделирования
Наблюдайте, как горит бортовой светодиод и гаснет зуммер. Вы можете найти ссылку на проект здесь, где вы можете протестировать с различной частотой пьезозуммера.
Код
const int buzzerPin = 7;
const int flamePin = 10;
int Flame = HIGH;
int redled = 13;
void setup()
{
pinMode(buzzerPin, OUTPUT);
pinMode(redled, OUTPUT);
pinMode(flamePin, INPUT);
Serial.begin(12000);
}
void loop()
{
Flame = digitalRead(flamePin);
if (Flame== HIGH)
{
digitalWrite(redled, HIGH);
int i=0;
do {
digitalWrite(buzzerPin, HIGH);
tone(buzzerPin,3000);
delay(200);
noTone(buzzerPin);
delay(200);
}while (i<2);
}
else
{
digitalWrite(buzzerPin, LOW);
digitalWrite(redled, LOW);
}
}
Отказ от ответственности: я не являюсь создателем Wokwi, но я поддерживаю его, так как он с открытым исходным кодом и свободен в использовании
,
@ArduinoFan
@Juraj исправил это, @ArduinoFan
@Juraj Я сомневаюсь в этом. если сигнал пламени высок, он вызывает тревогу, @ArduinoFan
Смотрите также:
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Связь Arduino master/slave с использованием RS485
проверьте зуммер с помощью самого простого кода, @jsotola
Мы ничего не знаем о вашем зуммере или цепи, так что мало что можем предложить в качестве помощи. Пожалуйста, убедитесь, что при публикации кода он отформатирован как код, чтобы люди могли его прочитать. Также полезно включить то, что *работает*, например, в вашем коде есть другие факторы, которые могут заставить его *казаться*, что зуммер не работает., @Dave Newton
450-это слишком низкая частота для пьезо. использование 3000, @Juraj