Найти в Дзене
Как бы Electronics!

GSM Сигнализация, Как я написал программу. Часть 11.

Что бы написать любую программу для контроллера Атмега, нужно знать язык программирования. Естественно этот язык я не знаю и учить его небыло времени. Написанную программу в виде текста необходимо было ввести в программу Arduino IDE, настроить её, и прошить контроллер. Настройка программы Arduino IDE и непосредственно прошивка контролера оказалось делом довольно простым. В интернете полно роликов и статей о том, как установить программу, настроить и прошить контроллер Атмега. Повторятся не буду. Но вот написание самой программы (даже самой простенькой) оказалось делом не легким, в виду отсутствия знания языка программировании. На мое счастье оказалось, что существует такое приложение FL Prog, которое позволяет всю программу спроектировать при помощи блоков. Эта программа бесплатна. Скачиваете, устанавливаете и все дела. О том что из себя представляет эта программа, существует огромное множество роликов в интернете. Цель данной статьи объяснить как работает прошивка сигнализации. Знани

Что бы написать любую программу для контроллера Атмега, нужно знать язык программирования. Естественно этот язык я не знаю и учить его небыло времени. Написанную программу в виде текста необходимо было ввести в программу Arduino IDE, настроить её, и прошить контроллер. Настройка программы Arduino IDE и непосредственно прошивка контролера оказалось делом довольно простым. В интернете полно роликов и статей о том, как установить программу, настроить и прошить контроллер Атмега. Повторятся не буду. Но вот написание самой программы (даже самой простенькой) оказалось делом не легким, в виду отсутствия знания языка программировании.

На мое счастье оказалось, что существует такое приложение FL Prog, которое позволяет всю программу спроектировать при помощи блоков.

логотип программы FL  prog.
логотип программы FL prog.

Эта программа бесплатна. Скачиваете, устанавливаете и все дела. О том что из себя представляет эта программа, существует огромное множество роликов в интернете.

Цель данной статьи объяснить как работает прошивка сигнализации. Знание алгоритмов работы, позволит вносить изменения или улучшения, а также научит воплощать свои собственные задумки в "металл". И так начнём.

Для начала представим из каких отделов должна состоять будущая программа сигнализации? На рисунке ниже представлена структурная схема:

Структурная схема.
Структурная схема.

Очевидно, что для построения сигнализации необходимо придумать блок который отвечает за приём информации, переводе её в двоичный код, производит логические операции над этой информацией. Например, необходима такая операция, в случае отработки любого из датчиков, распознать какой именно датчик сработал и присвоить ему номер (название или адрес). И так всем этим занимается блок "логических операций и ввода".

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

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

И наконец нужен блок управления модулем SIM800L, который будет осуществлять приём и передачу Смс команд и уведомлений.

Теперь разберёмся детально с каждым блоком. начнем с блока приема передачи. Ссылка на схему: https://cloud.mail.ru/public/dD5M/M2C8wthbQ.

Качаем схему, она в формате pdf. Будем изучать работу схемы пофрагментно и попытаемся во всем разобраться. Для понимания работы данной схемы необходимо иметь представление о булевой алгебре.

В программе FL Prog логические элементы можно выбирать из библиотеки функциональных блоков, например на рисунке показан блок элемента "И".

Блок И в библиотеке.
Блок И в библиотеке.

Он перетаскивается в рабочее поле программы, и там уже с ним можно делать различные настройки и подключения. Логический элемент И отобразится в рабочем поле программы FL Prog вот таким блоком:

Блок И
Блок И

В итоге получается схема очень похожая на электрическую. Подробно о работе в программе FL Prog существует много роликов в интернете. Так же если на блок отображающий элемент нажать правой кнопкой мыши, можно выбрать из контекстного меню пункт "Изменить параметры". В открывшемся окне нажимаем на знак "?"

-5

и получаем подробное описание работы блока:

-6

Очень важно, что даётся ссылка на видеоурок именно по этому блоку. В коротком видео наглядно, на примере разъяснено как работает блок, и как его настраивать.

Как видно из таблицы истинности, блок работает только с двоичными числами : false это ноль или выключено, а true это единица, или включено.

Клемма, это такая переменная в которую можно передать любое значение между платами. В схеме на клемму "Импульсы" как раз и поданы импульсы от генератора. Этот генератор (мультивибратор) расположен на другой плате, поэтому чтобы импульсы передать в плату со схемой блока приёмо-передачи и потребовалась клемма. Клемма обозначена символом "х".

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

Но вернёмся к изучению работы нашей схемы.

В нескольких видео роликах ниже, пошагово разъяснено как работает схема блока приёмо-передачи.

Следующая статья: