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



Глобальная переменная – объявляется вне функции, например в самом начале кода. Обращаться к глобальной переменной (получать её значение) можно из любого участка кода.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-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
 работы: 0 - автоматический; 1 - пассивный; 2 - активный; 3 - экстренный.

Кроме переменных, в программном обеспечении автоматического термостата также используются константы для хранения настроек подключенного датчика температуры 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 IDE

Монитор порта – небольшая утилита, предназначенная для обмена данными с помощью последовательного порта, чаще всего с 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
Водовозов, А.М. Микроконтроллеры для систем автоматики: учебное пособие. - Вологда: ВоГТУ, 2002.

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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