Возможность управлять техникой с помощью простого хлопка всегда казалась мне очень заманчивой. Разве не эффектно, когда по твоему хлопку в твоей комнате загорается свет, играет музыка ̶ ̶и̶ ̶п̶о̶я̶в̶л̶я̶ю̶т̶с̶я̶ ̶п̶а̶р̶о̶ч̶к̶у̶ ̶с̶и̶м̶п̶а̶т̶и̶ч̶н̶ы̶х̶ ̶д̶е̶в̶у̶ш̶е̶к̶? Да, кому-то это покажется неинтересным и непрактичным, но мы же не из таких, правда?
Если тебе интересно, как сделать такой переключатель своими руками, то давай разберемся вместе.
Покупка комплектующих
Первое, что нужно сделать, это заказать нужные нам компоненты.Нам понадобится:
Arduino Uno и кабель для него
Датчик звука
Реле
Провода
При желании собрать все в корпусе:
Корпус и крепления
Крона 12V
Адаптер для Arduino Uno
Рекомендую искать все это на Aliexpress или в любом другом интернет магазине. Позднее здесь будут добавлены ссылки для покупки.
Среда разработки
Далее ̶д̶л̶я̶ ̶т̶е̶х̶ ̶к̶т̶о̶ ̶в̶ы̶ж̶и̶л̶ ̶и̶ ̶н̶е̶ ̶о̶б̶а̶н̶к̶р̶о̶т̶и̶л̶с̶я̶ ̶н̶а̶ ̶п̶р̶е̶д̶ы̶д̶у̶щ̶е̶м̶ ̶п̶у̶н̶к̶т̶е̶ нужно скачать среду разработки Arduino IDE с официального сайта https://www.arduino.cc/en/software
Все скачав, откроем окно Arduino IDE. Если все получилось правильно, вы увидите следующее:
Проверка компонентов
Важно убедиться в рабочем состоянии заказанных деталей. Проверить плату можно подключив её кабелем к ПК. По умолчанию светодиод(см. рис.) будет мигать. Если этого не происходит, то микроконтроллер скорей всего находится в нерабочем состоянии.
После этого стоит попробовать написать и загрузить свой первый скетч. Например, следующий код:
int led = 13; // пин светодиода
void setup ()
{
pinMode(led, OUTPUT);
}
void loop (){
digitalWrite(led, HIGH); // включаем светодиод
delay(2000); // пауза
digitalWrite(led, LOW); // выключаем светодиод
delay(2000); // пауза
}
После загрузки встроенный светодиод станет загораться и тухнуть каждый две секунды.
Сборка
После того, как мы получили все необходимое, можно приступить к сборке. Собрать все нужно будет по следующей схеме:
При желании можно запитать микроконтроллер от кроны следующим образом:
Также можно воспользоваться вот таким адаптером:
Далее разберем принцип работы переключателя, проанализировав загруженную в микроконтроллер программу:
int sensor = A0;
int led = 13; // пин светодиода
int ledState = LOW; // статус светодиода "выключен"
void setup ()
{
pinMode(led, OUTPUT);
pinMode(A0,INPUT);
}
void loop ()
{
int sensorValue = analogRead(sensor); // получаем сигнал с датчика
if (sensorValue > 60 && ledState == LOW) //если порог громкости достигнут и светодиод был выключен
{
digitalWrite(led, HIGH); // включаем светодиод
ledState = HIGH; // устанавливаем статус светодиода "включен"
delay(100); // небольшая задержка для фильтрации помех
}
else {
if (sensorValue > 60 && ledState == HIGH) // если порог громкости достигнут и светодиод был включен
{
digitalWrite(led, LOW); // выключаем светодиод
ledState = LOW; // устанавливаем статус светодиода "выключен"
delay(100); // небольшая задержка для фильтрации помех
}
}
}
Загрузив скетч в плату, настраиваем датчик звука и подбираем нужную нам чувствительность и радуемся нашей улетности!