Микропроцессорная информационная система

Назначение выводов микроконтроллера 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.