Файл: Разработка аппаратнопрограммного комплекса "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 138

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
который трансформирует инструкции, написанные человеком, в машинные коды без использования аппаратного программатора, что является большим плюсом.
Описание переменных и констант.

В качестве глобальных и локальных переменных в разрабатываемом программном коде используются типы данных:int8_t, byte, boolean(таблица1).

Таблица 1

Используемые переменные в программном коде.

Тип переменной

Название переменной

boolen

dotFlag, alarmFlag, minuteFlag, blinkFlag, newTimeFlag;

boolen

dawn_start = false;

boolen

alarm = false;

byte

mode;

Int8_t

hrs = 21, mins = 55, secs;

Int8_t

alm_hrs, alm_mins;

Int8_t

dwn_hrs, dwn_mins;

Описание используемых переменных в программном коде:

  • boolean — логический тип данных, принимает значения 0 и 1, или true и false (правда и ложь). По сути ведёт себя как бит, но занимает 8 бит. Есть несколько путей хранить логические переменные так, чтобы они занимали 1 байт, но об этом поговорим позже. Также переменная типа boolean принимает значение true, если присвоить ей значение? отличное от нуля, то есть boolean a = 50; a будет true, и boolean b = -20; Пример: boolean flag = true;

  • int8_t 8-битовый тип данных без знака;

  • byte тип данных незаслуженно недооцененный начинающими программистами, который почему-то заменен типом int даже в большинстве примеров Arduino IDE. Он хорош тем, что занимает столько же места, сколько и один регистр памяти 8-битных контроллеров Arduino. 8 бит так же занимает и минимальный коммуникационный пакет данных в сети UART, I2C и других.




Описание переменных.

boolen [dotFlag, alarmFlag, minuteFlag, blinkFlag, newTimeFlag;]; —библиотека для таймера (быстрая).

byte mode ; — 0 - часы, 1 – установка будильника, 2 – установка времени.
Описание модулей программы.

При написании программного кода на Arduino обязательно нужно придерживатся порядка. А благодаря модульности появляется возможность сконструировать любую систему, в зависимости от необходимости. Начиная с простого смарт-прибора для контроля освещённости и температуры в помещении, и заканчивая умными аграрными системами.

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

  1. Модуль подключения. Подключаемые библиотеки и объявление констант. Подключаемые библиотеки и объявление констант – это самый первый блок разрабатываемого алгоритма.

  2. Модуль начальной загрузки. Модуль начальной загрузки void setup () – загрузив программу, Arduino дает нашему коду возможность поучаствовать в инициализации системы. Для этого мы должны указать микроконтроллеру команды, которые он выполнит в момент загрузки и потом забудет про них (т.е. эти команды выполнятся только один раз при старте системы).

  3. Модуль установки будильника. Модуль установки будильника void settings() обеспечивает настройку и корректировку режима подсчета времени, так-же задает интервал таймауту и определяет время индикации семи сегментного индикатора.

  4. Модуль работы энкодера. Модуль работы энкодера void void encoderTick() обеспечивает работоспособность энкодера, отвечает за считыание поворотов и нажатий на энкодоре. А также отвечает за переход в модуль установки будильника.


ЗАКЛЮЧЕНИЕ

В процессе работы над курсовым проектом, согласно техническому заданию, была разработана действующая модель проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.

Отличительной особенностью разработанного устройства является полная автономность, ведь устройство работает как от батареи, так и от прямого источника питания.



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

Основными органами управления разработанного устройства является энкодер.

Для создания действующей модели проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino были исследованы электронные часы, что поспособствовало реализации принципа действия разработанного устройства.

В процессе работы над курсовым проектом была подобрана элементная база для конструирования действующей модели проектируемого устройства "Умный будильник".

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

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

  2. Безуглов Д.А., Калиенко И.В. Цифровые устройства и микропроцессоры - Ростов-на-Дону: Феникс, 2017.

  3. Стивен С. Алгоритмы, скетчи. Руководство по разработке – СПБ.: БХВ-Петербург, 2017.

  4. Соммер, У. Программирование микроконтроллерных плат Arduino / У. Соммер – Philadelphia: SIAM, 2017.

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

  6. Музаева И.В. Элементная база для построения цифровых систем управления – М.: Техносфера, 2015.

  7. Музылева И.В. Элементная база для построения цифровых систем управления - М.: Техносфера, 2006.Потехин В.А. Схемотехника цифровых устройств: учебное пособие для вузов – Томск: В-Спектр, 2018.

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

  9. https://robohobby.by/lessons/arduino_ide_tutorial/ – Информация о работе в Arduino IDE.www.arduino.cc/en/Main/arduinoBoardUno – описание отладочного комплекта Arduino UNO.

  10. www.arduino.ru – официальный сайт разработчика микроконтроллера.

  11. https://electrosam.ru/glavnaja/slabotochnye-seti/oborudovanie/fotodiody/ – описание работы фотодиодов

  12. http://arduino.ru/Arduino_environment – Информация о ПО Arduino IDE.



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