Включение музыки хлопком в ладоши

evcher789
Offline
Зарегистрирован: 30.01.2020

Привет всем! Прошу небольшой помощи, я хочу сделать включение музыки хлопком в ладоши и отключение этой музыки повторным хлопком в ладоши.

Схему я собрал, код написал, в котором запуск музыки начинается с хлопка, но не могу догнать как при  повторном хлопке отключить. Прошу буквально написать образец.

sadman41
Offline
Зарегистрирован: 19.10.2016

Тут такое не прокатывает.

evcher789
Offline
Зарегистрирован: 30.01.2020

Не хочу засорять форум, но вроде только сейчас догнал как сделать и сейчас соберу на макетной плате

void loop () {  
    sensor = digitalRead(dpin);

    if (sensor == LOW){
      
        if (control){
          mp3_play();
        } else {
          mp3_pause();
          }
        
        control = !control;
        
      }
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А как Вы собираетесь отличать повторный хлопок от каких-то звуков в самой играющей музыке?

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну, если делать тупо - я бы на 13 строчку delay() воткнул, чтобы sensor успел измениться на HIGH. Если поумнее, то инверсию control делал бы не по состоянию LOW, а только когда произошла смена HIGH->LOW.

evcher789
Offline
Зарегистрирован: 30.01.2020

ЕвгенийП пишет:

А как Вы собираетесь отличать повторный хлопок от каких-то звуков в самой играющей музыке?

В данном случае я не мог понять как правильно написать код. А так да, с этой проблемой я столкнулся, пришлось сделать звук тише. 

 

sadman41 пишет:

Ну, если делать тупо - я бы на 13 строчку delay() воткнул, чтобы sensor успел измениться на HIGH. Если поумнее, то инверсию control делал бы не по состоянию LOW, а только когда произошла смена HIGH->LOW.

 

Благодарю, сейчас попробую так сделать