Микропроцессорная информационная система
Назначение выводов микроконтроллера Arduino Leonardo. Разработка программного кода, взаимодействующего с элементами, установленными на плате Arduino Leonardo. Закачка программы в микроконтроллер, написание скетча для него, прошивка и тестирование.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.02.2019 |
Размер файла | 4,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru//
Размещено на http://www.allbest.ru//
Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
Федеральное государственное образовательное учреждение высшего образования
Омский государственный университет путей сообщения(ОмГУПС)
Кафедра «Автоматика и системы управления»
Микропроцессорная информационная система
Пояснительная записка к курсовой работе
Омск 2017
Реферат
Цель работы - изучить назначение, область применения, архитектуру платформы. Разработать программный код, взаимодействующий с элементами, установленными на плате Arduino Leonardo.
В результате курсовой работы разработана топология макетной платы, собрана макетная схема, написан соответствующий скетч для микроконтроллера, прошит микроконтроллер.
Курсовая работа выполнена в текстовом редакторе Microsoft Word 2010, прошивка написана в ArduinoIDE, разработка топологии макетной платы выполнена в Fritzing.
Введение
Микроконтроллер - это программируемая микросхема, состоящая из процессора (ядра) и периферии (АЦП, ЦАП, входа/выхода), обладающая оперативной и (или) постоянной памятью, выполняющая последовательность операций в соответствии с программой.
Микроконтроллеры применяют во всех сферах жизни, начиная от бытовых приборов и заканчивая сложными системами управления. По сравнению с первыми моделями, во много раз увеличилась производительность, появились дополнительные возможности (например, подключение внешней памяти), количество размещаемой на кристалле периферии стало столько, что при разработке несложных проектов, достаточно иметь сам микроконтроллер, сделать «обвязку», подключить источник питания и устройство готово.
В данной курсовой работе будет разработано устройство,генерирующее ШИМ сигналы пьезоизлучателем.
1. Описание структуры информационной системы
Микроконтроллеры обычно не могут выдавать произвольное напряжение. Они могут выдать либо напряжение питания (например, 5 В), либо землю (т.е. 0 В), но уровнем напряжения управляется многое: например, яркость светодиода.
Для симуляции неполного напряжения используется ШИМ (широтно-импульсная модуляция, англ. pulse width modulation или просто PWM), представлена на рисунке 1.1.
Рисунок 1.1 - Широтно-импульсная модуляция
микроконтроллер программный код скетч
Выход микроконтроллера переключается между землёй и Vcc тысячи раз в секунду. Или, как ещё говорят, имеет частоту в тысячи герц. Глаз не замечает мерцания более 50 Гц, поэтому кажется, что светодиод не мерцает, а горит в полсилы.
Отношение полного периода к времени включения называют скважностью.Часто используется величина, обратная скважности, которая называется коэффициент заполнения (англ. duty cycle).
Пара сценариев при напряжении питания Vcc равным 5 вольтам представлены на рисунках 1.3 и 1.4.
Рисунок 1.3 - Сигнал с коэффициентом заполнения 50%
Рисунок 1.4 - Сигнал с коэффициентом заполнения 10%
2.Описаниеструктурной схемы МП системы
Схема подключения -графическое изображение (модель), служащее для передачи с помощью условных графических и буквенно-цифровых обозначений связей между элементами электрического устройства.Схема подключения представлена в приложении А, а программный код - в приложении Б.
2.1 Микроконтроллер
Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги).
Микроконтроллеры Atmel объединяют в себе эффективные встроенные решения, проверенные технологии и революционные идеи, являясь идеальным выбором для современных интеллектуальных сетевых продуктов.
Микроконтроллеры Atmel также поддерживают простую и удобную интеграцию технологии емкостного сенсорного ввода для реализации кнопок, ползунков и колес прокрутки. Кроме того, микроконтроллеры Atmel позволяют внедрять беспроводные функции и функции защиты.
В качестве микроконтроллера выбран ArduinoLeonardoна базе ATmega32u4(рисунок 1).
ArduinoLeonardo имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 - как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером.
ATmega32u4 имеет 32 КБ флеш-памяти (вместе с 4 КБ, которые используются загрузчиком (бутлодером)). Также контроллер имеет 2,5 КБ ОЗУ и 1 КБ EEPROM (чтение и запись которой производится с помощью библиотеки EEPROM).
Рисунок 2.1 - Микроконтроллер ArduinoLeonardo
Назначение выводов микроконтроллера Arduino Leonardo представлено в таблице 1, на рисунке 2.2.
Рисунок 2.2 - Назначение выводов микроконтроллераArduinoLeonardo
Таблица 1 - Назначение выводов микроконтроллера ArduinoLeonardo
Вывод |
Назначение |
|
PD3 |
Цифровой вывод ШИМ |
|
PD5 |
Цифровойвывод ШИМ |
|
PD6 |
Цифровойвывод ШИМ |
|
PB5 |
Цифровойвывод ШИМ |
|
PB6 |
Цифровойвывод ШИМ |
|
PB7 |
Цифровойвывод ШИМ |
|
PC7 |
Цифровойвывод ШИМ |
|
5V |
Вывод для напряжение 5 В от стабилизатора платы |
|
3.3V |
Вывод для напряжения 3,3 В от стабилизатора напряжения платы |
|
GND |
Выводы земли |
|
VIN |
Напряжение от внешнего источника питания |
|
PF0 |
Аналоговый вход |
|
PF1 |
Аналоговый вход |
|
PF4 |
Аналоговый вход |
|
PF5 |
Аналоговый вход |
|
PF6 |
Аналоговый вход |
|
PF7 |
Аналоговый вход |
|
PD2 |
Используется для передачи данных по последовательному интерфейсу RX0 |
|
PD3 |
Используется для передачи данных по последовательному интерфейсу TX1 |
|
AREF |
Аналоговое опорное напряжение |
|
PD1 |
АЦП пины на цифровом пине |
|
PD4 |
АЦП пины на цифровом пине |
|
PE6 |
АЦП пины на цифровом пине |
|
IOREF |
Предоставляет платам расширения информацию о рабочем напряжении |
|
PD0 |
Используется для связи с другими устройствами по шине I2C |
|
PD1 |
Используется для связи с другими устройствами по шине I2C |
2.2 Пьезоизлучатель НРА17А
В курсовой работе используется пьезоизлучатель НРА17А (рисунок 4).Преобразуют электрический сигнал в звуковой. Излучатели со встроенной схемой вырабатывают звуковой сигнал при подачепостоянного напряжения. Область применения: компьютеры, оборудование средств связи, автомобильная электроника,кассовые аппараты, бытовая электроника. Рабочая температура: от -30°С до + 85°С,конструкция открытого типа, не водостойкая.Номинальное рабочее напряжение 5В, максимальный ток 1 мА,диаметр(ширина) корпуса d 16.5 мм.
Рисунок 2.3 - Пьезоизлучатель НРА17А
3. Разработка схемы подключения
Для разработки схемы подключения используется программа Fritzing.Программа создавалась для Arduino, аппаратно-программной платформы, состоящей из обычной платы с микроконтроллером Atmel AVR, радиодеталей для программирования, интерфейсов связи, среды разработки Processing/Wiring. Arduino применяется в создании автономных интерактивных аппаратов. Рисунок печатной платы открыт для всех, и поэтому платформа распространена среди самостоятельных разработчиков.
Основным достоинством Fritzing является интуитивно понятный интерфейс, включающий в себя лишь самые необходимые инструменты для схемы подключения, внешний вид программы представлен на рисунке 3.1.
Рисунок 3.1 - Программа Fritzing
Программный пакет Fritzing был разработан в 2009 году в Потсдамском университете прикладных наук за счет субсидий, выделяемых государством на исследования научнойпрограммы. В настоящее время создатели САПР предлагают талантливым программистам сотрудничать с ними по вопросам дальнейшего развития программы.
Среда разработки Fritzing переведена на английский, датский, испанский, французский, итальянский, португальский, японский, китайский, и русский языки.
Существуют версии программы для операционных систем: Windows, Mac OS (версия 10.4 и выше) и Linux (версия 2.6 и выше).
Схема подключения представлена в приложении А.
4.Разработка ГСА и управляющей программы МП системы
Прошивка для микроконтроллера будет разрабатываться в среде ArduinoIDE.
Arduino - это один из самых популярных конструкторов, с помощью которого можно создать любое электронное устройство будь то для рядовых пользователей или опытных профессионалов. В Arduino в основном разработки проводятся на достаточно простом языке С/С++, который довольно легкий в изучении. Данная кроссплатформенная среда разработки состоит из:
- компилятора;
- редактора кода;
-программного клиента;
-специальной платы (ввода и вывода).
Обходя программаторы, можно с легкостью программировать само устройство через порт USB. Данный конструктор стабильно обеспечивает создание разного рода интерактивных объектов. Полностью совместим с ОС Windows, и при установки занимает до 80 Мб пространства на жестком диске ПК. Это программное обеспечение без конфликтов отлично работает и с другими приложениями, которые установленные на операционной системе (Max/MSP, Macromedia Flash и другие подобные утилиты). Все созданные программы проходят отдельную обработку процессором, а после чего компилируются в AVR-GCC. ГСА представлено на рисунке 4.1.
Код программы в приложении Б.
Рисунок 4.1 - ГСА программы
В программе должны быть две обязательные функции: setup() и loop(). После названия функции и круглых скобок идут фигурные скобки, внутри которых будет располагаться ваш код.
Функция setup() запускается один раз, после каждого включения питания или сброса платы Arduino. В теле данной функции пишется код для инициализации переменных, установки режима работы цифровых портов, и т.д.
Функция loop() в бесконечном цикле последовательно раз за разом исполняет команды, которые описаны в её теле. Т.е. после завершения функции снова произойдет её вызов.
5.Загрузка программы в микроконтроллер
Загрузка программы в микроконтроллер осуществляется с помощью ArduinoIDE (рисунок 5.1).
Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (bootloader). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов. Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один щелчок мыши.
На случай затирания загрузчика или покупки микроконтроллера без загрузчика разработчики предоставляют возможность прошить загрузчик в микроконтроллер самостоятельно. Для этого в Arduino IDE встроена поддержка нескольких популярных дешевых программаторов, а большинство плат Arduino имеет штыревой разъем для внутрисхемного программирования (ICSP для AVR, JTAG для ARM).
В Arduino IDE встроена возможность создания своих программно-аппаратных платформ. Этой возможностью пользуются сторонние компании, добавляющие в Arduino IDE свои наборы плат и компиляторов-загрузчиков к ним.
Закачка программы в микроконтроллер Arduino происходит через предварительно запрограммированный специальный загрузчик (все микроконтроллеры от Ардуино продаются с этим загрузчиком). Загрузчик создан на основе Atmel AVR Application Note AN109. Загрузчик может работать через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии конкретной процессорной платы.Интерфейс ArduinoIDEпоказан на рисунке 6.
Рисунок 5.1 - Интерфейс ArduinoIDE
Заключение
В ходе выполнения курсовой работы была изучена документация микроконтроллера Arduino Leonardo, а также подключаемого модуля пьезоизлучателя НРА17А, собрана схема в специальном программном пакете Fritzing, после разработан программный блок и загружен в микроконтроллер. Произведено описание структурной схемы.
Приложение А
(Обязательное)
Схема подключения
Рисунок А.1 - Схема подключения
Приложение Б
(Обязательное)
Листинг программы
constintbuttonPin = 2; // номервходакнопки
constintsoundPin = 12; // номервходапьезоизлучателя
intnotes[10]={261, 277, 294, 311, 330, 349, 370, 392, 415, 440}; // ноты
int buttonState = 0; // переменная состояния кнопки
voidsetup() {
pinMode(soundPin, OUTPUT);// инициализируем пин, подключенный к пьезоэлеенту
pinMode(buttonPin, INPUT); // инициализируем пин, подключенный к кнопке
}
voidloop(){
// считываем значения с входа кнопки
buttonState = digitalRead(buttonPin);
// проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:
if (buttonState == HIGH) {
// включаемсветодиод
int time = 2000;
for(int i = 0; i < 10; i++){
tone(soundPin, notes[i]); //пьезоилучателюзадается нота из массива
delay(time);// задержка
time-=200;
}
}
else {
// выключаем
noTone(soundPin);
}
}
Листинг В, лист 1
Приложение В
(Обязательное)
Вид платы и микроконтроллера
Рисунок В.1 - Вид платы и микроконтроллера
Размещено на Allbest.ru
...Подобные документы
Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.
дипломная работа [4,0 M], добавлен 19.01.2017Анализ GPS-навигаторов для животных. Использование плат и среды программирования Arduino для разработки ошейника с GPS-навигатором для отслеживания маршрута, проделанного животным, и уведомления об этом пользователя. Выбор модели микроконтроллера.
курсовая работа [2,4 M], добавлен 18.10.2015Возможности платформы Arduino. Загрузка микроконтроллера прерываниями. Подтягивающие (нагрузочные) резисторы. Аналого-цифровой преобразователь, цоколевка. Прерывание по таймеру, память. Библиотеки Servo, SPI, Stepper. Комбинация фазы синхронизации.
курсовая работа [53,4 K], добавлен 23.12.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Проектирование программного модуля. Описание схемы программы и структуры разрабатываемого пакета. Написание кода ввода исходных данных и основных расчетов. Тестирование программного модуля. Тестирование решения задачи. Методы численного интегрирования.
курсовая работа [549,9 K], добавлен 20.03.2014Разработка проекта аппаратной реализации сетевой игры "Пинг Понг", рассчитанной на двух игроков на базе микроконтроллеров AVR АТMEGA 128. Выполнение прошивки микроконтроллера с помощью пользовательского интерфейса среды программирования CodeVisionAVR.
курсовая работа [1,2 M], добавлен 25.04.2012Назначение и область применения набора MicroCamp, расположение элементов на его плате. Обобщенная структурная схема и технические характеристики мобильного робота. Обзор микроконтроллера Atmega 8. Разработка программного обеспечения для набора MicrоCamp.
курсовая работа [7,1 M], добавлен 15.07.2012Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.
курсовая работа [96,1 K], добавлен 25.06.2013Создание программы для хранения и обработки данных о съеме/сдаче жилья. Написание программы на языке C++ с использованием библиотеки Qt; использование исходного кода для создания приложения под Windows, Linux, Mac OS X без дополнительных изменений кода.
курсовая работа [60,4 K], добавлен 07.03.2013Автоматизация хранения и обработки информации о спортсменах и их достижениях. Концептуальное, физическое и логическое проектирование БД. Разработка пользовательского интерфейса и написание кода. Тестирование работоспособности программного продукта.
курсовая работа [1,6 M], добавлен 07.02.2016Описание входной и выходной информации. Программно-технические средства, необходимые для разработки программы "Автоматизированная информационная справочная система аптеки". Возможность формирования и корректировки файлов, тестирование программы.
курсовая работа [761,7 K], добавлен 18.12.2013Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.
дипломная работа [5,8 M], добавлен 28.09.2015Описание синус-косинусных вращающихся трансформаторов. Устройство микроконтроллера. Создание программного обеспечения для контроля углового смещения вала электродвигателя при помощи семисегментных индикаторов. Тестирование программы на ассемблере.
курсовая работа [1,6 M], добавлен 26.11.2012Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Классификация колесных наземных мобильных роботов. Обзор приводов мобильных платформ. Особенности стабилизации скорости мобильной платформы Rover 5 с дифференциальным приводом. Разработка алгоритмов управления на основе микроконтроллера Arduino.
курсовая работа [1,3 M], добавлен 04.05.2017Разработка комплекса алгоритмов. Кодирование и компиляция. Тестирование, отладка, испытание и сдача программы. Минимальные системные требования для использования Delphi 7. Написание программы с использованием инструментального языка высокого уровня.
курсовая работа [2,7 M], добавлен 21.02.2011Выполнение отладки программных модулей с использованием специализированных программных средств. Тестирование, оптимизация кода модуля. Реализация базы данных в конкретной системе управления. Анализ проектной и технической документации на уровне компонент.
дипломная работа [5,0 M], добавлен 08.06.2017Описание существующих информационных систем в данной сфере. Система управления "Fidelio". Выбор средства для разработки. Тестирование программного средства, оценка его функционального качества. Описание выявленных недостатков разработанной программы.
курсовая работа [856,6 K], добавлен 24.09.2014Разработка микропроцессорной системы на базе однокристальной микроЭВМ, также программного обеспечения, реализующего заданный набор функций. Структура и схема микроконтроллера PIC16. Разработка программы на языке ассемблер в среде MPLAB IDE v8.84.
курсовая работа [515,3 K], добавлен 11.07.2012Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.
курсовая работа [76,1 K], добавлен 23.12.2012