Каталог
Управление светодиодом с помощью датчика звука на Arduino

Управление светодиодом с помощью датчика звука на Arduino

Современные технологии позволяют создавать интерактивные устройства, которые реагируют на различные внешние раздражители. В данной статье мы рассмотрим создание системы на базе Arduino, которая включает и выключает светодиод в ответ на звуковые сигналы. Этот проект демонстрирует основы работы с датчиками и исполнительными устройствами на платформе Arduino.

Необходимые компоненты

Для реализации проекта потребуются следующие компоненты:

  • Arduino Uno
  • Датчик звука
  • Светодиод
  • Резистор 220 Ом
  • Соединительные провода

Подключение компонентов

  1. Датчик звука:

    • VCC подключаем к 5V на Arduino.
    • GND подключаем к GND на Arduino.
    • D0 подключаем к цифровому пину 4 на Arduino.
  2. Светодиод:

    • Длинную ножку (анод) светодиода подключаем через резистор 220 Ом к цифровому пину 13 на Arduino.
    • Короткую ножку (катод) светодиода подключаем к GND на Arduino.

Код программы

Ниже приведен код, который нужно загрузить в Arduino для работы системы:

#define SENSOR_D0 4 // пин для выхода D0 датчика
#define LED_PIN 13 // пин светодиода
int ledState = LOW; // статус светодиода "выключен"
long soundTime = 0; // время первого хлопка
void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int sensorValue = digitalRead(SENSOR_D0); // получаем сигнал с датчика
  Serial.println(sensorValue);
  if (sensorValue == 1 && ledState == LOW) // если порог громкости достигнут и светодиод был выключен {
    long curTime = millis(); // запоминаем текущее время
    // если текущее время хлопка больше времени последнего хлопка на 100 миллисекунд
    // и хлопок произошел не позже чем через 1000 миллисекунд после предыдущего
    // считаем такой хлопок повторным и реагируем на него
    if ((millis() > soundTime) && ((curTime - soundTime) > 100) && ((curTime - soundTime) < 1000)) {
      digitalWrite(LED_PIN, HIGH); // включаем светодиод
      ledState = HIGH; // устанавливаем статус светодиода "включен"
      delay(100); // небольшая задержка для фильтрации помех
    }
    soundTime = millis(); // записываем время последнего хлопка
  } else // иначе {
    if (sensorValue == 1 && ledState == HIGH) // если порог громкости достигнут и светодиод был включен {
      digitalWrite(LED_PIN, LOW); // выключаем светодиод
      ledState = LOW; // устанавливаем статус светодиода "выключен"
      delay(100); // небольшая задержка для фильтрации помех
    }
  }
}

Заключение

Этот проект демонстрирует, как легко можно использовать микроконтроллер Arduino для создания интерактивных систем, реагирующих на звуки. Применение такой системы может быть разнообразным, от включения света в ответ на хлопок до создания сложных взаимодействий в умных домах.

Создание подобных проектов помогает лучше понять основы электроники и программирования, а также вдохновляет на разработку новых, более сложных и полезных устройств.

Комментарии
Отзывов еще никто не оставлял
Товары упомянутые в статье
В наличии
Предзаказ
арт. 173
Датчик звука KY-037 предназначен для обнаружения звука и определения его...
450 тг 300 тг
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином