Собираем электронный санитайзер на Arduino

Собираем электронный санитайзер на Arduino

Сегодня я расскажу, как собрать простой бесконтактный санитайзер: автоматизирую обычный дозатор для жидкого мыла. В этом мне поможет Arduino, инфракрасный датчик и миниатюрный сервопривод.

Что понадобится

    — микроконтроллер Arduino Uno
    — инфракрасный датчик препятствий E18-D80NK
    — сервопривод FS90R
    — пара индикаторных светодиодов
    — два сопротивления на 220 Ом
    — макетная плата
    — соединительные провода «папа-папа»

Мозгом устройства станет любительский микроконтроллер Arduino Uno. У меня под рукой оказалась оригинальная плата, но вы можете использовать практически любые китайские клоны — проект простой, они точно справятся с модулями.

Собираем электронный санитайзер на Arduino

Собирать такой простой гаджет с помощью пайки слишком сложно и долго. Поэтому соберу на простой макетной плате. На таких платах обычно собирают прототипы устройств, но для моего санитайзера это вполне рабочий вариант. Отверстия на макетной плате соединены между собой. По длинным сторонам проходят шины питания, отверстия в центре платы соединены между собой рядами или строками. Это позволяет избавится от проводов и не возиться с паяльником.

Собираем электронный санитайзер на Arduino

Звучит сложно? Посмотрите пошаговую инструкцию, всё станет понятно.

Шаг первый. Подводим питание к макетной плате

Подведём электричество к макетной плате от Ардуино. Напряжение постоянного тока всего пять вольт, это абсолютно безопасно для детей и домашних животных. Соединим контакт 5V с плюсовой шиной на плате, а GND с минусовой.

Собираем электронный санитайзер на Arduino

Чтобы проверить, идёт ли ток, добавим в схему зелёный светодиод. Напрямую подключать светодиоды к питанию нельзя, они могут быстро перегореть. Поэтому добавим в цепь сопротивление, оно понизит напряжение до нужного уровня. Соединим длинную ногу светодиода с плюсовой шиной питания. Для этого вставьте сопротивление в соседнее со светодиодом отверстие, а другую ножку сопротивления — в шину питания. Теперь соедините короткую ногу с минусовой шиной коротким проводом.

Собираем электронный санитайзер на Arduino

Если всё сделали правильно — светодиод загорится. Если светодиод не горит, вероятней всего вы перепутали его полярность. Проверьте ещё раз: длинную ногу нужно подключать к плюсу, короткую — к минусу.

Шаг второй. Подключим управляемый светодиод

Зелёный светодиод будет гореть, пока плата подключена к сети — как лампочка без выключателя. Управлять им не получится. Добавим к устройству второй светодиод — красный — и научимся им управлять.

Собираем электронный санитайзер на Arduino

Подключим плюсовую ногу светодиода. Понадобится ещё один резистор и провод. Воткнём обе ноги резистора в отверстия на одной строке со светодиодом. Теперь добавим провод, который соединит резистор с контактом Ардуины. Воткните его в 13 разъём. Из коробки плата раз в секунду подаёт на него ток, поэтому мы сможем сразу проверить работоспособность устройства — не придётся ничего программировать. Подключите короткую ногу светодиода к минусовой шине ещё одним проводом.

Собираем электронный санитайзер на Arduino

Если всё сделали правильно — красный светодиод будет включаться и выключаться каждую секунду.

Если светодиод не мигает посмотрите на Ардуину. Рядом с 13 контактом на ней сделан маленький светодиод. Он загорается, когда на контакт идёт ток. Если светодиод на плате мигает, проверьте правильно ли вы собрали схему.

Шаг третий. Подключаем датчик препятствий

Добавим к устройству инфракрасный датчик препятствий. У датчика три контакта. Плюс и минус нужно подключить к шине питания на макетной плате. Третий провод — к контакту на Ардуине.

Собираем электронный санитайзер на Arduino

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

Собираем электронный санитайзер на Arduino

Проверить работу датчика легко — в торце, рядом с проводом, сделан маленький светодиод. Он загорается когда датчик видит препятствие. Чтобы отрегулировать расстояние на котором сработает датчик, покрутите регулировочный винт. Датчик видит объекты в диапазоне от 3 до 80 сантиметров.

Шаг четвёртый. Начинаем программировать

Сделаем так, чтобы красный светодиод загорался, когда перед датчиком появляется препятствие. Для этого напишем простую программу.

Платы Arduino программируются через специальный редактор кода, он называется Arduino IDE. Редактор бесплатный — скачайте его и установите на своём компьютере или ноутбуке. Затем подключите к компьютеру плату Arduino — воткните провод от неё в разъём USB, как флешку или жёсткий диск.

Собираем электронный санитайзер на Arduino

Запустите Arduino IDE. Перед вами откроется окно, похожее на Word или блокнот. Сюда мы будем вводить код программы. Arduino программируется на языке C++. О программировании мы ещё расскажем отдельно, а пока просто скопируйте приведённый ниже код.

Сохраните файл с кодом. Теперь нажмите кнопку “Прошить плату” и дождитесь сообщения об окончании процесса.

Теперь плата зажигает красный светодиод, когда видит препятствие перед датчиком приближения.

Собираем электронный санитайзер на Arduino

Если плата по-прежнему мигает красным, прошивка не удалась. Проверьте в настройках Arduino IDE тип платы и порт, к которому она подключена. У вас должны быть значения, как на этих двух рисунках.

Собираем электронный санитайзер на Arduino
Собираем электронный санитайзер на Arduino

Если проблема осталась, рекомендую посмотреть инструкцию о настройке Arduino IDE на wiki.amperka.ru

Шаг пятый. Подключаем сервопривод

Теперь подключим сервопривод. Именно для работы с ним понадобился микроконтроллер. Сервопривод -- это не обычный мотор. Кроме питания, он должен получить команду, которая задаст угол поворота. Сервопривод повернёт рычаг в нужное положение и станет удерживать угол, пока не получит следующую команду.

Собираем электронный санитайзер на Arduino

Подключим плюс и минус сервопривода к шинам питания макетной платы. Сигнальный контакт подключим напрямую к 9 контакту Arduino.

Собираем электронный санитайзер на Arduino

Всё готово, остаётся прошить плату новой прошивкой. Скопируйте код и прошейте плату так, как делали это на предыдущем шаге.

 
Всё готово.

Теперь можете упаковать всю электронику какой-нибудь корпус или коробку. Я использовал подарочную коробку от мультитула, просто потому что она подошла по размеру. Прикрепить серву к дозатору можно с помощью двухстороннего скотча или деталями детского конструктора. Что получилось у меня — смотрите в нашем ролике.

Пишите в комментариях, какие электронные проекты вам интересны, что осталось непонятно и о чём рассказать в следующих статьях.

Собираем электронный санитайзер на Arduino
Постоянный автор компании «220 вольт». Умеет собирать шкафы, пилить заборы и выпиливать двери. Пишет буквы и снимает видео.