Плата Auduino
Рассмотрим для примера плату 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).
Входы и Выходы
Каждый из 20 цифровых выводов Micro может использоваться как вход или как выход, используя функции pinMode(), digitalWrite() и digitalRead(). Работают при напряжении 5 В. Максимальный входной или выходной ток каждого вывода 40 мА. На каждом выводе имеется внутренний нагрузочный резистор 20-50 кОм (по умолчанию отключен). Дополнительно некоторые выводы имеют специальные функции:
Последовательная шина: (RX) и (TX). Используются для получения (RX) и передачи (TX) последовательных данных TTL уровней с использованием аппаратных возможностей последовательной шины ATmega32U4. Обратите внимание, что на Micro класс Serial относится к соединению по USB; для последовательного TTL соединения на выводах (RX1) и (TX1) используйте класс Serial1.
I2C: D2 (SDA) и D3 (SCL). Поддерживает I2C соединение с использованием библиотеки Wire.
Внешние прерывания: (RX), (TX), D2 и D3. Эти выводы могут быть сконфигурированы для запуска прерывания по нижней границе, по фронту или спаду, или по изменению значения. Детали описаны в функции attachInterrupt().
ШИМ: D3, D5, D6, D9, D10, D11 и D13. С помощью функции analogWrite() обеспечивает 8-битный ШИМ. Очень частая ошибка, это подключение датчика управляемого по ШИМ, к ножке без поддержки ШИМ сигнала. Компилятор программы при этом не выдает ошибки.
SPI: на разъеме ICSP. Данные выводы поддерживают связь по SPI с использованием библиотеки SPI. Обратите внимание, что выводы SPI не подключены ни к каким цифровым вход/выходам, как на Arduino Uno, они доступны только на соединителе ICSP и ближайших выводах, маркированных MISO, MOSI и SCK.
RX_LED/SS. Это дополнительный вывод по сравнению с Leonardo. Он подключен к RX_LED, который показывает активность передачи по шине USB, но также может использоваться как вывод выбора подчиненного устройства (SS) для связи по SPI.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне на этом выводе светодиод включен, при низком уровне – выключен.
Аналоговые входы: 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 и функцию analogReference().
На плате имеются еще два вывода:
AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset. Для сброса микроконтроллера переведите эту линию в низкий уровень. Обычно используется, чтобы добавить кнопку Reset на плату расширения, если эта плата закрывает доступ к кнопке на самом контроллере.
Включение и Установка ПО
Для включения парты Ardiono, достаточно подать на плату питание. Проще всего это сделать, подключив плату через microUSB кабель к компьютеру. При подключении платы к питанию, на плате загорится светодиод. Значит питание подано.
Обычно на новые Ardiono, производитель устанавливает программу Blink для проверки работоспособности. Если программа загружена, то на подключенной к питанию плате, начнет мигать светодиод "L" расположенный рядом с USB разьемом на платете.
Установка программного обеспечения
Для того чтобы писать и загружать новые скетчи на микроконтроллер, нам необходимо скачать и установить программу Arduino IDE. Данная программа распространяется бесплатно, и ее можно скачать на официальном сайте www.arduino.cc для любой операционной системы (Windows, MacOS, Linux).
Если у вас уже установленно Arduino IDE, рекомендуем проверить версии программы и установить самую свежую версию.
Для работы с платой Arduino Micro, с микропроцессором ATmega32u4 больше ничего устанавливать не нужно. Для других плат может потребоваться установка драйвера для работы с COM портом. Детальная инструкция для установки этого драйвера должны быть описана производителем платы.
Запустим установленную программу.

Первый скетч. Работа с примерами.
Стандартным примером, с которого стоит изучать любой микроконтроллер стала программа Blink, которая мигает свето-диодом на плате. Мы тоже начнем работу с микроконтроллером именно с этой программы.
Код данной программы доступен сразу в Arduino IDE, разедел примеры. Поэтому для запуска первой программы достаточно открыть пример и загрузить его в микроконтроллер.
Для этого в меню выберем Файл->Примеры->01.Basic->Blink

После этого мы увидим нашу первую программу
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
У нас есть готовая и зарание известное что рабочая программа, поэтому нам осталось только загруиить ее в микроконтроллер.
Для этого необходимо в ArduinoIDE выбрать тип платы и COM порт к которому подключилась плата.
Для выбора платы, необходимо в меню выбрать Инструменты->Плата->Arduino/Genuino Micro

Для выбора порта, необходимо выбрать в меню соответвующий COM порт Инструменты->Порт->COM1 (Arduino Leonardo). Если к COM порту подключена плата микроконтроллера, то рядом с название COM порта выводиться название платы.
Выбор COM Порта для подключения.
Запуск программы
Нам осталось только загрузить программу на наш микрокконтроллер. Для этого нажимам на кнопку "Загрузить" в меню.

После успешной заргрузки, в нижней части IDE вы увидите сообщение об успешной загрузке.

Посмотрите на ваш микроконтроллер, на нем должен мигать светодиод, который расположен рядом с USB разьемом.
Или в случае неудачной загрузки, вы в нижней части IDE, вы увидете сообщение об ошибке.

Проверьте настройки порта, и правильность выбора платы микроконтроллера.
Сохранение программы
Программа для Arduino, это простой текстовый файл. Мы открыли пример, поэтому если мы хотим сохранить нашу программу, ее необходимо сохранить под новым именем (сохранить отредактированный пример IDE не позволит, для того чтобы они всегда были в рабочем состоянии).
Выберем в IDE Файл->Сохранить как...->01.Basic и укажем новое имя, например MyBlink. Нажем Сохранить. После этого мы сможем открыть в IDE уже нашу программу и приступить к ее редактированию.
Программа и микроконтроллер
Давайте рассмотрим в подробностях, что происходит с нашей программой, когда мы нажимаем на "Загрузку".
Плата микроконтроллера, не может взять наш исходный файл программы и запустить его у себя. Микроконтроллер может обрабатывать только специальным образом подготовленный "скомпилированный" код. Компиляция этого кода происходит на нашем персональном компьютере. Далее этот скомпилированный (машинный) код загружается в микроконтроллер (в энерго независимую память). После этого загруженную программу начинает выполнять центральный процессор.
Диаграмма работы

Last updated