Найти тему
Даниил Качанов

Простой Переключатель по хлопку на Arduino

Оглавление

Возможность управлять техникой с помощью простого хлопка всегда казалась мне очень заманчивой. Разве не эффектно, когда по твоему хлопку в твоей комнате загорается свет, играет музыка ̶ ̶и̶ ̶п̶о̶я̶в̶л̶я̶ю̶т̶с̶я̶ ̶п̶а̶р̶о̶ч̶к̶у̶ ̶с̶и̶м̶п̶а̶т̶и̶ч̶н̶ы̶х̶ ̶д̶е̶в̶у̶ш̶е̶к̶? Да, кому-то это покажется неинтересным и непрактичным, но мы же не из таких, правда?

Если тебе интересно, как сделать такой переключатель своими руками, то давай разберемся вместе.

Покупка комплектующих

Первое, что нужно сделать, это заказать нужные нам компоненты.Нам понадобится:

Arduino Uno и кабель для него

Датчик звука

Реле

Провода

При желании собрать все в корпусе:

Корпус и крепления

Крона 12V

Адаптер для Arduino Uno

Рекомендую искать все это на Aliexpress или в любом другом интернет магазине. Позднее здесь будут добавлены ссылки для покупки.

Среда разработки

Далее ̶д̶л̶я̶ ̶т̶е̶х̶ ̶к̶т̶о̶ ̶в̶ы̶ж̶и̶л̶ ̶и̶ ̶н̶е̶ ̶о̶б̶а̶н̶к̶р̶о̶т̶и̶л̶с̶я̶ ̶н̶а̶ ̶п̶р̶е̶д̶ы̶д̶у̶щ̶е̶м̶ ̶п̶у̶н̶к̶т̶е̶ нужно скачать среду разработки Arduino IDE с официального сайта https://www.arduino.cc/en/software

Все скачав, откроем окно Arduino IDE. Если все получилось правильно, вы увидите следующее:

Проверка компонентов

Важно убедиться в рабочем состоянии заказанных деталей. Проверить плату можно подключив её кабелем к ПК. По умолчанию светодиод(см. рис.) будет мигать. Если этого не происходит, то микроконтроллер скорей всего находится в нерабочем состоянии.

-2

После этого стоит попробовать написать и загрузить свой первый скетч. Например, следующий код:

int led = 13; // пин светодиода

void setup ()

{

pinMode(led, OUTPUT);

}

void loop (){

digitalWrite(led, HIGH); // включаем светодиод

delay(2000); // пауза

digitalWrite(led, LOW); // выключаем светодиод

delay(2000); // пауза

}

После загрузки встроенный светодиод станет загораться и тухнуть каждый две секунды.

Сборка

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

-3

При желании можно запитать микроконтроллер от кроны следующим образом:

-4

Также можно воспользоваться вот таким адаптером:

-5

Далее разберем принцип работы переключателя, проанализировав загруженную в микроконтроллер программу:

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); // небольшая задержка для фильтрации помех

}

}

}

Загрузив скетч в плату, настраиваем датчик звука и подбираем нужную нам чувствительность и радуемся нашей улетности!