Arduino Pro Mini
Arduino Pro Mini - вид спереди | Arduino Pro Mini - вид сзади |
Общие сведения
Arduino Pro Mini - это устройство на базе микроконтроллера ATmega328. В его состав входит: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 8 аналоговых входов, кварцевый резонатор, кнопка сброса и контактные площадки для впаивания разъемов. Шестиконтактный разъем может служить для питания и взаимодействия с платой через USB посредством FTDI-переходника либо макетной платы Sparkfun.
Arduino Pro Mini предназначен для полустационарного монтажа в различное оборудование или установки. Плата специально поставляется без впаянных разъемов, что позволяет пользователю впаивать провода или использовать необходимые типы разъемов по своему усмотрению. По расположению выводов Arduino Mini Pro совместим Arduino Mini.
Существует две версии Pro Mini: одна работает от 3.3В при частоте 8 МГц, другая - от 5В при 16 МГц.
Arduino Pro Mini разработан и изготовлен фирмой SparkFun Electronics.
Схема и исходный проект
Файлы EAGLE: arduino-pro-mini-reference-design.zip
Схема: Arduino-Pro-Mini-schematic.pdf
Характеристики
Микроконтроллер | ATmega168 или ATmega328 |
Рабочее напряжение | 3.3В или 5В (в зависимости от модели) |
Напряжение питания | 3.35-12В (для модели 3.3В) или 5 - 12В (для модели 5В) |
Цифровые входы/выходы | 14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы | 8 |
Максимальный ток одного вывода | 40 мА |
Flash-память | 16 КБ (из которых 2 КБ используются загрузчиком) |
SRAM | 1 КБ |
EEPROM | 512 байт |
Тактовая частота | 8 МГц (для модели 3.3В) или 16 МГц (в модели 5В) |
Питание
Arduino Pro Mini может быть запитан от различных источников:
- через макетную плату;
- через переходник FTDI, подсоединенный к шестиконтактному разъему;
- от стабилизированного источника питания с напряжением 3.3В или 5В (в зависимости от модели), подключенного к выводу Vcc.
Кроме того, на плате есть встроенный стабилизатор напряжения, благодаря которому допускается подавать на плату напряжение питания величиной до 12В. Если для питания платы используется нестабилизированный источник питания, убедитесь, что он подсоединен к выводу "RAW", а не VCC.
Ниже перечислены выводы питания, расположенные на плате:
- RAW. Для питания платы от нестабилизированного источника напряжения.
- VСС. Стабилизированное напряжение 3.3В или 5В.
- GND. Выводы земли.
Память
Объем флеш-памяти программ микроконтроллера ATmega328 составляет 32 КБ (из которых 2 КБ используются загрузчиком). Микроконтроллер также имеет 1 КБ памяти SRAM и 512 байт EEPROM (из которой можно считывать или записывать информацию с помощью библиотеки EEPROM).
Входы и выходы
С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов Pro Mini может работать в качестве входа или выхода. В зависимости от модели, уровень напряжения на выводах ограничен 3.3В или 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции:
- Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с линиями TX-0 и RX-1 шестиконтактного разъема.
- Внешние прерывания: выводы 2 и 3. Данные выводы могут служить источниками прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала на этих выводах. Для получения дополнительной информации см. функцию attachInterrupt().
- ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
- Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы позволяют осуществлять связь по интерфейсу SPI. В устройстве реализована аппаратная поддержка SPI, однако на данный момент язык Ардуино пока ее не поддерживает.
- Светодиод: 13. Встроенный светодиод, подсоединенный к цифровому выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается.
В Arduino Pro Mini есть 6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). Четыре из них выведены на контакты возле края платы; два остальных (входы 4 и 5) выведены на распаечные площадки внутри платы. Измерение напряжения осуществляется относительно диапазона от 0 до VCC. Помимо этого, некоторые из аналоговых входов имеют дополнительные функции:
- I2C: вывод A4 (SDA) и вывод A5 (SCL). С использованием библиотеки Wire позволяют осуществлять связь по интерфейсу I2С.
Помимо перечисленных на плате есть еще один вывод:
- Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Смотрите также соответствие выводов Arduino и ATmega328.
Связь
Arduino Pro Mini предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART, позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). В пакет программного обеспечения Ардуино входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные через USB-соединение.
Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Pro Mini.
В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI см. даташит микроконтроллера ATmega328.
Программирование
Arduino Pro Mini программируется с помощью программного обеспечения Ардуино (скачать). Для получения более подробной информации см. справку и примеры.
ATmega328 в Arduino Pro Mini выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).
Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; более подробно об этом см. соответствующие инструкции.
Автоматический (программный) сброс
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Pro Mini спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов шестиконтактного разъема соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. При подключении компьютеру этот вывод также связан с одной из линий, участвующих в аппаратном управлении потоком данных, идущих через преобразователь USB-Serial: при использовании кабеля FTDI - с линией RTS, при использовании макетной платы Sparkfun - с линией DTR. Когда на этой линии появляется ноль, вывод RESET, соответственно, также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии RESET.
Однако эта система может приводить и к другим последствиям. При подключении Pro Mini к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Pro Mini активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.
Физические характеристики
Габаритные размеры печатной платы Arduino Pro Mini: 1.8 см х 3.3 см.