Как один раз проиграть мелоию?
- Войдите на сайт для отправки комментариев
Пнд, 05/10/2015 - 11:58
Здравствуйте!
Подскажите новичку, пожалуйста. Задумка такая, как только срабатывает датчик проигрывается один раз мелодия.Датчик в виде сопротивления.Программа определяет сопротивление и если оно нужного номинала проигрывает один раз мелодию.Но проблема в том ,что если датчик будет включен постоянно то мелодия будет постоянно повторятся, а мне нужно чтоб она сработала один раз. Как сделать чтоб она сработала разово?
#include "pitches.h" int a = 0; byte f = 0; int melody[] = { NOTE_C4, NOTE_E4,NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5,}; int noteDurations[] = { 8, 8, 8, 4,8,4 }; void setup () { pinMode (A0, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop () { a = analogRead(A0); if (a > 300 && a < 370) { f = 0; } else { f = 1; } if (f == 0) { musika(); } } void musika() { for (int thisNote = 0; thisNote < 8; thisNote++) { int noteDuration = 1000/noteDurations[thisNote]; tone (10, melody[thisNote],noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay (pauseBetweenNotes); // stop the tone playing: noTone (10); } }
Прочитайте вот этот пост к примеру (желательно весь, но можно со фразы "Теперь рассмотрим вариант, когда нам нужно сделать лишь одно действие по одному нажатию кнопки") http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku и засуньте условие в 31 строку
ОГРОМНОЕ САААСИБО!