0 голосов
Я захотел чтобы пьезопищалка генерировала разный звук. Я попробовал сделать так -

#define B_PIN  3
void setup() {
pinMode(B_PIN, OUTPUT);
}
void loop() {
int i = random(200, 4500);
tone(BUZZER_PIN,i, 20);
}

Но в итоге пищалка просто странно шипела. В чем моя ошибка?

Заранее спасибо.
(12 баллов) 1 4

1 Ответ

0 голосов

У вас код задания частоты пьезопищалки, исполняется чаще, чем задаваемые частоты.

Добавьте функцию

delay (1000);

в loop или поместите код задание частоты в макрос, упомянутый в этом вопросе.

(3 тыс. баллов) 7 17 38
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
  1. parovoZZ

    16 балл(ов)

  2. lyay

    14 балл(ов)

  3. Aromik

    8 балл(ов)

  4. AlexUno111

    6 балл(ов)

  5. Анатоле

    2 балл(ов)

  6. mrgrbt

    2 балл(ов)

...