Беспроводная система передачи

Сущность, понятие и применение микроконтроллера. Назначение выводов микроконтроллера Arduino Leonardo. Характеристика Bluetooth модуля, использование стабилизатора напряжения для передачи температурных показаний. Загрузка программы в микроконтроллер.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.02.2019
Размер файла 6,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство железнодорожного транспорта

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

Кафедра «Автоматика и системы управления»

Пояснительная записка к курсовой работе

по дисциплине «Программирование аппаратных средств»

Разработка цифрового устройства на базе микроконтроллера Atmel

Н.С. Максименко

Омск 2017

Задание

Тема данной курсовой работы - «Беспроводная система передачи температурных показаний».

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

Реферат

Пояснительная записка содержит 21 страницу, 8 рисунков, 3 таблицы, 5 источников, 4 приложения.

Arduino Leonardo, резистор номиналом 4.7 кОм, герметичный датчик температуры DS18B20, Bluetooth модуль HC-05, макетная плата, соединительные провода.

Цель работы - разработать устройство беспроводной системы передачи температурных показаний.

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

Курсовая работа выполнена в текстовом редакторе Microsoft Word 2010, прошивка написана в Arduino IDE, разработка топологии макетной платы выполнена в Fritzing.

Содержание

  • 1. Описание структурной схемы
  • 1.1 Микроконтроллер
  • 1.2 Bluetooth модуль
  • 1.3 Стабилизатор напряжения
  • 2. Разработка схемы соединения
  • 3. Разработка программного блока
  • 4. Загрузка программы в микроконтроллер
  • 5. Инструкция пользователя
  • Заключение
  • Библиографический список
  • Приложение А
  • Приложение Б
  • Приложение В
  • Приложение Г
  • Введение
  • Микроконтроллер - это программируемая микросхема, состоящая из процессора (ядра) и периферии (АЦП, ЦАП, входа/выхода), обладающая оперативной и (или) постоянной памятью, выполняющая последовательность операций в соответствии с программой.
  • В современной жизни микроконтроллеры применяются во всех сферах жизни, начиная от микроволновки и заканчивая сложными системами управления. По сравнению с первыми моделями, во много раз увеличилась производительность, появились дополнительные возможности (например, подключение внешней памяти), количество размещаемой на кристалле периферии стало столько, что при разработке несложных проектов, достаточно иметь сам микроконтроллер, сделать «обвязку», подключить источник питания и устройство готово.
  • В данной курсовой работе будет разработано устройство беспроводной системы передачи температурных показаний.
  • Разрабатываемое устройство предназначено для передачи сообщения на экран с помощью Bluetooth модуля и приложения на смартфоне.

1. Описание структурной схемы

Схема соединения - графическое изображение (модель), служащее для передачи с помощью условных графических и буквенно-цифровых обозначений связей между элементами электрического устройства.

Схема соединения представлена в приложении А, а перечень элементов - в приложении Б.

1.1 Микроконтроллер

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги).

Микроконтроллеры Atmel объединяют в себе эффективные встроенные решения, проверенные технологии и революционные идеи, являясь идеальным выбором для современных интеллектуальных сетевых продуктов.

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

В качестве микроконтроллера выбран Arduino Leonardo на базе ATmega32u4 (рисунок 1).

Arduino Leonardo имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 - как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером.

ATmega32u4 имеет 32 КБ флеш-памяти (вместе с 4 КБ, которые используются загрузчиком (бутлодером)). Также контроллер имеет 2,5 КБ ОЗУ и 1 КБ EEPROM (чтение и запись которой производится с помощью библиотеки EEPROM).

Рисунок 1 - Микроконтроллер Arduino Leonardo

Назначение выводов микроконтроллера Arduino Leonardo представлено в таблице 1, на рисунке 2.

Рисунок 2 - Назначение выводов микроконтроллера Arduino Leonardo

Таблица 1 - Назначение выводов микроконтроллера Arduino Leonardo

Вывод

Назначение

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

1.2 Bluetooth модуль

В курсовой работе используется Bluetooth модуль HC-06 (рисунок 4).

Bluetooth HC-05 построен на чипе BC417, имеет Flash-память. Последовательный порт модуля полностью поддерживает спецификацию Bluetooth v2.0 + EDR (Enhanced Data Rate), скорость передачи до 1.3 Мбит/с, работает в нелицензируемом радио-частотном диапазоне 2.4 Ггц. Радиус действия около 10 метров. Модуль HC-05 запитывается от 3.3 В или 5 В, потребляет ток примерно 50 мА. Подерживает AT-команды, может работать в режиме Master или Slave.

В режиме Slave скорость по умолчанию 9600, битов данных 8, стоп бит 1, без контроля четности. Когда соединение в режимах master или slave установлено, светодиод моргает с частотой 1 раз в 2 секунды, если коннекта нет, то -- 2 раза в секунду.

Рисунок 3 - Bluetooth модуль HC-05

Назначение выводов bluetooth-модуля представлено в таблице 2.

Таблица 2 - Назначение выводов bluetooth-модуля

Вывод

Назначение

VCC

Питание

GND

Земля

Вывод

Назначение

TX и RX

Передатчик и приёмник модуля

STATE

Индикатор состояния

EN

Включение/выключение модуля

1.3 Стабилизатор напряжения

Для того чтобы снимать показания температуры с внешней среды необходимо подключить модуль DS18B20 - герметичный датчик температуры. В настоящий момент DS18B20 фирмы Dallas является наиболее распространенным и доступным цифровым датчиком температуры (рисунок 3). микроконтроллер bluetooth температурный стабилизатор

Рисунок 4 - Датчик температуры DS18B20

2. Разработка схемы соединения

Для разработки схемы соединения используется программа Fritzing. Программа создавалась для Arduino, аппаратно-программной платформы, состоящей из обычной платы с микроконтроллером Atmel AVR, радиодеталей для программирования, интерфейсов связи, среды разработки Processing/Wiring. Arduino применяется в создании автономных интерактивных аппаратов. Рисунок печатной платы открыт для всех, и поэтому платформа распространена среди самостоятельных разработчиков.

Основным достоинством Fritzing является интуитивно понятный интерфейс, включающий в себя лишь самые необходимые инструменты для схемы соединения.

Программный пакет Fritzing был разработан в 2009 году в Потсдамском университете прикладных наук за счет субсидий, выделяемых государством на исследования научной программы. В настоящее время создатели САПР предлагают талантливым программистам сотрудничать с ними по вопросам дальнейшего развития программы.

Среда разработки Fritzing переведена на английский, датский, испанский, французский, итальянский, португальский, японский, китайский, и русский языки.

Существуют версии программы для операционных систем: Windows, Mac OS (версия 10.4 и выше) и Linux (версия 2.6 и выше).

Схема соединения представлена в приложении В.

3. Разработка программного блока

Прошивка для микроконтроллера будет разрабатываться в среде Arduino IDE.

Arduino - это один из самых популярных конструкторов, с помощью которого можно создать любое электронное устройство будь то для рядовых пользователей или опытных профессионалов. В Arduino в основном разработки проводятся на достаточно простом языке С/С++, который довольно легкий в изучении. Данная кроссплатформенная среда разработки состоит из:

- компилятора;

- редактора кода;

- программного клиента;

- специальной платы (ввода и вывода).

Обходя программаторы, можно с легкостью программировать само устройство через порт USB. Данный конструктор стабильно обеспечивает создание разного рода интерактивных объектов. Полностью совместим с ОС Windows, и при установки занимает до 80 Мб пространства на жестком диске ПК. Это программное обеспечение без конфликтов отлично работает и с другими приложениями, которые установленные на операционной системе (Max/MSP, Macromedia Flash и другие подобные утилиты). Все созданные программы проходят отдельную обработку процессором, а после чего компилируются в AVR-GCC.

Для обеспечения полноценной работы программы, необходимо подключить библиотеку OneWire.h, так как наш датчик работает по протоколу 1-Wire, используемый для управления устройствами, которые производятся компанией Dallas Semiconductor. После вызова функции setup(), в которой Serial.begin() инициирует последовательное соединение и задает скорость передачи данных, в функции loop() идет проверка, в случае прихода данных происходит проверка на содержимое, если пришло число ноль, то происходят проверки идентификации датчика, для того чтобы после произвести вычислительную логику показаний датчика. Результат печатается на экран как в монитор последовательного порта, так и в приложении по Bluetooth соединению.

Код программы в приложении Г.

4. Загрузка программы в микроконтроллер

Запись программы в микроконтроллер осуществляется с помощью Arduino IDE (рисунок 9).

Микроконтроллеры для 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 в зависимости от состава периферии конкретной процессорной платы. Интерфейс Arduino IDE показан на рисунке 5.

Рисунок 5 - Интерфейс Arduino IDE

5. Инструкция пользователя

Для использования устройства требуется:

- подать напряжение на устройство;

- установить на смартфоне приложение Bluetooth Terminal, с помощью которого можно отправлять сообщения на дисплей;

- включить Bluetooth на смартфон;

- выбрать устройство сопряжения HC-05;

- отправить 0, нажав кнопку SEND, в результате будет выведено сообщение о текущей температуре;

Результат отправки сообщения представлен на рисунке 6.

Рисунок 6 - Результат работы Bluetooth Terminal

При вводе 0 в монитор последовательного порта в Arduino IDE будет выведена также информация о температурном датчике и показатели температуры окружающей среды в месте установки модуля. Результат представлен на рисунке 7.

Рисунок 7 - Результат работы Arduino IDE

Демонстрация собранной схемы с подключенными модулями и с мигающими световыми индикаторами представлена на рисунке 8.

s

Рисунок 8 - Демонстрация собранной схемы

Заключение

В ходе выполнения курсовой работы была изучена документация микроконтроллера Arduino Leonardo, а также подключаемых модулей Bluetooth HC-05, температурного датчика DS18B20, собрана схема в специальном программном пакете Fritzing, после разработан алгоритм на основе функционала библиотеки OneWire. Произведено описание структурной схемы.

Библиографический список

1 Arduino IDE [Электронный ресурс] - Режим доступа: http://www.arduino.cc

2 Микроконтроллер Arduino Leonardo [Электронный ресурс] - Режим доступа:https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf

3 Bluetooth модуль HC-05 [Электронный ресурс] - Режим доступа: https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC-05/resources/hc05.pdf

4 Температурный датчик DS18B20 [Электронный ресурс] - Режим доступа: https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

5 Fritzing [Электронный ресурс] - Режим доступа: https://fritzing.org/ /download/

Приложение А

Рисунок А.1 - Схема соединения

Приложение Б

Таблица Б.1 - Перечень элементов

Обозначение

Назначение

Количество

Резисторы

R1

Model 305.0011 4.7 кОм

1

Микросхемы

DD1

DS18B20

1

Модули

BL

Bluetooth-модуль HC-05

1

Приложение В

Рисунок В.1 - Вид платы

Приложение Г

(Обязательное)

Листинг программы

#include <OneWire.h>

OneWire ds(10); // on pin 10 (a 4.7K resistor is necessary)

void setup(void) {

Serial.begin(9600);

Serial1.begin(9600);

}

void loop(void) {

char incomingByte; // входящие данные

byte i;

byte present = 0;

byte type_s;

byte data[12];

byte addr[8];

float celsius, fahrenheit;

if (Serial1.available() > 0 || Serial.available() > 0) { //если пришли данные

incomingByte = Serial.read(); // считываем байт

// Serial.write(incomingByte);

if(incomingByte == '0') {

if ( !ds.search(addr)) {

// Serial.println("No more addresses.");

Serial.println();

ds.reset_search();

delay(250);

return;

}

Serial.print("ROM =");

for( i = 0; i < 8; i++) {

Serial.write(' ');

Serial.print(addr[i], HEX);

}

if (OneWire::crc8(addr, 7) != addr[7]) {

Serial.println("CRC is not valid!");

return;

}

Serial.println();

// the first ROM byte indicates which chip

switch (addr[0]) {

case 0x10:

Serial.println(" Chip = DS18S20"); // or old DS1820

Листинг Г, лист 1

type_s = 1;

break;

case 0x28:

Serial.println(" Chip = DS18B20");

type_s = 0;

break;

case 0x22:

Serial.println(" Chip = DS1822");

type_s = 0;

break;

default:

Serial.println("Device is not a DS18x20 family device.");

return;

}

ds.reset();

ds.select(addr);

ds.write(0x44, 1); // start conversion, with parasite power on at the end

delay(1000); // maybe 750ms is enough, maybe not

// we might do a ds.depower() here, but the reset will take care of it.

present = ds.reset();

ds.select(addr);

ds.write(0xBE); // Read Scratchpad

Serial.print(" Data = ");

Serial.print(present, HEX);

Serial.print(" ");

for ( i = 0; i < 9; i++) { // we need 9 bytes

data[i] = ds.read();

Serial.print(data[i], HEX);

Serial.print(" ");

}

Serial.print(" CRC=");

Serial.print(OneWire::crc8(data, 8), HEX);

Serial.println();

int16_t raw = (data[1] << 8) | data[0];

if (type_s) {

raw = raw << 3; // 9 bit resolution default

if (data[7] == 0x10) {

// "count remain" gives full 12 bit resolution

raw = (raw & 0xFFF0) + 12 - data[6];

}

} else {

byte cfg = (data[4] & 0x60);

// at lower res, the low bits are undefined, so let's zero them

if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms

else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms

else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms

Листинг Г, лист 2

//// default is 12 bit resolution, 750 ms conversion time

}

celsius = (float)raw / 16.0;

fahrenheit = celsius * 1.8 + 32.0;

Serial.print(" Temperature = ");

Serial.print(celsius);

Serial1.print(" Temperature = ");

Serial1.print(celsius);

Serial.print(" Celsius, ");

Serial1.print(" Celsius, ");

Serial.print(fahrenheit);

Serial.println(" Fahrenheit");

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Формирование тактовых импульсов микроконтроллера. Схемы входных и выходных устройств, источника напряжения питания. Проектирование модуля инициализации микроконтроллера, процедур обработки прерываний, процедур вывода информации и процедуры Main.

    курсовая работа [273,1 K], добавлен 19.12.2010

  • Особенности разработки устройства управления системой измерения веса, построенного на микроконтроллере ATmega16 фирмы Atmel. Схема включения микроконтроллера, сброса, стабилизатора напряжения. Проектирование функций микроконтроллера. Листинг программы.

    курсовая работа [153,6 K], добавлен 19.12.2010

  • Беспроводные технологии и классификация беспроводных сетей, принципы их построения. Концепция и основные положения Bluetooth - первой технологии, позволяющей организовать беспроводную персональную сеть передачи данных, принцип его работы и использование.

    курсовая работа [1011,7 K], добавлен 11.12.2014

  • Анализ GPS-навигаторов для животных. Использование плат и среды программирования Arduino для разработки ошейника с GPS-навигатором для отслеживания маршрута, проделанного животным, и уведомления об этом пользователя. Выбор модели микроконтроллера.

    курсовая работа [2,4 M], добавлен 18.10.2015

  • Описание и принцип действия программы-отладчика микроконтроллера I8051 (К1816ВЕ51), предназначенной для программирования микроконтроллера на уровне языка ассемблера. Компиляция программы в объектный код и специфика тестирования разработанной программы.

    реферат [21,1 K], добавлен 04.12.2010

  • Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.

    дипломная работа [4,0 M], добавлен 19.01.2017

  • Функциональная схема микроконтроллера. Схема подключения ADS7841. Блок-схема и интерфейс программы АЦП. Реализация Hart-протокола, пример транзакции. Результат моделирования передачи по Uart. Индикация, текст программы. Сторожевой таймер, печатная плата.

    курсовая работа [2,3 M], добавлен 17.02.2013

  • Назначение и применение микроконтроллеров - интегральных микросхем, предназначенных для управления электронными схемами. Описание способа адресации. Разработка программы, описание электрической и структурной схемы разрабатываемого микроконтроллера.

    курсовая работа [177,6 K], добавлен 30.06.2014

  • Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.

    курсовая работа [2,0 M], добавлен 24.11.2013

  • Возможности платформы Arduino. Загрузка микроконтроллера прерываниями. Подтягивающие (нагрузочные) резисторы. Аналого-цифровой преобразователь, цоколевка. Прерывание по таймеру, память. Библиотеки Servo, SPI, Stepper. Комбинация фазы синхронизации.

    курсовая работа [53,4 K], добавлен 23.12.2014

  • Создание рабочего модуля аналого-цифрового преобразователя с минимальным количеством микросхем на основе микроконтроллера ATmega8L. Описание блок-схемы АЦП. Схема запуска преобразования. Программа микроконтроллера в среде программирования CodeVision.

    курсовая работа [1,2 M], добавлен 04.10.2013

  • Беспроводный метод передачи данных bluetooth, выделение его основных свойств, преимуществ и принципов работы. Технические аспекты и набор базовых протоколов технологии bluetooth, основные направления применения технологии и характеристика конкурентов.

    реферат [1,3 M], добавлен 19.11.2014

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

    курсовая работа [621,5 K], добавлен 24.09.2010

  • Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.

    курсовая работа [76,1 K], добавлен 23.12.2012

  • Разработка встраиваемого в электронную аппаратуру микроконтроллера с целью обеспечения ввода данных с клавиатуры и отображения результатов обработки на индикации. Описание активного элемента (системная шина ISA). Программное обеспечение микроконтроллера.

    курсовая работа [848,9 K], добавлен 05.02.2016

  • Описание микроконтроллера и периферийных устройств. Распределение битов регистра. Выбор элементной базы. Основные части и алгоритм работы основной программы. Архитектура микроконтроллера AduC812 и построение на его основе бортового компьютера автомобиля.

    курсовая работа [210,2 K], добавлен 23.12.2012

  • Общие сведения о микроконтроллерах AVR, их основные параметры. Функции термометра, реализованного на микроконтроллере AVR. Порядок программирования микроконтроллера с использованием программы на языке С. Передача данных сом-порт, вывод значений на ЖКИ.

    курсовая работа [35,8 K], добавлен 08.04.2010

  • Структура и основные элементы микроконтроллера. Разрядность и система команд процессора. Методы представления информации. Память и её типы. Режимы работы портов электронного устройства. Многофункциональность выводов микро-ЭВМ. Семейства микроконтроллеров.

    презентация [1,2 M], добавлен 16.12.2011

  • Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.

    контрольная работа [18,4 K], добавлен 24.12.2010

  • Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.

    дипломная работа [5,8 M], добавлен 28.09.2015

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