Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства
- Название:Изучаем Arduino: инструметы и методы технического волшебства
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3585-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание
Для радиолюбителей
Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В случае Arduino Uno и Mega 2560 интерфейсом между кабелем USB и контактами USART на основном микроконтроллере служит дополнительный контроллер (ATmega 16U2 или 8U2 в зависимости от версии платы). На плате Arduino Leonardo установлен основной микроконтроллер ATmega 32U4, имеющий встроенный контроллер USB. В более старых платах Arduino функцию сопряжения между последовательным портом ATmega и интерфейсом USB выполняла специальная микросхема.
Загрузчик - это фрагмент программного кода, который записан в зарезервированное пространство памяти программы Arduino. Микроконтроллеры AVR обычно программируются с помощью ICSP, который взаимодействует с микроконтроллером через последовательный периферийный интерфейс (SPI). Этот способ предполагает наличие программатора, например, STK500 или ISP MKII ( см. рис. 1.2).

Рис. 1.2. AVR программатор ISP MKII
Сразу после включения платы Arduino запускается загрузчик, который работает в течение нескольких секунд. Если за это время загрузчик получает команду программирования от IDE по последовательному интерфейсу UART, то он загружает программу в свободную область памяти микроконтроллера. Если такая команда не поступает, запускается последняя программа, находящаяся в памяти Arduino.
- 31 -
При подаче команды загрузки от IDE Arduino вспомогательный контроллер (ATmega 16U2 или 8U2 в случае Arduino Uno) сбрасывает основной микроконтроллер, подготавливая его к загрузке. Затем внешний компьютер начинает отправлять код программы, который микроконтроллер получает через соединение UART.
Загрузчики занимают в памяти довольно много места, потому что они реализуют простое программирование через USB без внешних аппаратных средств. Однако у них есть два основных недостатка: + они занимают место в памяти (приблизительно 2 Кбайт), которое могло бы пригодиться при написании программ; + при наличии загрузчика выполнение вашей программы всегда будет задерживаться на несколько секунд при начальной загрузке, поскольку загрузчик обрабатывает запрос на программирование.
Если у вас есть программатор (или другая плата Arduino, запрограммированная как программатор), то можно удалить загрузчик из своего контроллера ATmega и программировать его с помощью внешнего программатора.
1.5. Цифровые и аналоговые контакты ввода-вывода
У контроллеров Arduino к большинству контактов ввода-вывода можно подключить внешние схемы. Все контакты могут служить цифровыми входами и выходами. Часть контактов Arduino могут также действовать в качестве аналоговых входов. Многие из контактов работают в режиме мультиплексирования и выполняют дополнительные функции: различные коммуникационные интерфейсы, последовательные интерфейсы, широтно-импульсные модуляторы и внешние прерывания.
1.6. Источники питания
Для большинства проектов достаточно 5-вольтового питания, получаемого по кабелю USB. Однако, при необходимости разработки автономного устройства, схема способна работать от внешнего источника от 6 до 20 В (рекомендуется напряжение 7-12 В). Внешнее питание может подаваться через разъем DC или на контакт V in.
У Arduino есть встроенные стабилизаторы на 5 и 3,3 В:
• напряжение 5 В используется для всех логических элементов на плате, уровень на цифровых контактах ввода-вывода находится в пределах 0-5 В;
• напряжение 3,3 В выведено на отдельный контакт для подключения внешних устройств.
1.7. Платы Arduino
Мы не будем рассматривать все существующие платы Arduino, т. к. их очень много и постоянно выпускаются все новые с различными функциями. Кратко опишем лишь некоторые из фирменных плат Arduino.
- 32 -
Arduino Uno (рис. 1.3) - основная плата линейки Arduino, она будет использоваться в большинстве примеров книги. Плата укомплектована микроконтроллером ATmega 328 и микросхемой 16U2 преобразователя USB. Микроконтроллер ATmega 328 может быть выполнен в исполнении DIP или SMD.

Рис. 1.3. Плата Arduino Uno
На плате Leonardo (рис. 1.4) установлен контроллер 32U4 со встроенным интерфейсом USB. Это уменьшает стоимость изделия и дает возможность использовать плату в качестве USB-устройства, например как эмулятор джойстика или клавиатуры.
Вы узнаете, как работать с этими функциями, в главе 6.
На плате Arduino Mega 2560 (рис. 1.5) установлен контроллер ATmega 2560, имеющий 54 цифровых входа-выхода, что позволяет подключать еще больше устройств. У Arduino Mega 2560 увеличено число аналоговых входов и последовательных портов (четыре против одного у Arduino Uno).
В отличие от остальных плат Arduino, использующих 8-разрядные контроллеры AVR, плата Due (рис. 1.6) создана на базе 32-разрядного процессора Atmel SAM3X8E ARM Cortex-M3 с тактовой частотой 84 МГц. Отличительные особенности платы: повышенная точность аналого-цифрового преобразователя, настраиваемая частота сигнала ШИМ, отдельные выводы цифроаналогового преобразователя, наличие встроенного последовательного порта.
Конструкция миниатюрной платы Arduino Nano (рис. 1. 7) такова, что ее можно установить в панельку для микросхем.
Плата Mega ADK (рис. 1.8) очень похожа на Arduino Mega 2560, но у Mega ADK есть дополнительная функциональность интерфейса USB, позволяющая ему соединяться с телефоном на базе Android.

Рис. 1.4. Плата Arduino Leonardo

Рис. 1.5. Плата Arduino Mega 2560
- 33 -

Рис. 1.6. Плата Arduino Due

Рис. 1.7 Плата Arduino Nano
- 34 -

Рис. 1.8. Плата Arduino Mega ADK
- 35 -
Уникальность платы Arduino LilyPad (рис. 1.9) в том, что она разработана как часть одежды. Ее можно вшить в ткань вместе с датчиками, светодиодами и т. п. Для программирования платы необходим кабель FTDI.

Рис. 1.9. Плата Arduino LilyPad
Как уже упоминалось во введении, Arduino - это открытая платформа. Поэтому в продаже можно найти десятки Arduino-совместимых устройств, которые будут работать с IDE Arduino и со всеми проектами, описанными в этой книге. Многие используют популярные платы Seeeduino, Adafruit 32U4, SparkFun Pro и миниплаты Arduino. Много сторонних плат разработано для конкретных приложений с дополнительной функциональностью, уже встроенной в плату. Например, ArduPilot - плата для автономного управления квадрокоптером (рис. 1.10).
Читать дальшеИнтервал:
Закладка: