Как один раз проиграть мелоию?
- Войдите на сайт для отправки комментариев
Пнд, 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 строку
ОГРОМНОЕ САААСИБО!