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 6

1 Ответ

0 голосов

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

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

delay (1000);

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

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

    За этот месяц ещё никого.

    ...