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

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

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

01const int buttonPin = 2;     // the number of the pushbutton pin
02const int ledPin =  13;      // the number of the LED pin
03const int speakerPin = 10; // SpeaKer is attached to the digital pin 10
04//++++++++++++++++++++++++++++++++++++++++++++
05 
06// frequencies
07const int c = 261;
08const int d = 294;
09const int e = 329;
10const int f = 349;
11const int g = 391;
12const int gS = 415;
13const int a = 440;
14const int aS = 455;
15const int b = 466;
16const int cH = 523;
17const int cSH = 554;
18const int dH = 587;
19const int dSH = 622;
20const int eH = 659;
21const int fH = 698;
22const int fSH = 740;
23const int gH = 784;
24const int gSH = 830;
25const int aH = 880;
26//+++++++++++++++++++++++++++++++++++++++++++++++++
27 
28 
29// variables will change:
30int buttonState = 0;         // variable for reading the pushbutton status
31//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
32// Beeps <ton> frequency for <time> miliseconds  with a small pause to separate
33void beep(int ton, int time)
34{
35  tone(10, ton, time);
36  delay(time + 20);
37}
38//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
39void setup() {
40  // initialize the LED pin as an output:
41  pinMode(ledPin, OUTPUT);
42  // initialize the pushbutton pin as an input:
43  pinMode(buttonPin, INPUT);
44   noTone(10);  // shut off the speaker
45}
46//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
47void loop() {
48  // read the state of the pushbutton value:
49  buttonState = digitalRead(buttonPin);
50 
51  // check if the pushbutton is pressed.
52  // if it is, the buttonState is HIGH:
53  if (buttonState == LOW) {
54   
55    delay(500);
56    beep(a, 500);    
57    
58      delay(30000);
59       beep(a, 300);
60      beep(f, 350);
61      beep(a, 650);  
62      digitalWrite(ledPin,HIGH);// turn LED on:
63       
64      delay(3000);
65       beep(a, 500);
66        beep(f, 350);
67      digitalWrite(ledPin,LOW);// digitalWrite(ledPin,LOW);
68       
69     
70   
71  }
72}

 

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

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