Проект Arduino "Светодиод, активируемый звуком

Проект Arduino "Светодиод, активируемый звуком

В проекте "Светодиод, активируемый звуком" будет построена базовая схема Arduino, использующая, прежде всего, модуль двухцветного светодиода (светоизлучающего диода) и модуль микрофонного датчика звука. Суть этого проекта проста: когда звуковой датчик улавливает звук щелчка/хлопка, светодиод на две секунды переключается с зеленого цвета на красный, а затем возвращается к своему первоначальному зеленому цвету. Если звуковой датчик вообще не обнаружит щелкающего звука, светодиод просто останется зеленым. Технически, звук не обязательно должен быть звуком щелчка/хлопка, поскольку это просто пример звука, который может поднять показания датчика выше определенного порогового значения, чтобы затем вызвать изменение цвета светодиода.

Модуль звукового датчика, используемый в Sound-Activated LED, представляет собой модуль HW-485 Microphone Sound Sensor Module и способен выдавать как аналоговые, так и цифровые сигналы. Однако, поскольку в данном проекте для переключения цвета светодиода между двумя состояниями используется цифровая сигнализация, будет использоваться цифровой выход датчика. Это означает, что звуковой датчик может передавать только два состояния в зависимости от уровня входного сигнала (звука), который он получает: 1 (включено) или 0 (выключено). Датчик пошлет 1 на Arduino, если он уловит любой звук, который превышает его пороговое значение; в противном случае будет посылаться 0 для всех звуков, которые не пересекают пороговое значение.

Для того чтобы изменить это пороговое значение, Вы можете вращать триммерный потенциометр, установленный непосредственно на модуле датчика, для модуляции чувствительности датчика. Для данной конкретной модели (HW-485) вращение потенциометра по часовой стрелке увеличивает чувствительность, а вращение потенциометра против часовой стрелки уменьшает чувствительность. Важно отметить, что для Вашего модуля звукового датчика, в зависимости от модели, направление может быть противоположным. Если светодиод не меняет своего состояния (цвета), когда рядом раздается громкий звук, Вам необходимо изменить чувствительность датчика. 

Поняв фундаментальные принципы этого проекта Arduino, Вам, несомненно, будет легче внедрить и интегрировать некоторые из концепций, продемонстрированных в этой схеме, в другие приложения. В основе этого проекта лежит датчик звука, воспринимающий входной сигнал (звук) и действующий как переключатель, который затем активирует изменение светодиодного модуля - выходного устройства. С учетом этой концепции выходное устройство может быть легко заменено пьезозвуковым зуммером (для создания шума), визуальным дисплеем (LCD, OLED, TFT и т.д.), реле (подключенным к другим внешним устройствам), беспроводным передатчиком и т.д. Кроме того, в PCBA для бытовой электроникиПодобный тип схем используется при создании электронных устройств с голосовым управлением или даже систем домашней автоматизации. Многие из этих схем могут быть дополнительно интегрированы в печатную плату как с помощью сквозных отверстий, так и с помощью поверхностного монтажа PCBA, что позволяет уменьшить общий размер проекта. Перенеся подобный проект с макетной платы на печатную плату, можно добиться этого без особых усилий. Чтобы сделать этот схемный проект домашним, нам необходимо исходные компоненты:

  • Arduino Nano (подойдут и другие совместимые с Arduino платы)
  • USB-кабель (совместимый с платой Arduino)
  • Хлебная доска
  • Провода-перемычки Male-Male (6)
  • HW-485 Модуль микрофонного звукового сенсора
  • HW-480 Красный/зеленый 2-цветный светодиодный модуль (общий катод)
  • 220Ω резисторы (2)

Схема подключения светодиодного электронного проекта Sound Control

В зависимости от вашей платы Arduino, вам может потребоваться или не потребоваться макетная плата для подключения платы. В данном примере используется Arduino Nano, поэтому требуется макетная плата, но если вы используете, например, Arduino Uno, провода-перемычки можно подключить от компонентов на макетной плате непосредственно к контактам платы.

Схема подключения данного проекта довольно проста, поскольку, кроме основных модулей, требуется не так уж много дополнительных компонентов. Что касается модуля звукового датчика, то модуль HW-485, который используется в этом проекте, имеет 4-контактную конфигурацию, где есть цифровой выход (DO) и аналоговый выход (AO). Если Ваш модуль имеет такую же 4-контактную конфигурацию, используйте цифровой выход (DO), а если Ваш модуль имеет 3-контактную конфигурацию, то подойдет стандартный выход/сигнальный вывод. Что касается светодиодного модуля, то причина, по которой два резистора 220 Ом подключены последовательно к двум выходам этого модуля, заключается в том, чтобы предотвратить перегорание светодиодов при подаче напряжения питания +5 вольт. Здесь приведена схема подключения для этого DIY-проекта:

  • Модуль микрофонного датчика звука HW-485: Подключите цифровой выход (DO)/сигнальный вывод к D7 на Вашей плате Arduino, положительный (+) вывод - к +5 В, а вывод GND (G) - к GND.
  • Двухцветный светодиодный модуль HW-480 Red/Green: Установите один резистор 220 Ом на макетной плате последовательно с выходным выводом для светодиодного сигнала красного цвета (R) и установите другой резистор 220 Ом последовательно с выходным выводом для светодиодного сигнала зеленого цвета (G). Подключите выходной вывод красного цвета (R) к D5, а выходной вывод зеленого цвета (G) - к D6. Подключите отрицательный (-) вывод к GND на Вашем Arduino.
  • Теперь вы можете подключить плату Arduino через USB-кабель к компьютеру.

Код проекта

int redPin = 5;

int greenPin = 6;

int sensorPin = 7;

boolean val = 0;

 

void настройка(){

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

 pinMode(sensorPin, INPUT);

 Серийный.начать(9600);

}

 

 void петля (){

 val = digitalRead(sensorPin);

 Серийный.println(val);

 

 если (val == HIGH) {

   digitalWrite(greenPin, LOW);

   digitalWrite(redPin, HIGH);

   задержка(2000);

 }

 else {

   digitalWrite(redPin, LOW);

   digitalWrite(greenPin, HIGH);

 }

}

О коде

  • Этот простой код отлично демонстрирует многие функции, с которыми Вы можете столкнуться еще не раз, пока Программирование ИС в среде Arduino IDE, которая использует вариант языков программирования C++. В этом коде присутствуют фундаментальные целые числа, булевы числа, полезные функции и операторы if.
  • Первый блок кода определяет три цифровых вывода на Arduino, которые используются модулем датчика микрофона и светодиодным модулем. Переменная redPin обозначает вывод D5, который будет использоваться для сигнала светодиода красного цвета, greenPin - D6, а sensorPin - D7 для использования модулем датчика звука. Кроме того, булевой переменной с именем val присваивается значение 0 (низкий уровень/ложно/выключено). Булевое значение - это особый тип данных, который может содержать либо истинное, либо ложное значение (1 или 0).
  • Переходя к части настройки пустоты, каждый из выводов, которые были определены ранее, теперь определен здесь либо как вход, либо как выход. Поскольку звуковой датчик собирает звуковые данные и затем посылает их на Arduino для обработки, он установлен как вход, в то время как светодиодный модуль получает данные от Arduino, поэтому два светодиодных вывода установлены как выходы. Скорость передачи данных при последовательном соединении установлена на 9600 бод, чтобы данные, полученные датчиком, можно было впоследствии считать с помощью последовательного монитора.
  • Что касается части цикла void, то сначала булевое значение val устанавливается в то состояние, в котором в данный момент находится датчик звука. Поскольку Arduino получает цифровой выход от датчика, информация, которую он посылает на Arduino, может быть только либо истинной (1), либо ложной (0). Затем эти данные выводятся на последовательный монитор, и эта информация может быть очень полезна при калибровке чувствительности датчика звука (установка порога звуков, которые датчик может обнаружить). 
  • Далее вводится оператор if, который, по сути, определяет, что если звуковой датчик обнаружит щелчок (когда звуковой датчик пошлет в ответ 1), то светодиод зеленого цвета будет выключен, а светодиод красного цвета будет включен на две секунды, после чего вернется в свое стандартное состояние (светодиод красного цвета выключен, а светодиод зеленого цвета включен). Это демонстрирует использование функции pinMode(), которая может включать (HIGH) или выключать (LOW) цифровой выход (например, светодиодный модуль) в зависимости от определенных параметров внутри оператора if, в данном случае.

Следующие шаги

Этот светодиодный проект со звуковой активацией от Технология FS Это отличный вводный проект по использованию различных устройств ввода и вывода, в дополнение к различным фундаментальным функциям, которые используются в коде Arduino для управления информацией, получаемой и отправляемой с/на эти устройства. В результате, этот принцип может быть применен к более крупным проектам, где цифровой вход от датчика может быть использован для запуска схемы или включения/выключения выходного устройства. Например, в системах обнаружения движения обычно используются PIR (пассивные инфракрасные) датчики, которые при активации включают яркий свет или сигнализацию. Это всего лишь один из многочисленных примеров такой простой цифровой системы ввода-вывода, которая сегодня используется во многих электроприборах и электронных схемах. Что касается функций/выражений кода Arduino, то одной из наиболее важных функций, которую следует запомнить, являются выражения if. Эти утверждения являются чрезвычайно фундаментальными и популярными функциями, которые можно встретить практически во всех кодах, особенно при работе с несколькими устройствами, которые взаимодействуют друг с другом, образуя часть большой сети/системы. Теперь, когда Вы запомнили все эти понятия, Вам предстоит применить и расширить свои вновь приобретенные знания, чтобы создать свой DIY PCBA плата!

Блог о проектах DIY электроники

Таймер прерывания Arduino UNO

Таймер прерывания Arduino UNO Таймер - это функция, встроенная в каждый микроконтроллер и выполняющая определенные функции, связанные с течением времени. Функция таймера

Читать далее "
Аппаратные характеристики ESP32: вывод, преобразователь и процессор

Аппаратные характеристики ESP32: вывод, преобразователь и процессор ESP32, разработанный компанией Shanghai Espressif Systems, - это недорогой микроконтроллер с низким энергопотреблением, широко используемый в Интернет

Читать далее "
Лучшие программы для проектирования макетов печатных плат: Какая программа лучше для Вас

Лучшие программы для проектирования макетов печатных плат: Какая программа лучше для Вас В Китае есть поговорка: "Наточи топор, прежде чем рубить дрова". Это означает, что

Читать далее "
Рекомендации по печатной плате клавиатуры для горячей замены

Рекомендации по печатной плате с горячей заменой клавиатуры Традиционные платы PCBA полагаются на процесс пайки для надежного крепления компонентов к поверхности печатной платы. В то время как

Читать далее "