Плата Auduino
Last updated
Last updated
Рассмотрим для примера плату Arduino Micro
Микроконтроллер Arduino Micro – плата микроконтроллера на базе ATmega32u4. Плата имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 - как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером. Чтобы запустить Arduino Micro, просто подключите его к компьютеру с помощью кабеля микро-USB. Форм-фактор контроллера позволяет легко разместить его на макетной плате.
Micro схож с Arduino Leonardo тем, что ATmega32u4 имеет встроенную поддержку USB-соединения, благодаря чему не требуется вспомогательный процессор. Это позволяет Micro появляться на подключенном компьютере в качестве мыши или клавиатуры в дополнение к виртуальному (CDC) последовательному порту (COM). Это влечет и другие изменения в работе платы, которые детально обсуждаются на странице начало работы.
Параметр
Значение
Микроконтроллер
ATmega32u4
Рабочее напряжение
5 В
Входное напряжение (рекомендуемое)
7-12 В
Входное напряжение (предельное)
6-20 В
Цифровые Входы/Выходы
20
Каналы ШИМ
7
Аналоговые входные каналы
12
Постоянный ток через вход/выход
40 мА
Постоянный ток для вывода 3.3 В
50 мА
Флеш-память
32 Кб (ATmega32u4) из которых 4 Кб используются для загрузчика
ОЗУ
2,5 Кб (ATmega32u4)
EEPROM
1 Кб (ATmega32u4)
Тактовая частота
16 МГц
Схема вводов и выводом платы Arduino Micro
Arduino Micro может питаться через USB подключение или от внешнего источника питания. Источник питания выбирается автоматически.
Внешнее питание (не USB) может поступать либо от источника питания постоянного тока, либо с батареи. Выводы батареи или источника питания должны подключаться к выводам Gnd и Vin. Плата Arduino Micro может работать при подаче внешнего питания от 6 до 20 В. Однако при подаче напряжения ниже 7 В, на вывод 5 В может поступать менее пяти вольт, что приведет к нестабильной работе платы. При использовании более 12 В, стабилизатор напряжения может перегреться и вызвать повреждение платы.
VIN. Входное напряжение Arduino при использовании внешнего источника питания (в отличие от 5 В с USB соединения или другого регулируемого источника питания). Вы можете подавать напряжение на этот вывод.
5V Регулируемое напряжение питания для питания микроконтроллера и других компонентов на плате. Может поступать либо с VIN через встроенный стабилизатор, либо через USB или другой источник стабилизированный источник питания 5 В.
3V. Питание 3,3 В генерируется встроенным стабилизатором. Максимальный ток 50 мА.
GND. Выводы земли.
ATmega32u4 имеет 32 КБ флеш-памяти (вместе с 4 КБ, которые используются загрузчиком (бутлодером)). Также контроллер имеет 2,5 КБ ОЗУ и 1 КБ EEPROM (чтение и запись которой производится с помощью библиотеки EEPROM).
Последовательная шина: (RX) и (TX). Используются для получения (RX) и передачи (TX) последовательных данных TTL уровней с использованием аппаратных возможностей последовательной шины ATmega32U4. Обратите внимание, что на Micro класс Serial относится к соединению по USB; для последовательного TTL соединения на выводах (RX1) и (TX1) используйте класс Serial1.
I2C: D2 (SDA) и D3 (SCL). Поддерживает I2C соединение с использованием библиотеки Wire.
SPI: на разъеме ICSP. Данные выводы поддерживают связь по SPI с использованием библиотеки SPI. Обратите внимание, что выводы SPI не подключены ни к каким цифровым вход/выходам, как на Arduino Uno, они доступны только на соединителе ICSP и ближайших выводах, маркированных MISO, MOSI и SCK.
RX_LED/SS. Это дополнительный вывод по сравнению с Leonardo. Он подключен к RX_LED, который показывает активность передачи по шине USB, но также может использоваться как вывод выбора подчиненного устройства (SS) для связи по SPI.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне на этом выводе светодиод включен, при низком уровне – выключен.
На плате имеются еще два вывода:
Reset. Для сброса микроконтроллера переведите эту линию в низкий уровень. Обычно используется, чтобы добавить кнопку Reset на плату расширения, если эта плата закрывает доступ к кнопке на самом контроллере.
Для включения парты Ardiono, достаточно подать на плату питание. Проще всего это сделать, подключив плату через microUSB кабель к компьютеру. При подключении платы к питанию, на плате загорится светодиод. Значит питание подано.
Обычно на новые Ardiono, производитель устанавливает программу Blink для проверки работоспособности. Если программа загружена, то на подключенной к питанию плате, начнет мигать светодиод "L" расположенный рядом с USB разьемом на платете.
Если у вас уже установленно Arduino IDE, рекомендуем проверить версии программы и установить самую свежую версию.
Для работы с платой Arduino Micro, с микропроцессором ATmega32u4 больше ничего устанавливать не нужно. Для других плат может потребоваться установка драйвера для работы с COM портом. Детальная инструкция для установки этого драйвера должны быть описана производителем платы.
Запустим установленную программу.
Стандартным примером, с которого стоит изучать любой микроконтроллер стала программа Blink, которая мигает свето-диодом на плате. Мы тоже начнем работу с микроконтроллером именно с этой программы.
Код данной программы доступен сразу в Arduino IDE, разедел примеры. Поэтому для запуска первой программы достаточно открыть пример и загрузить его в микроконтроллер.
Для этого в меню выберем Файл->Примеры->01.Basic->Blink
После этого мы увидим нашу первую программу
У нас есть готовая и зарание известное что рабочая программа, поэтому нам осталось только загруиить ее в микроконтроллер.
Для этого необходимо в ArduinoIDE выбрать тип платы и COM порт к которому подключилась плата.
Для выбора платы, необходимо в меню выбрать Инструменты->Плата->Arduino/Genuino Micro
Для выбора порта, необходимо выбрать в меню соответвующий COM порт Инструменты->Порт->COM1 (Arduino Leonardo). Если к COM порту подключена плата микроконтроллера, то рядом с название COM порта выводиться название платы.
Нам осталось только загрузить программу на наш микрокконтроллер. Для этого нажимам на кнопку "Загрузить" в меню.
После успешной заргрузки, в нижней части IDE вы увидите сообщение об успешной загрузке.
Посмотрите на ваш микроконтроллер, на нем должен мигать светодиод, который расположен рядом с USB разьемом.
Или в случае неудачной загрузки, вы в нижней части IDE, вы увидете сообщение об ошибке.
Проверьте настройки порта, и правильность выбора платы микроконтроллера.
Программа для Arduino, это простой текстовый файл. Мы открыли пример, поэтому если мы хотим сохранить нашу программу, ее необходимо сохранить под новым именем (сохранить отредактированный пример IDE не позволит, для того чтобы они всегда были в рабочем состоянии).
Выберем в IDE Файл->Сохранить как...->01.Basic и укажем новое имя, например MyBlink. Нажем Сохранить. После этого мы сможем открыть в IDE уже нашу программу и приступить к ее редактированию.
Давайте рассмотрим в подробностях, что происходит с нашей программой, когда мы нажимаем на "Загрузку".
Плата микроконтроллера, не может взять наш исходный файл программы и запустить его у себя. Микроконтроллер может обрабатывать только специальным образом подготовленный "скомпилированный" код. Компиляция этого кода происходит на нашем персональном компьютере. Далее этот скомпилированный (машинный) код загружается в микроконтроллер (в энерго независимую память). После этого загруженную программу начинает выполнять центральный процессор.
Диаграмма работы
Каждый из 20 цифровых выводов Micro может использоваться как вход или как выход, используя функции , и . Работают при напряжении 5 В. Максимальный входной или выходной ток каждого вывода 40 мА. На каждом выводе имеется внутренний нагрузочный резистор 20-50 кОм (по умолчанию отключен). Дополнительно некоторые выводы имеют специальные функции:
Внешние прерывания: (RX), (TX), D2 и D3. Эти выводы могут быть сконфигурированы для запуска прерывания по нижней границе, по фронту или спаду, или по изменению значения. Детали описаны в функции .
ШИМ: D3, D5, D6, D9, D10, D11 и D13. С помощью функции обеспечивает 8-битный ШИМ. Очень частая ошибка, это подключение датчика управляемого по ШИМ, к ножке без поддержки ШИМ сигнала. Компилятор программы при этом не выдает ошибки.
Аналоговые входы: A0 - A5, A6 - A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Всего Micro имеет 12 аналоговых входов, причем входы с A0 по A5 маркированы непосредственно на выводах, а другие, к которым также можно получить доступ в программе с использованием констант с A6 до A11, распределены соответственно на цифровых выводах 4, 6, 8, 9, 10 и 12. Все они также могут использоваться в качестве цифровых вход/выходов. Каждый аналоговый вход обеспечивает разрешающую способность 10 бит (т.е. 1024 различных значения). По умолчанию измерения на всех аналоговых входах производятся от потенциала земли до 5 В, но верхний предел этого диапазона можно изменить, используя вывод AREF и функцию .
AREF. Опорное напряжение для аналоговых входов. Используется с функцией .
Для того чтобы писать и загружать новые скетчи на микроконтроллер, нам необходимо скачать и установить программу Arduino IDE. Данная программа распространяется бесплатно, и ее можно скачать на официальном сайте для любой операционной системы (Windows, MacOS, Linux).
Выбор COM Порта для подключения.