Перейти к содержимому


Фотография

Урок №11. Arduino и датчик звуковых колебаний. Часть вторая

Датчик звука

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 22 Ноябрь 2014 - 11:41

  Немного изменим схему из предыдущего урока. Теперь мы будем включать и выключать лампочку с помощью хлопка в ладоши. Ну или от  щелчка пальцев. Уберем из схемы датчик движения и на его место поставим датчик звука.
  Нам снова понадобится блок реле.  Вывод «IN1» блока реле подключите к выводу 6 Arduino. Напишем небольшую программу. Алгоритм действия будет такой. Датчик звука срабатывает от двух хлопков, загорается лампа и остается гореть до следующего срабатывания датчика. Датчик срабатывает еще раз- лампа гаснет.

int sensorSound =5 ;   // OUT от датчика звука  на  5-ый вывод
int relay = 6;   // IN1 блока реле на  6-ый вывод
int lampState=0;   //переменная состояния вкл-выкл
int sensorStatus =1;   // первоначальный статус датчика звука
void setup() {
  pinMode (sensorSound , INPUT);   // вывод для подключения сенсора  настраиваем как "вход"
  pinMode (relay, OUTPUT);   // вывод для подключения реле настраиваем как "выход"
  digitalWrite(relay, HIGH);    // сначала реле выключено
}
void loop() {
  sensorStatus = digitalRead (sensorSound);  //считываем уровень на входе 5 и ждем хлопка
  if(sensorStatus ==0){   //если хлопок обнаружен- если появился логический ноль на выходе //датчика звука
    delay(200);   //ожидаем 300 миллисекунд для повторного хлопка 
    for(int t = 0; t <= 500;  t ++)   //цикл на проверку второго хлопка 
    {
      delay(1); //для цикла
      sensorStatus = digitalRead (sensorSound);   //считываем данные на выходе датчика 
      if(sensorStatus ==0){    //сверяем данные для второго хлопка, если он был то меняем                                                                                   
//состояние лампы
        lampState=!lampState;   //меняем состояние
        sensorStatus ==0;   //обнуляем статус датчика
        break;     //выходим из цикла после второго хлопка
        delay(200);  //просто пауза
      }
    }
    sensorStatus =1; // меняем состояние 
  }
  digitalWrite(relay,lampState);   //включаем выключаем лампу с помощью блока реле
}

  Записываем код в Arduino, подключаем питание. Блок реле должен сработать и загорится лампа. Хлопаем в ладоши два раза – лампа тухнет. В качестве домашнего задания сделайте обратный вариант- при включении питания лампа не должна зажигаться, а после двух хлопков должна порадовать вас своим свечением.
  Замените блок батарей на мощный источник питания напряжения 12 Вольт, светодиодную лампу с резьбовым патроном замените на мощную лампу с рабочим напряжением 12 Вольт , и вот у вас получился комнатный светильник , управляемый звуком.

Прикрепленные файлы







Темы с аналогичным тегами Датчик звука

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных