Описание переменных и констант
Глобальная переменная – объявляется вне функции, например в самом начале кода. Обращаться к глобальной переменной (получать её значение) можно из любого участка кода.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
29 |
Локальных переменных может быть несколько с одинаковым именем, но с разными значениями. Это связано с тем, что локальная переменная выгружается из оперативной памяти микроконтроллера при выходе из функции.
Константы – это постоянные значения, которые известны во время компиляции и не изменяются во время выполнения программы.
Тип данных
<тип данных><имя>; - объявление переменной
int my_val;
<тип данных><имя>=<значение>;
int my_val = 2300;
Примеры типов данных:
1. boolean
2. byte
3. char
4. unsigned char
5. word
6. unsigned int
7. int
8. unsigned long
9. long
10. float
11. double
В таблице, представленной ниже, перечислены характеристики каждого типа данных:
Таблица 1
Примеры и значения типов данных
Название | Вес | Диапазон | Особенность |
boolean | 1 байт | 0 или 1 | Логическая переменная, может принимать значения true (1) и false (0) |
char | 1 байт | -128… 127 | Хранит номер символа из таблицы символов ASCII |
byte | 1 байт | 0… 255 | |
int | 2 байта | -32 768… 32 767 | |
unsigned int | 2 байта | 0… 65 535 | |
word | 2 байта | 0… 65 535 | То же самое, что unsigned int |
long | 4 байта | -2 147 483 648… 2 147 483 647 | - 2 миллиарда… 2 миллиарда |
unsigned long | 4 байта | 0… 4 294 967 925 | 0… 4 миллиарда… |
float | 4 байта | -3.4028235E+38… -3.4028235E+38 | Хранит числа с плавающей точкой (десятичные дроби). Точность: 6-7 знаков |
double | 4 байта | То же самое, что float |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
30 |
|
|
Константы
const<тип><имя>=<значение>; - структура объявления константы
const int my_val = 2300;
#define <имя><значение> - объявление через define
#define my_val 2300
При разработке программного обеспечения автоматического термостата для серверных помещений использовались следующие типы переменных:
float temp ; //Хранение значений, полученных с датчиков температуры по запросу микроконтроллерного модуля
|
|
int BS ; // Хранение состояния тактовой кнопки
int mode = 0; //Режим
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
31 |
Кроме переменных, в программном обеспечении автоматического термостата также используются константы для хранения настроек подключенного датчика температуры DS18B20, хранения номеров контактов подключенных вентиляторов, светодиодной индикации, элементов управления автоматическим термостатом и переменные для объявления используемых библиотек:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 5
const int Cooler1 = 3; //Кулер M1
const int Cooler2 = 12; //Кулер M2
const int greenled = 5; //Зеленый светодиод
const int yellowled = 6; //Желтый светодиод
const int redled = 7; //Красный светодиод
const int button = 9; //Кнопка
Описание модулей программы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
32 |
|
|
В среде разработки Arduino IDE имеются две стартовые подпрограммы – «setup» и «loop».
Подпрограмма «setup» предназначена для первичных установок при запуске и выполняется только один раз. В этом модуле описываются изначальные состояния вентиляторов охлаждения, светодиодов и тактовой кнопки.
Подпрограмма «loop» представляет собой бесконечный цикл, в котором выполняется основная часть кода до тех пор, пока микроконтроллерный модуль функционирует. В этом модуле происходит постоянное считывание входных данных с датчиков температуры, состояния тактовой кнопки, описаны режимы работы разрабатываемого устройства, а также условия изменения текущего режима согласно полученным данным: для каждого температурного диапазона имеется свое состояние вентиляторов охлаждения и светодиодов.
Также можно организовывать свои подпрограммы, помогающие дополнительно оптимизировать структуру кода, а также добавляющие новые функции. В разрабатываемом программном обеспечении такую функцию выпоняет подпрограмма «PrintTemperature».
|
|
Подпрограмма «PrintTemperature» отвечает за отправку данных температуры на микроконтроллерный модуль и вывод полученных данных на экран с необходимым интервалом.
Описанная выше подпрограмма вызывается из основного кода с помощью прерывания.
Отладка программы
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
· узнавать текущие значения переменных;
· выяснять, по какому пути выполнялась программа.
Существуют две взаимодополняющие технологии отладки.
· Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
· Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.
В процессе отладки программного обеспечения автоматического термостата для серверных помещений необходимо определить температурный диапазон, в котором будет изменяться переменная temp. На основании полученных данных определяется режим работы разрабатываемого устройства.
Опытным путем были установлены возможные значения переменной temp, в зависимости от которых выбраны наиболее оптимальные сценарии функционирования устройства.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
33 |
Монитор порта – небольшая утилита, предназначенная для обмена данными с помощью последовательного порта, чаще всего с Arduino. Так как в Arduino IDE нет встроенных средств для отладки прошивок, монитор порта является единственным доступным для этого средством.
Утилита состоит из одного окна и одновременно может работать только с одним последовательным портом, номер которого был выбран в Arduino IDE. Условно это окно можно разбить на три части:
Рис.16 «Монитор порта»
1. В верхней его части будет находиться поле ввода. С помощью него можно отправлять данные в последовательный порт;
2. В центральной части будут отображаться данные, полученные из последовательного порта;
3. В нижней части расположено меню настроек. При включённой автопрокрутке полученные данные всегда будут пролистываться вниз, и вы будете видеть последн
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
34 |
ЗАКЛЮЧЕНИЕ
В ходе написания курсового проекта было разработано программное обеспечение автоматического термостата для серверных помещений на базе микроконтроллерного модуля Arduino Mega 2560 R3. Управление автоматизированным термостатом для серверных помещений осуществляется с помощью кнопки «Режим», описанной в программном коде. Выбранный сценарий функционирования устройства отображается на светодиодном блоке индикации, для которого создан участок кода в основном блоке программы.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
35 |
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ И ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ
1.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КП-09.02.01.КС42.09.03.19 ПЗ |
Разраб. |
Михайлова А.С |
36 |
2. Научно- технический журнал «Схемотехника» №2, 2001–2002 гг.
3. Рюмик, С.М. 1000 и одна микроконтроллерная схема. - М.: Додэка-XXI, 2012.
4. Баранов, В.Н. Применение микроконтроллеров: схемы, алгоритмы, программы. - М.: Додэка-XXI, 2011.
5. Хартов, В.Я. Микроконтроллеры. Практикум для начинающих: Учебное пособие. - М.: МГТУ им. Баумана, 2012.
6. В.Б. Бродин, А.В. Калинин. Системы на микроконтроллерах и БИС программируемой логики. - СПб.: ЭКОМ, 2012.
7. Бродин, В.Б. Микроконтроллеры. Архитектура, программирование, интерфейс. - М.: ЭКОМ, 2005.
8. Соммер У, Программирование микроконтроллерных плат Arduino. - СПб.: БХВ-Петербург, 2012.
9. http://www.atmel.com – сайт разработчиков микроконтроллеров Atmel.
10. http://eldigi.ru – сайт элементной базы проектируемого устройства.
Графическая часть
Приложения
Дата добавления: 2019-07-15; просмотров: 171; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!