Файл: Разработка аппаратнопрограммного комплекса "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 138
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
который трансформирует инструкции, написанные человеком, в машинные коды без использования аппаратного программатора, что является большим плюсом.
Описание переменных и констант.
В качестве глобальных и локальных переменных в разрабатываемом программном коде используются типы данных:int8_t, byte, boolean(таблица1).
Таблица 1
Используемые переменные в программном коде.
Описание используемых переменных в программном коде:
Описание переменных.
boolen [dotFlag, alarmFlag, minuteFlag, blinkFlag, newTimeFlag;]; —библиотека для таймера (быстрая).
byte mode ; — 0 - часы, 1 – установка будильника, 2 – установка времени.
Описание модулей программы.
При написании программного кода на Arduino обязательно нужно придерживатся порядка. А благодаря модульности появляется возможность сконструировать любую систему, в зависимости от необходимости. Начиная с простого смарт-прибора для контроля освещённости и температуры в помещении, и заканчивая умными аграрными системами.
Разрабатываемый алгоритм в дипломном проекте включает в себя следующие модули:
ЗАКЛЮЧЕНИЕ
В процессе работы над курсовым проектом, согласно техническому заданию, была разработана действующая модель проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.
Отличительной особенностью разработанного устройства является полная автономность, ведь устройство работает как от батареи, так и от прямого источника питания.
Разработанное устройство имеет встроенный семисегментный дисплей, для визуальной индикации, выдающего необходимую информацию о работе устройства.
Основными органами управления разработанного устройства является энкодер.
Для создания действующей модели проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino были исследованы электронные часы, что поспособствовало реализации принципа действия разработанного устройства.
В процессе работы над курсовым проектом была подобрана элементная база для конструирования действующей модели проектируемого устройства "Умный будильник".
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Графическая часть
Описание переменных и констант.
В качестве глобальных и локальных переменных в разрабатываемом программном коде используются типы данных: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 обязательно нужно придерживатся порядка. А благодаря модульности появляется возможность сконструировать любую систему, в зависимости от необходимости. Начиная с простого смарт-прибора для контроля освещённости и температуры в помещении, и заканчивая умными аграрными системами.
Разрабатываемый алгоритм в дипломном проекте включает в себя следующие модули:
-
Модуль подключения. Подключаемые библиотеки и объявление констант. Подключаемые библиотеки и объявление констант – это самый первый блок разрабатываемого алгоритма. -
Модуль начальной загрузки. Модуль начальной загрузки void setup () – загрузив программу, Arduino дает нашему коду возможность поучаствовать в инициализации системы. Для этого мы должны указать микроконтроллеру команды, которые он выполнит в момент загрузки и потом забудет про них (т.е. эти команды выполнятся только один раз при старте системы). -
Модуль установки будильника. Модуль установки будильника void settings() обеспечивает настройку и корректировку режима подсчета времени, так-же задает интервал таймауту и определяет время индикации семи сегментного индикатора. -
Модуль работы энкодера. Модуль работы энкодера void void encoderTick() обеспечивает работоспособность энкодера, отвечает за считыание поворотов и нажатий на энкодоре. А также отвечает за переход в модуль установки будильника.
ЗАКЛЮЧЕНИЕ
В процессе работы над курсовым проектом, согласно техническому заданию, была разработана действующая модель проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.
Отличительной особенностью разработанного устройства является полная автономность, ведь устройство работает как от батареи, так и от прямого источника питания.
Разработанное устройство имеет встроенный семисегментный дисплей, для визуальной индикации, выдающего необходимую информацию о работе устройства.
Основными органами управления разработанного устройства является энкодер.
Для создания действующей модели проектируемого устройства "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino были исследованы электронные часы, что поспособствовало реализации принципа действия разработанного устройства.
В процессе работы над курсовым проектом была подобрана элементная база для конструирования действующей модели проектируемого устройства "Умный будильник".
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Мержи И.В. Практическое руководство по логическим микросхемам и цифровой схемотехнике — М.: НТ Пресс 2017 -
Безуглов Д.А., Калиенко И.В. Цифровые устройства и микропроцессоры - Ростов-на-Дону: Феникс, 2017. -
Стивен С. Алгоритмы, скетчи. Руководство по разработке – СПБ.: БХВ-Петербург, 2017. -
Соммер, У. Программирование микроконтроллерных плат Arduino / У. Соммер – Philadelphia: SIAM, 2017. -
Бродин В.Б. Микроконтроллеры. Архитектура, программирование, интерфейс. - М.: ЭКОМ, 2015. -
Музаева И.В. Элементная база для построения цифровых систем управления – М.: Техносфера, 2015. -
Музылева И.В. Элементная база для построения цифровых систем управления - М.: Техносфера, 2006.Потехин В.А. Схемотехника цифровых устройств: учебное пособие для вузов – Томск: В-Спектр, 2018. -
Петин В.А. Проекты с использованием контроллера Arduino. – СПб.: БХВ-Петербург, 2016. -
https://robohobby.by/lessons/arduino_ide_tutorial/ – Информация о работе в Arduino IDE.www.arduino.cc/en/Main/arduinoBoardUno – описание отладочного комплекта Arduino UNO. -
www.arduino.ru – официальный сайт разработчика микроконтроллера. -
https://electrosam.ru/glavnaja/slabotochnye-seti/oborudovanie/fotodiody/ – описание работы фотодиодов -
http://arduino.ru/Arduino_environment – Информация о ПО Arduino IDE.
Графическая часть