Датчик звука, хлопаем в ладоши.
- Войдите на сайт для отправки комментариев
Чт, 11/04/2013 - 22:09
Преобрел такой датчик звука:
Написал простенький код к нему
void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } }
Когда хлопаем в лодоши появляется надпись Motion detected.
Помогите пожалуйста доработать код. Необходимо хлопнуть 2 раза (второй раз через 1-2 секунды) и только тогда должен появится текст.
при обнаружении хлопка добавить чтение millis() - время с момента запуска ардуины. если разница между 2 значениями millis меньше заданной, к примеру 300 мс, то вывести Motion detected
Спасибо за идею, понял, заработало.
У меня в голове были более сложные схемы. Не думал что все так просто. :)
Все таки не осилю сам. Помогите:
можно полный кусок loop?
И в чем разница между SoundVal - (состояние датчика?) и SoundState?
И в примерах есть ли хоть какой-то delay() на прослушке, или loop мотается без остановки вообще?
попробуй так:
Спасибо, большое за условие, все получилось. Сначало попробовал полность ваш код, откомпелировал, загрузил. Но он почему-то не заработал. Потом ваше условие вставил в свой код и все заработало как нужно. Как и просили выкладываю весь код:
По поводу SoundVal и SoundState, знаете я не знаю. Если нету SoundState происходит зацикливание.
if((millis()>soundTime) && ((secondSoundTime-soundTime)>500) && ((secondSoundTime-soundTime)<1500)) здесь в первом условии тоже лучше бы поставить secondSoundTime, а не millis. ведь в эту переменную мы и сохранили время. а вообще такой loop мне кажется странным. он должен бегать по кругу в ожидании звуков? неужели у Вашего датчика нет прерывания на звуки?
управление хлопком в ладоши (инфракрасным) ИК сигналом
Clap Switch, management claps infrared IR signal
Version 0.1 2013/06/12
Перед тем как начать управление хлопками, нужно ввести звуковой логин и звуковой пароль.
Для защиты от случайного срабатывания - посторонних шумов
1. Вводим звуковой логин в моем примере это три хлопка
Если логин введен правильно Загорается желтый светодиод у нас есть три секунды для ввода звукового пароля
2. Вводим звуковой пароль, в моем примере это два хлопка, если звуковой пароль введен правильно загорается зеленый светодиод, у нас есть пять секунд Для ввода звуковой команды
3. Например хлопаем два раза у нас включается второй pin на ардуино,
или отправляется (инфракрасный) ИК сигнал на телевизор включая второй телеканал.
Нужно заранее прописать в sketch, код кнопки пульта от вашего телевизора