====== Хлоп-реле ======
** [[slot-box:start#хочу_собрать|Проекты на Arduino и Slot Shield]] **
Управлять электроприборами не вставая с дивана легко и просто. Щелкнул пальцами и включил свет, хлопнул в ладоши — вентилятор заработал. Не жизнь, а праздник.
Всё что нужно — Iskra Neo (российский аналог Arduino Leonardo), датчик шума (он и будет определять хлопки и щелчки), мини-реле (через него подключим любимый торшер) и кнопка, а то вдруг шуметь не захочется.
Этот девайс мы использовали в [[https://youtu.be/PFPljuFhh0k|видеообзоре датчика шума]].
{{ :slot-box:clap-relay:clap-relay.jpg |}}
* Платформы: [[amp>product/arduino-uno?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Arduino Uno]], [[amp>product/arduino-leonardo?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Arduino Leonardo]], [[amp>product/iskra-neo?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Iskra Neo]]
* Язык программирования: Arduino (C++)
===== Видеоинструкция =====
{{youtube>MCkhhB1hbig?large}}
===== Что потребуется =====
[[amp>collection/clap-relay?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki | Полный сет]] компонентов проекта. В сет входят:
* [[amp>product/iskra-neo?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Iskra Neo]]
* [[amp>product/arduino-troyka-slot-shield?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Troyka Slot Shield]]
* [[amp>product/structor-slot-box?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|#Slot Box]]
* [[amp>product/troyka-sound-loudness-sensor?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|датчик уровня шума]]
* [[amp>product/troyka-mini-relay?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|мини-реле]]
* [[amp>product/troyka-led-button?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|светодиодная кнопка]]
{{:продукты:high_voltage.png?nolink |}}**//Внимание!//**
Работа с высоким напряжением опасна для вашего здоровья и жизни.
На плате существуют области, прикосновение к которым приведёт к поражению электрическим током. Это винты контактных колодок и места пайки выводов контактных колодок и реле. Не работайте с платой, если она подключена к бытовой сети. Для готового устройства используйте изолированный корпус.
Если вы сомневаетесь как подключить к реле электроприбор, работающий от общей сети 220 В и у вас есть сомнения, вопросы на тему того как это делается, остановитесь: вы можете устроить пожар или убить себя. Убедитесь, что у вас в голове — кристальное понимание принципа работы устройства и опасностей, которые связаны с высоким напряжением.
===== Как собрать =====
Установите [[amp>product/arduino-troyka-slot-shield?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Troyka Slot Shield]] на [[amp>product/iskra-neo?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|Iskra Neo]]
{{ :slot-box:clap-relay:step01.png |}}
Возьмите [[amp>product/troyka-sound-loudness-sensor?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|датчик шума]], поверните его на 90 градусов против часовой стрелки и вставьте в верхний левый слот.
{{ :slot-box:clap-relay:step02.png |}}
Вставьте [[amp>product/troyka-led-button?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|светодиодную кнопку]] в центральный нижний слот, повернув её на 90 градусов против часовой стрелки.
{{ :slot-box:clap-relay:step03.png |}}
Вставьте [[amp>product/troyka-mini-relay?utm_source=proj&utm_campaign=slot-proj-6&utm_medium=wiki|мини-реле]] в верхний правый слот.
{{ :slot-box:clap-relay:step04.png |}}
===== Скетч =====
Прошейте контроллер скетчем через [[../установка-и-настройка-arduino-ide|Arduino IDE]].
// номер пина кнопки
#define BUTTON_PIN 12
// номер пина светодиода
#define LED_PIN A1
// номер пина реле
#define RELAY_PIN 4
// номер пина датчика уровня шума
#define NOISE_PIN A4
// порог срабатывания датчика шума
#define SENSITIVITY_NOISE 200
// состояния системы
enum State
{
OFF,
ON,
};
// объявлеем переменную state
State state;
void setup()
{
// система выключена
state = OFF;
pinMode(LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void loop()
{
// считываем текущее показание уровня шума
// считываем текущее состояние кнопки
int valNoise = analogRead(NOISE_PIN);
bool valButton = digitalRead(BUTTON_PIN);
// если показания шума превышают норму или нажата кнопка
// и система была выключена
if ((valNoise > SENSITIVITY_NOISE || !valButton) && state == OFF) {
// включаем реле и переводим систему в режим «ON»
digitalWrite(RELAY_PIN, HIGH);
digitalWrite(LED_PIN, HIGH);
state = ON;
delay(500);
} else if ((valNoise > SENSITIVITY_NOISE || !valButton) && state == ON) {
// если показания шума превышают норму или нажата кнопка
// и система была выключена
// выключаем реле и переводим систему в режим «OFF»
digitalWrite(RELAY_PIN, LOW);
digitalWrite(LED_PIN, LOW);
state = OFF;
delay(500);
}
}
====== Что дальше? ======
Хотите собрать другой девайс?
Выберите своё будущее устройство из [[slot-box:start#хочу_собрать|списка проектов на Slot Shield]].