В этой статье я покажу, как собрать несложную сигнализацию на Arduino .

К будущему устройству на этапе создания сразу были предъявлены следующие требования:

  • Изделие должно быть полностью работоспособным.

  • Должно отвечать требованиям техники безопасности.

  • Иметь презентабельный внешний вид.

  • Использование максимально доступных компонентов.

  • Максимальное снижение траты электрической энергии (работает от 1 пальчиковой солевой батарейки).

Для работы нам понадобиться: компьютер с установленным ПО Arduino IDE, RGB светодиод, ультразвуковой дальномер HC‑ SR04, микроконтроллер Arduino UNO, соединительные провода <<папа — папа>> и <<мама‑ папа>>, зуммер, 3 резистора 220 Ом, макетная плата.

Электронный конструктор
Электронный конструктор

Изначальной моей целью работы была — собрать сигнализацию на базе датчика движеният(HC‑ SR501), но так как данный модуль работал некорректно, я решил заменить этот компонент на ультразвуковой дальномерт(HC‑ SR04).

Ультразвуковой дальномер HC-SR04
Ультразвуковой дальномер HC-SR04

Пока мое устройство не было полностью готово, я не смотрел какие‑ либо авторские разработки похожих изделий да и в информационных источниках я не нашел ничего похожего на мою модель, следовательно, её можно считать моей авторской разработкой.

Далее были соединены детали сигнализации проводами для проверки работоспособности. Для проверки был написан короткий скетч, тестирующий работу каждого элемента.. Здесь я начал объединять компоненты: сначала я соединил ультразвуковой дальномер с зуммером и подобрал частоты пьезодинамика для полной схожести с мигалкой пожарной части.

Начало сборки
Начало сборки

Затем добавляем большой RGB‑светодиод:

Добавление светодиода
Добавление светодиода

Далее собранную модель сигнализации помещаем в корпус из конструктора LEGO:

Сборка сигнализации
Сборка сигнализации
Сборка сигнализации
Сборка сигнализации

И, наконец, была разработана электрическая схема соединения компонентов:

Схема соединения компонентов
Схема соединения компонентов

После проверки работоспособности компонентов в различных режимах, я начал разработку скетча управления моделью и его реализацию в Arduino IDE:

const int Trig = 7;//Вывод, к которому подключен контакт дальномера TRIG.

const int Echo = 6;//Вывод, к которому подключен контакт дальномера ECHO.

const int BUZ = 10;

const int LED = 12;//Вывод, к которому подключен контакт пьезодинамик(зуммер).

unsigned int time_us1 = 0;//Переменная для хранения времени получения отклика.

unsigned int distance_cm1 = 0;//Переменная для хранения расстояния.

void setup() {

pinMode(Trig, OUTPUT);//Установка вывода TRIG в режим выхода.

pinMode(Echo, INPUT);//Установка вывода ECHO в режим входа.

Serial.begin(9600);//Установка скорости соединения.

pinMode(BUZ, OUTPUT);//Установка вывода зуммера в режим выхода..

pinMode(LED, OUTPUT);

}

 void loop() {

 noTone(BUZ);//Выключить зуммер.

 digitalWrite(Trig, HIGH);//Подача ультразвукового сигнала с датчика.

 delayMicroseconds(10);//Подача сигнала длится 10 микросекунд.

 digitalWrite(Trig, LOW);//Прекратить подачу сигнала.

 time_us1 = pulseIn(Echo, HIGH);// Определение длительности импульса.

 distance_cm1 = time_us1/58;//Пересчёт в сантиметры. Коэффициент пересчёта 58.

 

 Serial.println(distance_cm1);//Вывод на монитор порта расстояния.

 

 delay(50);//Небольшая задержка.

//Если произошло зависание, попытаться переназначить режим вывода , к которому

//подключен контакт ECHO.

 if(distance_cm1 == 0){

   pinMode(Echo, OUTPUT);

   digitalWrite(Echo, LOW);

   pinMode(Echo, INPUT);

   return;

 }

  if ((distance_cm1)<195){//Если расстояние меньше 195 см...

     {

       tone(BUZ, 500);//Подать звук частотой 500 Гц.

       delay(100);//Задержка 250 микросекунд.

       tone(BUZ,1000);//Подать звук частотой 1000 Гц.

       delay(100);//Задержка 250 микросекунд.

       digitalWrite(LED, HIGH);//Включить RGB-диод.

       delay(200);}//Задержка 200 микросекунд.

 }

else(digitalWrite(LED, LOW));//Иначе Не включать светодиод.

 }

Окончательная модель выглядит так:

     Собранная сигнализация
Собранная сигнализация

Принцип работы изделия прост: оно размещается напротив входной двери на расстоянии 2 метра. Когда кто‑то заходит, это сразу замечает ультразвуковой дальномер, запускает мигалку и

включает звук. Данная сигнализация реагирует даже на очень небольшие объекты и напоминает РЛС.

При выполнении данной работы были выполнены следующие задачи:

  • Была изучена история создания Arduino.

  • Была изучена структура электронного конструктора Arduino.

  • Были изучены особенности программирования аппаратной платформы Arduino.

  • Была сконструирована сигнализация на базе Arduino совместимой аппаратной платформе.

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

Литература
Литература

Комментарии (18)


  1. tsdrotvek
    13.02.2026 06:06

    Данный датчик узконаправленный в целом для задач охраны подходит слабо, к нему тогда нужно приделать сервомашинку и организовать повороты по принципу РЛС.

    Но лучше использовать датчики движения JM-T9 P728 или PIR-8


  1. randomsimplenumber
    13.02.2026 06:06

    На дверь можно и микрик поставить, или геркон. А вместо Arduino взять 555 таймер.


  1. Dr_Faksov
    13.02.2026 06:06

    К будущему устройству на этапе создания сразу были предъявлены следующие требования:

    Честно? Страшно! Страшно, если с такими требованиями разрабатывают настоящие сигнализации. Нет самого главного - "Устройство должно быть НАДЁЖНО!!!"


    1. Maximka200 Автор
      13.02.2026 06:06

      Изделие должно быть полностью работоспособным подразумевает надёжность


      1. randomsimplenumber
        13.02.2026 06:06

        Так какая надежность получилась? Хорошая, или достаточная?


  1. kalapanga
    13.02.2026 06:06

    Замечания по статье:

    работает от 1 пальчиковой солевой батарейки

    микроконтроллер Arduino UNO

    1) Что, правда?

    2) В тексте упоминается и присутствует на схеме rgb-светодиод. В скетче используется только один из трёх каналов. Ну и оставьте на схеме и в описании один обычный светодиод!

    но так как данный модуль работал некорректно

    3) А проблема точно была в модуле, а не в программисте? Также настораживает борьба с какими-то странными "зависаниями" в коде. Может стоило разобраться с причинами этих "зависаний"?

    4) Схема, конечно, лучше такая, чем никакой. Но куда подключены 4 шестиугольника без номеров? Кто такой с тремя выводами [- + S]? Где источник питания?

    5) Код тегом выделили - отлично! Но почему бы его ещё лучше не отформатировать? Убрать пустые строки, красиво расставить отступы? (Тем более, что форматирование кода в Arduino IDE делается одной комбинацией клавиш)

    Есть ощущение, что автор хочет публиковать много всего, не сильно заботясь о качестве материала.


    1. salnicoff
      13.02.2026 06:06

      Есть ощущение, что какая-то говно-школа проводит говно-конкурс поделок, и одно из требований — написать о своем поделии статью в читаемом месте. Говорят, «Хабр» в таких конкурсах прокатывает на ура. Мнение аудитории «читаемого места» этих горе-педагогов не интересует. Кстати, весна — это период обострений у педагогов, количество конкурсов растет, и поток подобных креативов на «Хабре» сейчас будет расти...


      1. Maximka200 Автор
        13.02.2026 06:06

        Наоборот, если разместили статью, то мнение аудитории интересует.


        1. salnicoff
          13.02.2026 06:06

          Статья — это пропуск на конкурс, ее содержание — вторично, мнение аудитории вообще в этой схеме отсутствует. Это правила большинства таких «конкурсов».


          1. randomsimplenumber
            13.02.2026 06:06

            пропуск на конкурс

            Не знаю что там за тамада, но конкурсы скучные.


    1. Maximka200 Автор
      13.02.2026 06:06

      1) Да, правда. Если батарейка квадратная и большая, то от неё можно запитать устройство.

      2)это исправлено в следующей статье.

      3)Да, точно в модуле. Он был неисправен.

      4)Это исправлено в следующей статье.

      5)Это исправлено в следующей статье.


      1. randomsimplenumber
        13.02.2026 06:06

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

        работает от 1 пальчиковой солевой батарейки

        квадратная и большая, пальчиковая солевая - это одна и та же батарейка или 4 разные? ;)


        1. Maximka200 Автор
          13.02.2026 06:06

          Да, одна и та же. Одна большая квадратная солевая пальчиковая батарейка.


          1. randomsimplenumber
            13.02.2026 06:06

            По инженерски - 3R12.


            1. Maximka200 Автор
              13.02.2026 06:06

              Да, именно она.


              1. randomsimplenumber
                13.02.2026 06:06

                А пальчиковая - АА. Не путайте ;)


  1. rootCore
    13.02.2026 06:06

    А на что фотографировали? На зенит какой нибудь?

    А насчёт авторской разработки - лукавство, это скорее базовая модель, как раз в учебных целях она и применяется. Когда на занятиях берут и тестируют датчик, на определенном расстоянии что бы загорелся светодиод.


  1. CyberCarp
    13.02.2026 06:06

    Если дома кот/собака - повторять не рекомендую.

    Ультразвуковой дальномер у пушистых провоцирует рвотные рефлексы :)