Автоматический игрушечный гараж своими руками на Ардуино
Привет всем. В данном проекте мы с помощью Ардуино сделаем игрушечный автоматический гараж. Игрушка необычная, и будет очень интересна вашему малышу. Благодаря ультразвуковому датчику HC-SR04 гараж будет автоматически открываться, когда перед ним будет проезжать машина на расстоянии примерно 30 см, и через 4 сек закрываться. Игрушку можно улучшить. Например: добавить включение подсветки в гараже при открытии, добавить звуки, предупреждающие о закрытии или открытии гаража, или использовать пульт от телевизора чтобы открывать, закрывать гараж, или ставить пароль пультом на гараж… В общем, есть масса интересных вариантов модернизации.
Процесс изготовления игрушечного гаража на Arduino
Для проекта нам понадобится:
- Arduino UNO или любая другая модификация,
- сервомотор SG90,
- ультразвуковой дальномер HC-SR04,
- бредборд (монтажная плата),
- провода папа-папа, папа-мама,
- зарядка от мобильного телефона 5V, 2A, или переносной повербанк, или батарейка «Крона»,
- USB кабель для прошивки Arduino,
- картонка или коробка из-под обуви,
- и прочее.
Первым делом, согласно Вашему эскизу, делаем основание гаража:
Сделав разметку на коробке, вырезаем и склеиваем всё в нужных местах.
В верхней части гаража над воротами делаем отверстие для датчика расстояния.
Делаем ворота высотой 9 см и шириной 7 см и приклеиваем на своё место.
Устанавливаем серводвигатель внутри гаража на потолке, провода выводим наружу в отверстие. Также примеряем и вырезаем небольшие картонные полоски, с помощью которых будут открываться ворота при повороте серводвигателя.
Электрическая схема игрушечного гаража
Теперь рассмотрим схему нашей игрушки.
Схема простая. Для сборки нам нужно несколько проводов, чтобы подключить дальномер к пину D12 на Ардуино. Подключаем контакт Trig а к D11 Echo, ну и сервомотор подключаем к цифровому пину D0.
Скетч для управления игрушечным гаражом
После сбора схемы и перед загрузкой скетча в Ардуино, нужно установить библиотеку NewPing_v1.8. Она немного быстрее работает с датчиком расстояния и упрощает код скетча. Библиотеку можете скачать в ссылке под видео.
#include <NewPing.h> // Подключаем библиотеку NewPing. #include <Servo.h> // Подключаем библиотеку Servo. #define TRIGGER_PIN 12 // Контакт Тrig ультразвукового датчика подключаем к 12 пину Ардуино. #define ECHO_PIN 11 // Контакт Echo ультразвукового датчика подключаем к 11 пину Ардуино. #define MAX_DISTANCE 200 // Ограничиваем максимальный радиус действия сенсора. int clo = 15; // Переменная clo хранит градус на котором закрыт гараж. int ope = 140; // Переменная оре хранит градус на котором открыт гараж. Servo servo; // Создаём переменную servo. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Вызываем функцию sonar библиотеки NewPing void setup() { servo.attach(0); // Подключаем серво к 0 пину Ардуино. servo.write(clo); // Ставим серво на градус который хранится в переменной сlо. } void loop() { delay(70); // делаем задержку 0,007 сек. if (sonar.ping_cm() < 30) // если ультразвуковой датчик увидел препятствие на расстоянии до 30 см { servo.write(ope); // Поворачиваем серво на угол открытия ope delay (3000); // Делаем задержку 3 сек. } else // Если препятствие дальше, чем 30 см. { servo.write(clo); // Поворачиваем серво на угол открытия сlo delay (1000); // Делаем задержку 1 сек. } }
Код очень простой и закомментирован, это проект подойдёт начинающим. Программа постоянно обращается к датчику HC-SR04, и если перед ним появляется препятствие на расстоянии 30 см, он открывает ворота на заданный угол, и программа останавливается на 3 секунды. После 3-х секунд снова идет опрос датчика. Если нет препятствия, то серво поворачивается на заданный угол и закрывает за собой врата.
Видео по сборке и тестированию данного проекта можете посмотреть на канале «Делай Сам».