Таймер со звуковой индикацией

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Задумался о проекте таймера со звуковой индикацией.Схема работы такова таймер должен при запуске подать звуковой сигнал ,отсчитывать 30 секунд,после отсчета- звкуовой сигнал,потом еще пауза в 5 секунд-звуковой сигнал,снова отсчет 30 секунд и так цикл за циклом управление можно одной кнопкой пуск-стоп.Если кто то решал такую задачу -подскажите как можно реализовать.В наличии имеются ардуино UNO,ардуино NANO

kolganoff
Offline
Зарегистрирован: 26.09.2013

На этом сайте есть описание языка.
А в нем:
Delay
Tone
Прочитай и все получится.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Придется самому.Спасибо kolganoff

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

fly245 пишет:

.Если кто то решал такую задачу -подскажите как можно реализовать.В наличии имеются ардуино UNO,ардуино NANO

ну на самом деле тут два варианта..

1. платиш 500 баксов и получаеш готовый скеч минут через 5

2. береш свою голову в руки и заставляеш ее работать.. тратиш минут 15, сим-селябим скеч из 10 строчек готов :)

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

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Ну конечно за 500 баксов мне с десяток таких девайсов в китае наклепают )))

Насчет дунуть-ну не увлекаюсь я травами муравами.

Над скетчем уже работаю..Скоро выложу-там покритикуете...

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Вот первый результат ,но еще не разобрался как  в цикл завести все это 

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin
const int speakerPin = 10; // SpeaKer is attached to the digital pin 10
//++++++++++++++++++++++++++++++++++++++++++++

// frequencies
const int c = 261;
const int d = 294;
const int e = 329;
const int f = 349;
const int g = 391;
const int gS = 415;
const int a = 440;
const int aS = 455;
const int b = 466;
const int cH = 523;
const int cSH = 554;
const int dH = 587;
const int dSH = 622;
const int eH = 659;
const int fH = 698;
const int fSH = 740;
const int gH = 784;
const int gSH = 830;
const int aH = 880;
//+++++++++++++++++++++++++++++++++++++++++++++++++


// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Beeps <ton> frequency for <time> miliseconds  with a small pause to separate 
void beep(int ton, int time)
{
  tone(10, ton, time);
  delay(time + 20);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
   noTone(10);  // shut off the speaker
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == LOW) {
  
    delay(500);
    beep(a, 500);     
   
      delay(30000);
       beep(a, 300);
      beep(f, 350);
      beep(a, 650);   
      digitalWrite(ledPin,HIGH);// turn LED on:
      
      delay(3000);
       beep(a, 500);
        beep(f, 350);
      digitalWrite(ledPin,LOW);// digitalWrite(ledPin,LOW);
      
    
  
  }
}

 

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Проверку кнопки может вынести из loopa?Потом всю идикацию в отдельную функцию...Или как-то через FOR