Как запрограммировать Arduino Pro Mini с помощью программатора. Arduino Pro Mini — распиновка и характеристики Arduino pro mini 328 распиновка

Arduino Pro Mini – это микроконтроллерный модуль на базе чипа ATmega328 . У него 14 цифровых I/O контактов (из которых 6 можно использовать для ШИМ ), 6 налоговых контактов , встроенный резонатор, кнопка сброса и отверстия для крепежа гребешков с контактами. Чтобы подать на модуль питание или организовать коммуникацию через USB , его 6-контактный гребешок можно подключить к FTDI -кабелю или макетной плате Sparkfun .

Модуль Arduino Pro Mini предназначен для полустационарного использования. У него нет предустановленных гребешков, что позволяет использовать разные типы коннекторов и припаивать провода напрямую.

Распиновка Arduino Pro Mini совместима с Arduino Mini .

Arduino Pro Mini предлагается в двух версиях. Одна работает на 3,3 вольтах и с частотой 8 МГц , а вторая – на 5 вольтах и с частотой 16 МГц .

Кроме того, Arduino Pro Mini была разработана и выпускается компанией Sparkfun Electronics . Информацию о гарантии можно почитать .

Входные и выходные контакты

Любой из 14 цифровых контактов Pro Mini можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode() , digitalWrite() и digitalRead() . Они оперируют на 3,3 и 5 вольтах (в зависимости от модели). Каждый контакт может получать/отдавать не более 40 миллиампер и оснащен встроенным подтягивающим резистором (по умолчанию отключен) номиналом 20-50 кОм .

Кроме того, некоторые контакты могут выполнять специальные функции:

  • Последовательная передача данных : 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX ) и передачи (TX ) последовательных TTL -данных. Эти контакты подключены к контактам TX-0 и RX-1 на 6-контактном гребешке .
  • Внешние прерывания : 2-ой и 3-ий контакты. Эти контакты можно настроить на запуск прерывания при переключении на значение LOW , нарастающем/убывающем фронте импульса или изменении значения. Более подробно читайте в статье о функции attachInterrupt() .
  • ШИМ : 3-ий , 5-ый , 6-ой , 9-ый , 10-ый и 11-ый контакты. Эти контакты обеспечивают 8-битную ШИМ при помощи функции analogWrite() .
  • Интерфейс SPI : 10-ый (SS) , 11-ый (MOSI) , 12-ый (MISO) и 13-ый (SCK) контакты. Они поддерживают SPI -коммуникацию, обеспечиваемую оборудованием самой Arduino , но не языком Arduino .
  • Встроенный светодиод : 13-ый контакт . Это светодиод, по умолчанию встроенный в плату Arduino и управляемый 13-ым цифровым контактом . Если на этот контакт подано значение HIGH , то светодиод включится, а если LOW , то выключится.
  • Интерфейс I2C : A4 (SDA) и A5 (SCL) контакты. Они поддерживают TWI -коммуникацию (I2C -коммуникацию) при помощи библиотеки Wire .
  • Reset : если подать на эту линию LOW , это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, т.к. подключение «шилда» к плате блокирует кнопку сброса на самой плате.

Кроме того, модуль Arduino Pro Mini оснащен 8 входными аналоговыми контактами , каждый из которых имеет 10-битное разрешение (т.е. позволяют работать с данными в диапазоне от 1 до 1024 ). Четыре из них расположены на гребешках на краю модуля, а два (4-ый и 5-ый ) – в отверстиях во внутренней части модуля. По умолчанию вольтовой диапазон в них составляет от Vcc до GND .

Коммуникация

На Arduino Pro Mini есть множество средств для коммуникации с компьютером, а также другими платами Arduino и микроконтроллерами. Во-первых, чип ATmega328 может общаться через последовательную коммуникацию UART TTL , доступную на 0-ом (RX) и 1-ом (TX) цифровых контактах. В IDE Arduino есть монитор порта, позволяющий отправлять и получать через USB -соединение текстовые данные – как от самой платы, так и на нее.

Для последовательной коммуникации через любой из цифровых контактов Arduino Pro Mini используйте библиотеку SoftwareSerial . Чип ATmega328 также поддерживает коммуникацию через интерфейсы I2C (TWI) и SPI . Чтобы упростить использование шины I2C , IDE Arduino использует библиотеку Wire ; подробнее о ней читайте . Перед использованием интерфейса SPI ознакомьтесь, пожалуйста, с «даташитом» ATmega328 .

Программирование

Модуль Arduino Pro Mini можно программировать через

Если вы хотите загрузить на Arduino Pro Mini новый скетч, для этого необязательно нажимать кнопку сброса вручную. Эта модель устроена таким образом, что позволяет выполнить сброс при помощи ПО , которое запущено на компьютере, подключенном к Arduino . Один из шести контактов на 6-контактном гребешке подключен (через 100-нанофарадный конденсатор ) к линии сброса ATmega328 . Этот контакт подключается к одной из аппаратных линий конвертера USB-Serial , отвечающих за управление потоками и подключенных к гребешку: при использовании FTDI -кабеля это RTS , при использовании макетной платы Sparkfun это DTR . Когда эта линия получает значение LOW , значение на линии RESET падает настолько, что этого хватает для сброса чипа.

IDE Arduino использует эту возможность, чтобы позволить вам загружать код простым нажатием на кнопку загрузки, находящуюся на панели инструментов. Это значит, что у загрузчика будет более короткий таймаут, поскольку передачу на Reset -линию значения LOW можно привязать к началу загрузки.

Эта система влияет на работу Pro Mini и в другом. Когда Pro Mini подключена к компьютеру на Mac OS X или Linux , то сбрасывается каждый раз при настройке соединения между нею и программой (через USB ). Следующие полсекунды на Pro Mini выполняется запуск загрузчика. Хотя Pro Mini запрограммирована на игнорирование дефектных данных (то есть всего, что не имеет отношение к загрузке нового кода), она все же перехватит несколько байт, отправленных ей после открытия соединения.

Таким образом, если первом запуске скетча плата получает разовую конфигурацию или другие данные, сделайте так, чтобы программа, с которой он коммуницирует, перед отправкой этих данных подождала примерно секунду.

Физические характеристики

Размеры Arduino Pro Mini составляют примерно 1,77 на 3,3 см .

Данная плата предназначена для использования в готовом устройстве. Поэтому у этого микроконтроллера нет встроенной микросхемы для связи по USB-UART. Так же нет и разъемов USB для подключения и прошивки. Это позволяет сильно уменьшить размеры платы, а также ее стоимость. Для подключения к компьютеру и прошивки используется специальный программатор. Существует две версии данной платы: с питанием 3,3 В и частотой 8 МГц и с питанием от 5 В с частотой 16 МГц. В младшей версии этой ардуинки используется чип ATmega168. Этот чип обладает меньшим объемом flash-памяти, энергонезависимой памяти, а так же пониженной тактовой частотой. Так как цена разных версий Arduino Pro Mini практически не отличается мы поговорим о старшей версии с чипом ATmega328 и тактовой частотой 16 МГц.

Arduino Pro Mini 5 В

Эта версия снабжена микроконтроллером ATmega328. В отличии от своего младшего собрата, он имеет вдвое большие объемы энергонезависимой и flash памяти. И может похвастаться тактовой частотой в 16 МГц. Узнать о способах прошивки этого микроконтроллера вы можете в моей статье:

Характеристики

  • Микроконтроллер: ATmega168 или ATmega328
  • Предельное напряжение питания: 3,3-12 В и 5-12 В
  • Цифровых вводов/выводов: 14
  • ШИМ: 6 цифровых пинов могут быть использованы как выводы ШИМ
  • Аналоговые выводы: 8
  • Максимальная сила тока: 40 mAh с одного вывода и 400 mAh со всех выводов.
  • Flash память: 16 кб
  • SRAM: 1 кб
  • EEPROM: 512 байт
  • Тактовая частота: 8 МГц и 16 МГц

Подключение питания к Arduino Pro Mini

Этот микроконтроллер можно питать тремя способами:

  • Переходником FTDI, подключенному к 6 соответствующим пинам.
  • Подавая стабилизированное напряжение на вывод Vcc. 3,3 В или 5 В в зависимости от версии
  • Подавая напряжение на вывод RAW. 3,3-12 В или 5-12 В в зависимости от версии

Как уже было написано выше, плата имеет 14 цифровых пинов. На плате они помечены порядковым номером. Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 3,3 В или 5 В.

Аналоговые пины на плате помечены ведущей «A». Эти пины являются входами и не имеют подтягивающих резисторов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции analogRead(). Эти пины измеряют напряжение с точностью до 0,005 В.

Широтно-импульсная модуляция (ШИМ) Arduino Pro Mini

ШИМ выходы у этой платы никак не помечены. Нужно просто запомнить номера цифровых выводов, которые подключены к широтно-импульсному генератору. У Arduino Pro Mini есть 6 выводов ШИМ, это пины 3, 5, 6, 9, 10 и 11. Для использования ШИМ у Arduino есть специальная функция .

Другие пины:

  • 0(Rx) и 1(Tx) используются для передачи данных по последовательному интерфейсу.
  • Выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) рассчитаны для связи по интерфейсу SPI.
  • Так же на выводе D13 имеется встроенный в плату светодиод.
  • А4 (SDA) и А5 (SCL) могут использоваться для связи с другими устройствами по шине I2C. Подробнее про этот интерфейс вы можете почитать на википедии . В среде разработке Arduino IDE есть встроенная библиотека «wire.h» для более легкой работы с I2C.

Физические характеристики

Arduino Pro Mini имеет следующие размеры: длина 33 мм и ширина 18 мм, а весит всего около 10 грамм. Расстояние между выводами равняется 2,54 мм.


Оригинальные платы Arduino - это open-source микроконтроллеры, документация которых выложена в сети в свободном доступе. То есть, вы можете свободно создать собственную плату на базе обширной документации в сети.

Одной из компаний, которая пошла по пути клонирования Arduino, является SparkFun. Ребята несколько модифицируют платы, изменяют размеры, добавляют небольшие фичи и благополучно заполняют рынок. В этой статье пойдет речь о работе с платой Arduino Pro Mini 3.3V, копию которой вы можете приобрести как на сайте SparkFun так и в китайских интернет магазинах.

В статье рассмотрены все особенности этой миниатюрной платы-микроконтроллера Arduino Pro Mini 3.3 V: начиная со сборки и заканчивая программированием этого чудного девайса.

Кстати, для сборки Arduino Pro Mini вам надо будет поработать паяльником. Так что поищите в закромах паяльник и припой.

Что такое Arduino Pro Mini?

Для начала давайте разберемся в основных отличиях Arduino Pro Mini от одной из самых популярных плат Arduino Uno.

Итак, самое первое - очевидная разница в размерах. Плата Arduino Pro Mini достаточно... миниатюрная. Ее габаритные размеры составляют всего навсего 1.3x0.70". Это примерно 1/6 часть Arduino Uno! Очевидно, компактность данной платы обуславливает ее широкое применение в мобильных малогабаритных устройствах. Естественно, шилды, которые садятся на Arduino Uno, на Arduino Pro Mini никак не установишь, но! Подключить эти шилды можно с использованием дополнительных коннекторов, ведь пинов на плате вполне достаточно.

На рисунке ниже можно визуально оценить размеры Arduino Uno и Arduino Pro Mini.


Arduino Pro Mini очень схож по характеристикам со стандартными платами Arduino, но перед адаптацией ваших проектов под этот миниатюрный микропроцессор, надо кое-что помнить. Первое основное отличие - Arduino Pro Mini работает с питанием 3.3 В. В отличие от Arduino Uno, на котором есть регулятор 5 В и 3.3 В, на Mini установлен только один регулятор. Это значит, что если вы используете в проекте периферийные устройства с питанием от 5 В, вам надо использовать дополнительный регулятор уровня при подключении Pro Mini (или изначально приобрести модель Arduino Pro Mini 5 V, такие тоже есть).

Второе основное отличие - скорость, с которой работает чип ATmega328. Плата Pro Mini 3.3V работает с частотой микропроцессора 8 МГц, что составляет половину скорости Arduino Uno. Это обусловлено тем, что на плате установлен более медленный резонатор, благодаря чему гарантируется безопасность работы ATmega. Уменьшение скорости работы не сильно скажется на ваших проектах. Практически любая идея, которая реализуема на Arduino Uno, может быть реализована и на Arduino Pro Mini.

И последнее отличие. На Arduino Pro отсутствует Atmega16U2 USB-to-Serial конвертер и USB выход. Благодаря этому, плата значительно выигрывает в размерах, но возникает необходимость использовать дополнительный модуль вроде FTDI Basic Breakout или его аналогов. Только с помощью внешнего USB--to-Serial конвертера мы сможем загрузить программу на плату.


Электросхема и контакты Arduino Pro Mini

Электросхема Pro Mini состоит из трех основных блоков: регулятор напряжения, ATmega328 и его обвязка и контакты для подключения внешних устройств.


Пины на Arduino Pro Mini расположены по трем из четырех сторон. Контакты на короткой стороне используются для программирования. Пины на двух длинных сторонах - это контакты для питания, вывода/ввода сигналов (как и на стандартных платах).


На Arduino Pro Mini предусмотрено три разных пина, которые связаны с питанием: GND, VCC и RAW. GND, как вы уже догадались - это земля. RAW - это контакт для напряжения, которое подается на регулятор. На этот контакт можно подавать напряжение в диапазоне от 3.4 до 12 В. Напряжение на контакте VCC подается непосредственно на Pro Mini, так что на этом контакте у вас всегда будет отрегулированное напряжение 3.3 В.

Есть еще четыре пина, которое располагаются не с края платы, а ближе к центру. Это контакты: A4, A5, A6 и A7. Каждый из этих контактов помечен на задней части платы.


Расположение контактов A4 и A5 очень важно, если вы планируете использовать подключение периферийных устройств с использованием I2C. Именно эти контакты на Arduino Pro Mini выполняют роль пинов SDA и SCL.

Сборка Arduino Pro Mini

Arduino Pro Mini, после покупки выглядит не очень презентабельно. Рельсы контактов идут в комплекте отдельно. Перед тем как паять контакты, ознакомьтесь с рекомендациями, которые приведены ниже.

Во первых, определитесь, как вы будете подключать внешний USB конвертер для заливки программы на вашу плату Arduino Pro Mini. Контакты для программирования платы - это отдельная рельса из шести пинов, которые подписаны “BLK”, “GND”, “VCC”, “RXI”, “TXO”, и “GRN”. Так как модуль FTDI Basic поставляется с контактами типа мама, лучше всего установить рельсу с контактами типа папа.

На фото ниже показана плата Arduino Pro Mini, на которой установлены все пины типа папа. Таким образом, очень удобно устанавливать Arduino Pro Mini непосредственно на макетную плату. Обратите внимание, что контакты для программирования припаяны "наоборот".


В общем, вариантов для сборки достаточно много. Можно припаять контакты типа папа для установки на брэдборд, можно припаять контакты с выходом типа мама. Тогда будет удобно подключать устройства с коннекторами типа папа. Ну и вообще, можно напрямую припаять провода к контактам на на Arduino Pro Mini.

На фото ниже приведен пример проекта на Arduino Pro Mini, в котором на плате используются как прямые рельсы контактов так и рельсы под углом 90 градусов.


Эта возможность - припаять контакты именно так как вам удобно под проект - одна из потрясающих фич Arduino Pro Mini.

Питание Arduino Pro Mini

Самый важный аспект любого проекта - источник питания. На Areuino Pro Mini нет отдельного джека для подключения питания. Как будем питать плату?

Подберите источник питания, который подойдет для вашего проекта. Отличный выбор, который подойдет для Arduino Pro Mini - это батарея (литиевая, алкалиновая и т.д. и т.п.).

Если ваш источник питания дает на выходе больше 3.3 В (но меньше 12!), подключите его к контакту RAW на Mini. Это контакт, который выполняет аналогичную функцию с пином VIN или джеком для отдельного источника питания на Arduino Uno. Напряжение, которое подается на этот контакт, преобразуется в 3.3 В перед тем как попасть на процессор.

Если у вас есть уже отрегулированный источник питания 3.3 В, вы можете подключить его напрямую к контакту VCC. По этой цепи питание не будет проходить через регулятор, а пойдет напрямую к ATmega328. Не забудьте и в первом и во втором случае подключить землю к контакту GND!

Есть еще один вариант питания. Этот вариант доступен только в процессе программирования Arduino Pro Mini. Упомянутая выше плата FTDI Basic Breakout тоже запитывает ваш Arduino Pro Mini через USB порт персонального компьютера. Учтите, что как только вы отключите конвертер, питание пропадет!


Программирование Arduino Pro Mini

Если вы никогда не использовали Arduino , вам надо скачать оболочку для программирования Arduino IDE. Скачать Arduino IDE можно на официальном сайте .

Вполне вероятно, вам надо будет установить драйвера для FTDI Basic Breakout или аналогичного конвертера, когда вы подключите плату с конвертером впервые.

После того как драйвера для FTDI и Arduino установлены, можно переходить к программированию. Предлагаем начать с самого популярного скетча: Blink. Откройте Areuino IDE, после этого откройте скетч Blink, который находится в

File > Examples > 01.Basics > Blink:


Перед загрузкой программы на Pro Mini, надо сообщить оболочке для программирования, какую именно плату вы используете. Для этого надо выбрать Tools > Board и там из списка выбрать Arduino Pro или Pro Mini.


После этого возвращаемся в Tools > Processor и выбираем ATmega328 (3.3V, 8MHz). Эта настройка сообщает IDE, что надо компилировать код с учетом частоты 8 МГц.


После этого надо выбрать серийный порт, к которому вы подключили Pro Mini с помощью FTDI Basic Breakout. В Windows это будет что-то вроде COM2, COM3, и т.д. и т.п. На Mac это будет что-то вроде /dev/tty.usbserial-A6006hSc.


Наконец то все готово к загрузке программы на вашу Arduino Pro Mini. Нажмите кнопку Upload (стрелка вправо под меню). После этого красный и зеленый светодиоды RX/TX на вашем USB конвертере загорятся и в строке состояния Arduino IDE появится надпись "Done Uploading". Вуаля, светодиод на Arduino Pro Mini начал мигать! Хоть на плате Mini не уместились некоторые компоненты обвязки, самый важный из них - светодиод - на плате есть!

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Arduino - это эффективное средство разработки программируемых электронных устройств, которые, в отличие от персональных компьютеров, ориентированы на тесное взаимодействие с окружающим миром. Ардуино - это открытая программируемая аппаратная платформа для работы с различными физическими объектами и представляет собой простую плату с микроконтроллером, а также специальную среду разработки для написания программного обеспечения микроконтроллера.

Ардуино может использоваться для разработки интерактивных систем, управляемых различными датчиками и переключателями. Такие системы, в свою очередь, могут управлять работой различных индикаторов, двигателей и других устройств. Проекты Ардуино могут быть как самостоятельными, так и взаимодействовать с программным обеспечением, работающем на персональном компьютере (например, приложениями Flash, Processing, MaxMSP). Любую плату Ардуино можно собрать вручную или же купить готовое устройство; среда разработки для программирования такой платы имеет открытый исходный код и полностью бесплатна.

Язык программирования Ардуино является реализацией похожей аппаратной платформы "Wiring", основанной на среде программирования мультимедиа "Processing".

Почему именно Arduino?

Существует множество других микроконтроллеров и микропроцессорных устройств, предназначенных для программирования различных аппаратных средств: Parallax Basic Stamp, Netmedia"s BX-24, Phidgets, MIT"s Handyboard и многие другие. Все эти устройства предлагают похожую функциональность и призваны освободить пользователя от необходимости углубляться в мелкие детали внутреннего устройства микроконтроллеров, предоставив ему простой и удобный интерфейс для их программирования. Ардуино также упрощает процесс работы с микроконтроллерами, но в отличие от других систем предоставляет ряд преимуществ для преподавателей, студентов и радиолюбителей:

Компактные платы ардуино:

Ардуино Нано

Платформа Nano, построенная на микроконтроллере ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах. Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.
Наверное одна из лучших и компактных плат для различных проектов и самоделок, обычно выбираю её :

Ардуино про мини

Arduino Pro Mini построена на микроконтроллере ATmega168 (техническое описание ). Платформа содержит 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, резонатор, кнопку перезагрузки и отверстия для монтажа выводов.

Плата имеет еще более компактные размеры, но без конвертора сн340. Цена ниже чем у нано.




Arduino pro micro

Плата Arduino Pro Micro построена на микроконтроллере ATmega32U4 , что позволило не применяя конвертер USB-UART подключать плату в USB-порту компьютера. Это исключает необходимость применения программатора для записи скетча в плату.

Возможности:

  • частота: 16МГц
  • 4 канала АЦП (10 бит)
  • 10 портов ввода-вывода общего назначения (из них 5 с ШИМ)
  • выводы Rx/Tx
  • светодиоды: питание, Rx, Tx

Плата имеет регулятор напряжения, что позволяет использовать питание до 12В (вывод RAW, не VCC!)



Полноразмерные платы ардуино

Ардуино Уно

Arduino Uno контроллер построен на ATmega328 (техническое описание , pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки.

КУпить на алиэкспресс http://ali.pub/1tgxw9


Ардуино DUE

Общие сведения

Arduino Due - плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (описание). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром. На ней имеется 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), a генератор тактовой частоты 84 МГц, связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое выдерживают вход/выходы составляет 3,3 В. Подав более высокое напряжение, например, 5 В, на выводы Arduino Due, можно повредить плату.

Плата содержит все, что необходимо для поддержки микроконтроллера. Чтобы начать работу с ней, достаточно просто подключить её к компьютеру кабелем микро-USB, либо подать питание с AC/DC преобразователя или батарейки. Due совместим со всеми платами расширения Arduino, работающими от 3,3 В, и с цоколевкой Arduino 1.0.


Arduino ESPLORA

Общие сведения

Arduino Esplora - это микропроцессорное устройство, спроектированное на основе Arduino Leonardo . Esplora отличается от всех предыдущих плат Arduino наличием множества встроенных, готовых к использованию датчиков для взаимодействия. Он спроектирован для тех, кто предпочитает сразу начать работу с Ардуино, не изучая перед этим электронику. Пошаговую инструкцию к Esplora вы сможете найти в руководстве Начало работы с Esplora .

Esplora имеет встроенные звуковые и световые индикаторы (для вывода информации), а также несколько датчиков (для ввода информации), таких, как джойстик, слайдер, датчик температуры, акселерометр, микрофон и световой датчик. Помимо этого, на плате есть два входных и выходных разъема Tinkerkit, а также гнездо для подключения жидкокристаллического TFT-экрана, позволяющие значительно расширить возможности устройства.

Как и на плате Leonardo, в Esplora используется AVR-микроконтроллер ATmega32U4 с кварцевым резонатором 16 МГц, а также разъем микро-USB, позволяющий устройству быть USB-гаджетом, подобно мыши или клавиатуре.


Arduino YUN

Arduino Yun – отладочная плата на базе микроконтроллера ATmega32u4 и Atheros AR9331. Процессор Atheros поддерживает дистрибутив Linux, основанный на базе OpenWrt и называемый OpenWrt-Yun. Плата имеет встроенную поддержку Ethernet и WiFi, порт USB-A, слот для карты micro-SD, 20 цифровых входных/выходных выводов (из которых 7 могут использоваться в качестве ШИМ выходов, а 12 – в качестве аналоговых входов), кварцевый резонатор 16 МГц, соединение microUSB, разъем ICSP и 3 кнопки перезагрузки.

Купить на Алиэкспресс http://ali.pub/1tgz6c





Заказываешь на Aliexpress ?Узнай как экономить покупая на али кэшбек

https://cashback.epn.bz/?i=ff2b6

https://cashback.epn.bz/joinusnow?i=ff2b6

Большинство модулей, продаваемых как части конструктора для Arduino, представляет из себя плату с линейным стабилизатором и надписью: «входное напряжение от 3 до 5 Вольт», а сами микросхемы, выполняющие работу модулей, зачастую питаются от напряжения 3.3В, и иногда могут работать при понижении его до 3 или 1.8В.

Данный модуль поможет оптимизировать размер и увеличить время работы моего GPS-логгера…

Упакован о Ардуино в пакетик со штрих-кодом:



Может, это оригинальный модуль?


Светодиод индикации питания зелёного цвета, #13 - красного:

Зачем нужен именно этот Ардуино - на 3.3В, а не как все - на 5В по $1.4? Всё хорошо, когда нам надо показать чудо, происходящее при подключении устройства к Ардуино: мы покупаем модули, цепляем их к общему источнику на 5В, загружаем скетч - и всё блестит и пыхтит. Но при разработке более-менее используемых устройств, приходится задумываться и об энергоэффективности, и о компактности, - в результате, из схем вылетает половина лишних блоков.

Как видно, процессор Atmega328 данного модуля может работать на напряжении 2.7В, причем на стабилизаторе напряжение практически на падает; для сравнения, на 5-вольтной Ардуино (из предыдущей версии GPS-логгера) у меня наблюдалось напряжение 3.6 В при питании от 5В на входе RAW.

Кстати, с какой скоростью он выдаёт информацию? У меня был файл с логом, за две минуты набегает 5.42 КБ (4336 Кб) ~ 37 Кб/с, если я не ошибся, то скорость почти в 15 раз меньше.

Те же проводки, питание соединяем без стабилизатора - напрямую к VCC, TX -> 2:


Скрипт посимвольно читает из программного последовательного порта и пишет в аппаратный, к которому мы подключили программатор и смотрим, что выдается:
#include // Для использования программного порта. SoftwareSerial mySerial(2, 3); // Инициализируем 2 контакт Arduino. char ch; // Буфер. void setup() { Serial.begin(9600); mySerial.begin(9600); } void loop() { // Если прочёлся символ из программного пота, if ((ch = mySerial.read()) != -1) Serial.write(ch); // пишем его в аппаратный. }
В «Мониторе порта» приходят строки характерные для GPS-модуля:

Код, написанный ранее, на самом деле, иногда глючит, поэтому етсь еще необходимость в его доработке. Собрав такой альфа-вариант:


переписал скрипт -

почти готовый GPS-логгер

#include #define SER_SP 9600 // Скорость последовательного порта. File flDataFile; // Файл для записи GPS-строк. char chGpsLint; // Переменная для хранения GPS-строки, byte btReaded; // её длина. void setup() { Serial.begin(SER_SP); // Настраиваем порт. if (!SD.begin()) // Если не получается начать работать с картой, delay(3600000); // ничего не делаем час. flDataFile = SD.open("-NKK-LOG.GPS", FILE_WRITE); // Файл для записи: if (!flDataFile) // если не получается открыть delay(3600000); // ничего не делаем час. } void loop() {} void serialEvent() { // Авто. вызываетcя при поступлении новых данных. while (Serial.available()) { // Пока в последовательном порту есть данные, btReaded = Serial.readBytesUntil("\n", chGpsLint, 128); // читаем строку, if (btReaded > 45) // если её длинна не менее стольки символов, flDataFile.write(chGpsLint, btReaded); // пишем данные в файл. } flDataFile.flush(); // Сбрасываем файловый буфер. }

Ловит текст по прерыванию. Изображённое на фото выше можно уже подключать к аккумулятору и использовать, но нужно доделать изделие!

Для монтажа было решено использовать , но пережде, чем монтировать, не лучше ли подумать, как будут располагаться элементы - Fritzing в помощь!


Самое сложное было - дорисовывать плату, но лучше потратить время у экрана компьютера, чем еще больше с паяльником, выбирая оптимальное расположение элементов.
«Хижина» слева - адаптер MicroSD->SD карт памяти;
светодиоды справа вверху: 3 для каданса и один для индикации состояния устройства (сбой при обращении к карте, сбой при создании файла, ожидание данных с GPS), сопротивление будет SMD на землю;
GPS-модуль не изображён: он располагается с обратной стороны платы;
там же будет и батарея питания;
справа внизу - jack-3.5 для подключения геркона, в корпусе возле его расположения нужно будет просверлить отверстие.
Приступил к сборке, размер платы оказался как раз по размеру корпуса. Здаётся мне, я её под этот корпус и выбирал… В креплении модулей внутри корпуса, мне поможет термоклей! Сначала хотел лепить батарею к корпусу:


Но особенности конструкции определи, что её лучше располагать на плате:


Затем к плате (так, чтобы ложиться рядом с батареей) был прикреплен GPS-модуль и его антенна, из-за нехватки места, пришлось снять с антенны «экран»:


Для пущей удобности извлечения, к плате была припаяна «ручка»:


Изначально я планировал крепить модуль Ардуино через разъёмы, но т.к высоты корпуса не хватало, и больше пилить или резать ничего не хотелось, решил припаять его к плате прикольным способом:


Впервые такой монтаж платы на плату я увидел в Bluetooth-модуле - получилось прикольно. Единственный минус - безболезненно снять обратно получится только феном. Для перепрошивки напаяю ещё контактов - плата большая.
Правильно припаять адаптер карты памяти мне помогла иллюстрация, приведённая выше , 2 раза перепаивал, на третий запомнил расположение контактов =)


Термоклеем фиксируем для удобства:

^-под адаптером расположены контакты питания GPS-модуля, соединяющиеся перемычкой: через перемычку питание происходит от линейного стабилизатора ардуино. При подключении к GPS-модулю по UART, перемычку можно снять чтобы Ардуино не перехватывала интерфейс.


После включения, GPS выдал время по Гринвичу на через 80 секунд, а данные о позиции - через 14 минут! Много, но это только с балкона.
После коммутации и припаивания светодиодов и конденсатора к RAW (28uF, на всякий случай, найден «лишних» деталях):

^- для подключения к программатору на плате торчат контакты.
С обратной стороны упомянутая выше перемычка позволяет отключать GPS-молуль при работе с Ардуино или Адруино при работе с GPS-модулем через UART-программатор:

^- отдельно выведены контакты для удобства подключения к GPS.

Крышка, в которой закрепляется плата, накладывается на дно и фиксируется (пока резинками из камеры). Дно, в свою очередь, крепится на руль, для этого имеется 4 отверстия в вершинах прямоугольника:


Ряд отверстий с краю нужен для светодиодов индикации, но они еще будут настраиваться: либо поправлю светодиоды внутри, либо заклею отверстия прозрачным термоклеем, пока не решил. С лицевой стороны корпуса приклеена :


Дно крепится на руль:


Снизу цепляется «крышка» (и превращается в дно):


После закрепления на руле, «дно» уже не снимается, а устройство остаётся в крышке, его можно снять и использовать отдельно для отладки или записи трека, например, пробежки.

Три синих светодиода-индикатора каденса загораются по такой схеме:
[Светодиоды] [ * * * ] 130 + [ * * ] 120 [ * ] 110 [ * * ] 100 [ * ] 90 [ * * ] 80 [ * ] 70 70 - [Каденс]

Из того, «что предстояло сделать»:
- после , было принято решение отключать программно;
- модуль повышения напряжения убран, потребляемый ток - в районе 95-125 мА - это почти в 2 раза меньше, по сравнению с и там не было светодиодов, каждый из которых потребляет 10-15 мА;
- SD подключена напрямую;
- расположение светодиодов и элементов внутри корпуса конфликтует со стремлением сделать универсальную/разборную систему на плате - в результате корпус остался тем же и батарею в нём почти некуда воткнуть =)

Исходный код

/** * По многочисленным просьбам * публикую долгожданный исходник, * без индикаторов каденса. * Один светодиод (17) горит в начале работы * до получения первой NMEA-строки длиной 70 символов. */ #include #define FILE_NM "-NKK-LOG.GPS" #define SER_SP 9600 #define RED_ON PORTC |= 0b000001000 // Зажигаем или #define RED_OFF PORTC &= 0b111110111 // тушим красный светодиод. volatile word wTotRev, // Общее количество оборотов педалей; wTotRevLastWtd = 0; // последнее, записанное в лог. File flNMEA; // Файл для записи GPS-строк. char chNMEA; // Переменная для хранения GPS-строки, byte btReaded; // её длина. bool bWaitingGps = true; // Флаг ожидания первых актуальных данных GPS. void setup() { delay(800); // При включении возможен дребезг контактов питания. pinMode(17, OUTPUT); // Светодиоды состояния устройства. while (!SD.begin()) { // Пока SD-карта не обнаружена, RED_ON; delay(150); // мигаем. RED_OFF; delay(500); } flNMEA = SD.open(FILE_NM, FILE_WRITE); // Проверка работы с файлами. if (!flNMEA) // Если ошибка при открытии файла while (true) { // мигаем по 2 раза. RED_ON; delay(150); RED_OFF; delay(150); RED_ON; delay(150); RED_OFF; delay(500); } Serial.begin(SER_SP); // Стартуем работу с GPS-датчиком. RED_ON; } // setup() // void loop() { } // loop() // void serialEvent() { // Автоматически вызываетcя при поступлении новых данных. while (Serial.available()) { // Пока в последовательном порту етсь данные, читаем. btReaded = Serial.readBytesUntil("\n", chNMEA, 128); if (bWaitingGps) { // Если GPS еще не выдаёт актуальные данные, if (btReaded > 70) { // проверяем их. bWaitingGps = false; RED_OFF; flNMEA.write(chNMEA, btReaded); } } else if (btReaded > 0) // Если GPS ранее выдал актуальные данные, flNMEA.write(chNMEA, btReaded); // пишем в файл. } flNMEA.flush(); // Сбрасываем файловый буфер. } // serialEvent() //

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +21 Добавить в избранное Обзор понравился +16 +36