тройной бип

bart-33
Offline
Зарегистрирован: 18.07.2018

Приветствую!

Уже всю голову сломал, придумать не смог. Может, кто-нибудь подскажет, как по-проще реализовать функцию, которая сделает тройной бип -  tone? Без задержек, естественно).

Тройной бип по событию, вызывающему эту функцию.

b707
Offline
Зарегистрирован: 26.05.2017

bart-33 пишет:

Приветствую!

Уже всю голову сломал, придумать не смог. Может, кто-нибудь подскажет, как по-проще реализовать функцию, которая сделает тройной бип -  tone? Без задержек, естественно).

Тройной бип по событию, вызывающему эту функцию.

так сойдет?

одинарный_бип();
одинарный_бип();
одинарный_бип();

 

bart-33
Offline
Зарегистрирован: 18.07.2018

b707 пишет:

так сойдет?

как в таком случае не воспроизводить 2, 3-ю, не дождавшись окончания первого периода?

b707
Offline
Зарегистрирован: 26.05.2017
const uint32_t pulse_len = 2000;
static uint8_t flag =0;
static uint32_t prev_millis =0;
if (flag < 3) {
 if (prev_millis - millis() > pulse_len) {
   bip();
   flag++;
   prev_millis = millis();
 }
}

Код поместить в loop()

pulse_len - длительность БИПа в мс + пауза между бипами