Проекты на Arduino и Slot Shield
Управлять электроприборами не вставая с дивана легко и просто. Щелкнул пальцами и включил свет, хлопнул в ладоши — вентилятор заработал. Не жизнь, а праздник.
Всё что нужно — Iskra Neo (российский аналог Arduino Leonardo), датчик шума (он и будет определять хлопки и щелчки), мини-реле (через него подключим любимый торшер) и кнопка, а то вдруг шуметь не захочется.
Этот девайс мы использовали в видеообзоре датчика шума.
Полный сет компонентов проекта. В сет входят:
Внимание!
Работа с высоким напряжением опасна для вашего здоровья и жизни. На плате существуют области, прикосновение к которым приведёт к поражению электрическим током. Это винты контактных колодок и места пайки выводов контактных колодок и реле. Не работайте с платой, если она подключена к бытовой сети. Для готового устройства используйте изолированный корпус.
Если вы сомневаетесь как подключить к реле электроприбор, работающий от общей сети 220 В и у вас есть сомнения, вопросы на тему того как это делается, остановитесь: вы можете устроить пожар или убить себя. Убедитесь, что у вас в голове — кристальное понимание принципа работы устройства и опасностей, которые связаны с высоким напряжением.
Установите Troyka Slot Shield на Iskra Neo
Возьмите датчик шума, поверните его на 90 градусов против часовой стрелки и вставьте в верхний левый слот.
Вставьте светодиодную кнопку в центральный нижний слот, повернув её на 90 градусов против часовой стрелки.
Вставьте мини-реле в верхний правый слот.
Прошейте контроллер скетчем через 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 Shield.