Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Описание переменных и констант

Поиск

Переменная - это именованная область памяти для хранения данных, которые могу изменятся в процессе исполнения программы.

Константа - это величина, которая не изменяет своего значения в процессе выполнения программы.

Переменные и константы бывают локальные и глобальные.

Глобальные - они доступны из всего кода программы.

Локальные - они доступны только из функции, где были объявлены.

Программный код для разрабатываемого устройства будет иметь следующие переменные:

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А. И.В.
 22
Глобальные:

- Time t - общая переменная для времени реального времени;

- byte Hor; -  переменная часов реального времени;

- byte Min; - переменная минут реального времени;

- byte Sec; - переменная секунд реального времени;

- byte h; - переменная часов времени срабатывания;

- byte m; - переменная минут времени срабатывания;

- byte s; - переменная секунд времени срабатывания;

- byte flag1; - переменная флага 1;

- byte flag2; - переменная флага 2;

- byte flag3; - переменная флага 2.

Локальные:

- byte menu_butt_state; - переменная функции menu() для определения на какой строке находится курсор;

- byte x; - переменная функций настройки, часов, минут и секунд, необходима бля предотвращения ложных срабатывания устройства при вводе значения времени.

А также следующие константы:

Глобальные:

- #define SERVO­_PIN 2 - определение к какому контакту подключен сервопривод;

- GButton up_butt(7, HIGH_PULL, NORM_OPEN); - определение режима работы кнопки «вверх»

- GButton set_butt(5, HIGH_PULL, NORM_OPEN); - определение режима работы кнопки «ввод»

- GButton feed_butt(8, HIGH_PULL, NORM_OPEN); - определение режима работы кнопки «кормежка»

- GButton down_butt(6, HIGH_PULL, NORM_OPEN); - определение режима работы кнопки «вниз»

-

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 23
Servo SERVO - объявления названия сервопривода;

- byte clock_icon[8]={ - задания символа часов

B00000,

B01110,

B10101,

B10111,

B10001,

B01110,

B00000,

B00000,

};

- byte alarm_icon[8]={ - задания символа колокола

B00000,

B00100,

B01110,

B01110,

B01110,

B11111,

B00100,

B00000,

Описание модулей программы

Функция (модуль) – часть программы, имеющая своё название и выполняющая заданную задачу. Большая программа может строиться из нескольких функций, каждая из которых выполняет свою задачу.

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

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 24
В программном коде разрабатываемого устройства используются следующие функции:

Функция setup() (рисунок 14) выполняется один раз при загрузке микроконтроллера. В этой функции описывается режимы работы контактов, а также инициализация подключенный дополнительных модулей.

Рис.14 Функция setup()

Функция loop() (рисунок 15) выполняется непрерывно, в ней выполняется вывод времени на LCD дисплей, а также выполняются функции проверка совпадения времен и отображения времени.

Рис.15 Функция loop()

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 25
Функция time_date() (рисунок 16) вызывается из функции loop() для отображает на главном экране текущее время и время срабатывания.

Рис.16 Функция time_date()

Функция set_time() (рисунок 17) отображает меню настройки меняю для модуля реального времени, из этой функции вызывается функции настройки часов, минут и секунд.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 26

Рис.17 Функция set_time()

Функция hours()(рисунок 18) вызывается из функции set_time(), в ней настраивается значение часов для модуля реального времени.

Рис.18 Функция hours()

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 27
В программном коде также имеются функции minuts() и seconds() их работа схожа с hours(), но они вводят значения для минут и секунд модуля реального времени соответственно.

Функция настройки времени срабатывания обозначения как set_alarm() она работает схожим образом с set_time(), но из нее вызываются функции hours_a(), minuts_a() и seconds_a(), в этих функциях выполняется настройка значений для часов, минут и секунд времени срабатывания соответственно, но введенные значения записываются в память устройства, а не в модуль реального времени.

Функция feed_time() (рисунок 19) выполнят отображение надписи на LCD дисплее, сообщающая пользователю, что производится выдача корма, а также поворот сервопривода и возврат его на исходное положение.

Рис.19 Функция feed_time()

Функция check_alarm() (рисунок 20) выполняет проверку совпадения реального времени и времени, заданного вручную.

Рис.20 Функция hours()


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 28
ЗАКЛЮЧЕНИЕ

    В курсовом проекте было разработано программное обеспечение для спроектированной модели устройства под названием «Диспенсер корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino»

    Было про проанализировано техническое задание, в соответствии с которым было выполнена работа.

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

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


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 29
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНОИКВ

1. Баранов В.Н. Применение микроконтроллеров: схемы, алгоритмы, программы. – М.: Додэка-XXI, 2014. – 288 с

2. Бродин В.Б. Микроконтроллеры. Архитектура, программирование, интерфейс. - М.: ЭКОМ, 2015. – 400 с.

3. Магда Ю.С. Современные микроконтроллеры. Архитектура, программирование, разработка устройств / Ю.С. Магда. – М.: ДМК, 2014. – 228 с.

4. Мержи И.В. Практическое руководство по логическим микросхемам и цифровой схемотехнике – М.: НТ Пресс 2017. – 256 с.

5. Монк С. Программируем Arduino: Основы работы со скетчами. – СПб.: Питер, 2016. – 176 с.

6. Петин В.А. Проекты с использованием контроллера Arduino. – СПб.: БХВ-Петербург, 2014. – 400 с.

7. Черничкин М.Ю. Большая энциклопедия электрика. – М.: Эксмо, 2014. – 272 с.

8.    www.arduino.cc - официальный сайт разработчика микроконтроллерного модуля.

9. www.arduino.ru – русскоязычный сайт по разработке на микроконтроллерном модуля Arduino

10. www.wiki.amperka.ru/продукты:text-lcd-16x2 – описание работы с LCD 1602

11. www.arduinoplus.ru/arduino-servoprivod/ - описание работы с сервоприводом


 

 

II Графическая часть


 

 

Приложения



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 111; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.7.103 (0.007 с.)