Глава 2. Разработка программ для микропроцессорных систем
Анализ технического задания
По заданию требуется спроектировать электронный блок для считывания положения потенциометра и вывода на ЖК-дисплей. Для этого необходимо выбрать элементную базу и реализовать программную часть.
Принцип работы устройства: при повороте потенциометра, его положение считывается и выводится на ЖК-дисплей.
Для первого задания необходимо: вывод значения потенциометра на последовательный порт ПК. Результатом работы является, каждую секунду появляется число, зависящее от положения потенциометра. В крайнем левом положении число равно 0,а в крайнем правом – 1023.
Для второго задания необходимо: вывод значения потенцеометра на ЖК-дисплей. Результатом работы является: на ЖК дисплее отображается число, зависящее от положения потенциометра. В крайнем левом положении число равно 0, а в крайнем правом – 1023.
Для третьего задания необходимо: показать числа от 0 до 9 на сегментном индикаторе. Результатом работы является, отображения положения потенциометра на семи сегментном индикаторе в виде числа.
Описание микропроцессорной системы
Микроконтроллер должен удовлетворять ряду требований. Микроконтроллер должен быть легко доступным для приобретения, иметь не высокую цену, быть легок в освоение, иметь встроенный датчик температуры, иметь встроенный АЦП, для преобразования аналогового сигнала снимаемого с датчика температуры в цифровой, иметь низкое энергопотребление, для повышения автономности устройства. А так же для него должна быть легко доступна среда разработки.
|
|
Таким требованиям удовлетворяет микроконтроллер со сверхнизким потреблением семейства ARDUINO.
Это последняя модель Arduino Rev3, оригинальная, произведённая в Италии. Она выполнена на базе процессора ATmega328p с тактовой частотой 16 МГц, обладает памятью 32 кб и имеет 20 контролируемых контактов ввода и вывода для взаимодействия с внешним миром.
Arduino — это открытая платформа, которая позволяет собирать всевозможные электронные устройства. Arduino будет интересен креативщикам, дизайнерам, программистам и всем пытливым умам, желающим собрать собственный гаджет. Устройства могут работать как автономно, так и в связке с компьютером. Всё зависит от идеи.
Платформа состоит из аппаратной и программной частей; обе чрезвычайно гибки и просты в использовании. Для программирования используется упрощённая версия C++, известная так же как Wiring. Разработку можно вести как с использованием бесплатной среды Arduino IDE, так и с помощью произвольного C/C++ инструментария. Поддерживаются операционные системы Windows, MacOS X и Linux.
Для программирования и общения с компьютером вам понадобится USB-кабель. Для автономной работы потребуется блок питания на 7,5—12 В. Если вы новичок в конструировании электроники, рекомендуем обратить внимание на готовые наборы: «Матрёшка X», «Матрёшка Y» или «Матрёшка Z».
|
|
Питание
ArduinoUno может питаться как от USB подключения, так и от внешнего источника: батарейки или обычной электрической сети. Источник определяется автоматически.
Платформа может работать при наличии напряжения от 6 до 20 В. Однако при напряжении менее 7 В работа может быть неустойчивой, а напряжение более 12 В может привести к перегреву и повреждению. Поэтому рекомендуемый диапазон: 7−12 В.
На Arduino доступны следующие контакты для доступа к питанию:
o Vin предоставляет тот же вольтаж, что используется для питания платформы. При подключении через USB будет равен 5 В.
o 5V предоставляет 5 В вне зависимости от входного напряжения. На этом напряжении работает процессор. Максимальный допустимый ток, получаемый с этого контакта — 800 мА.
o 3.3V предоставляет 3,3 В. Максимальный допустимый ток, получаемый с этого контакта — 50 мА.
o GND — земля.
Память
Платформа оснащена 32 кб flash-памяти, 2 кб из которых отведено под так называемый bootloader. Он позволяет прошивать Arduino с обычного компьютера через USB. Эта память постоянна и не предназначена для изменения по ходу работы устройства. Её предназначение — хранение программы и сопутствующих статичных ресурсов.
|
|
Также имеется 2 кб SRAM-памяти, которые используются для хранения временных данных вроде переменных программы. По сути, это оперативная память платформы. SRAM-память очищается при обесточивании.
Ещё имеется 1 кб EEPROM-памяти для долговременного хранения данных. По своему назначению это аналог жёсткого диска для Arduino.
Ввод / вывод
На платформе расположены 14 контактов (pins), которые могут быть использованы для цифрового ввода и вывода. Какую роль исполняет каждый контакт, зависит от вашей программы. Все они работают с напряжением 5 В, и рассчитаны на ток до 40 мА. Также каждый контакт имеет встроенный, но отключённый по умолчанию резистор на 20 - 50 кОм. Некоторые контакты обладают дополнительными ролями:
o Serial: 0-й и 1-й. Используются для приёма и передачи данных по USB.
o Внешнее прерывание: 2-й и 3-й. Эти контакты могут быть настроены так, что они будут провоцировать вызов заданной функции при изменении входного сигнала.
o PWM: 3-й, 5-й, 6-й, 9-й, 10-й и 11-й. Могут являться выходами сширотно-импульсной модуляцией (pulse-widthmodulation) с 256 градациями.
|
|
o LED: 13-й. К этому контакту подключен встроенный в плату светодиод. Если на контакт выводится 5 В, светодиод зажигается; при нуле — светодиод гаснет.
Помимо контактов цифрового ввода/вывода на Arduino имеется 6 контактов аналогового ввода, каждый из которых предоставляет разрешение в 1024 градации. По умолчанию значение меряется между землёй и 5 В, однако возможно изменить верхнюю границу, подав напряжение требуемой величины на специальный контактAREF.
Кроме этого на плате имеется входной контакт Reset. Его установка в логический ноль приводит к сбросу процессора. Это аналог кнопки Reset обычного компьютера.
Взаимодействие
ArduinoUno обладает несколькими способами общения с другими Arduino, микроконтроллерами и обычными компьютерами. Платформа позволяет установить последовательное (Serial UART TTL) соединение через контакты 0 (RX) и 1 (TX). Установленный на платформе чип ATmega16U2 транслирует это соединение через USB: на компьютере становится доступен виртуальный COM-порт. Программная часть Arduino включает утилиту, которая позволяет обмениваться текстовыми сообщениями по этому каналу.
Встроенные в плату светодиоды RX и TX светятся, когда идёт передача данных между чипом ATmega162U и USB компьютера.
Отдельная библиотека позволяет организовать последовательное соединение с использованием любых других контактов, не ограничиваясь штатными 0-м и 1-м.
С помощью отдельных плат расширения становится возможной организация других способов взаимодействия, таких как ethernet-сеть, радиоканал, Wi-Fi.
Защита USB
ArduinoUno обладает предохранителем, защищающим USB-порты вашего компьютера от перенапряжения и коротких замыканий. Хотя большинство компьютеров обладают собственными средствами защиты, предохранитель даёт дополнительную уверенность. Он разрывает соединение, если на USB-порт подаётся более 500 мА, и восстанавливает его после нормализации ситуации.
Габариты
Размер платы составляет 6,9 × 5,3 см. Гнёзда для внешнего питания и USB выступают на пару миллиметров за обозначенные границы. На плате предусмотрены места для крепления на шурупы или винты. Расстояние между контактами составляет 0,1″ (2,54 мм), но в случае 7-го и 8-го контакта — расстояние: 0,16″.
Рисунок 2 – Электрическая схема микроконтроллера ArduinoUNO
Дата добавления: 2018-02-28; просмотров: 626; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!