Распиновка плат ардуино Arduino board pinmaping. Разные платы Arduino: распиновка и схема подключения Ардуино про микро распиновка

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 — платформа конструктор под создание проектов электроники. Проект Arduino содержит физическую печатную плату (программируемый микроконтроллер) плюс интегрированную среду разработки (IDE). Эта среда совместима с классическим ПК и успешно используется для написания компьютерного кода с последующей загрузкой на физическую плату. Платформа Arduino быстро завоевала популярность среди начинающих электронщиков. Это понятно, потому как конструктор Arduino неприхотлив в отношении аппаратного обеспечения. К тому же налицо форм-фактор, где все функции современного микроконтроллера разбиты на мелкие пакеты.

СОДЕРЖИМОЕ ПУБЛИКАЦИИ:

Конструктор Arduino: совершенству нет предела

Серия «Unos» виделась одной из самых популярных плат в , считалась отличным выбором для новичков. Но это видение исчезло с появлением SparkFun Pro Micro – как заявлено разработчиками, крутой новинки. Один чип на плате полностью перекрывает функциональность «Unos», «Duemilanoves» и «Diecimeillas». Посмотрим?

Обзор оборудования SparkFun Pro Micro

Прежде чем заниматься вопросами установки и применения SparkFun Pro Micro, рассмотрим конфигурацию платы с аппаратными причудами.

Также отметим, что первая часть наименования продукта — это всего лишь торговая марка известного магазина электроники, обслуживающего жителей США.

Контактный интерфейс печатной платы

Все входы/выходы микропроцессора SparkFun Pro Micro сосредоточены на двух параллельных кромках платы. Часть контактов предназначается для подвода или отвода линий питания. Другая часть контактов предназначена под функции системного ввода-вывода (I/O) – цифровые или аналоговые.

Схема расположения клеммных групп: PWM — интерфейс ШИМ; Analog — аналоговые сигналы; SPI — последовательный периферийный интерфейс; I2C — последовательная ассиметричная шина; Serial — линии сигналов TX/RX; Arduino — контактный шлейф материнки; Power — шина 3.3 или 5.0В

Функционал SparkFun Pro Micro останется «выключенным», пока линия сброса не возвратится к состоянию с высоким потенциалом.

Клемма GND, соответственно, является общей шиной платы конструктора, где присутствует цокольное напряжение (0В опорного напряжения) системы.

Клеммы системного ввода-вывода (I/O)

Плата содержит 18 клемм ввода/вывода, являющихся многофункциональными. Каждый вывод может использоваться как цифровой вход или выход, например, для светодиодной индикации или кнопочного переключения.


Плата соответствует своему названию «микро». Размеры текстолита, на котором размещены миниатюрные радиодетали, сопоставимы с размерами пятирублевой монеты

Эти контакты являются частью IDE и применяются для обращения к Arduino с помощью целочисленных значений от 0 до 21. (Контакты A0-A3 могут использовать под цифровой или аналоговый сигнал).

Девять контактов имеют аналого-цифровые преобразователи (АЦП) и могут использоваться как аналоговые входы. Они полезны для работы, к примеру, с потенциометрами или другими аналоговыми устройствами с использованием функции analogRead.

На плате SparkFun Pro Micro имеются пять контактов, поддерживающих передачу сигналов широтно-импульсной модуляцией (PWM), что позволяет использовать возможности аналоговых выходов с использованием функции analogWrite.

Отмеченные клеммы обозначены на плате конструктора круговым кантом белого цвета. Также доступны аппаратные клеммы: UART, I2C, SPI. Эта контактная группа предназначена для взаимодействия с цифровыми устройствами:

  • дисплеями ЖК,
  • радио-модулями XBee,
  • сенсорами IMU,
  • другими датчиками.

Плата конструктора SparkFun Pro Micro поддерживает пять внешних прерываний, которые позволяют мгновенно вызывать функцию триггера, при высоком или низком уровне потенциала на контакте (или и тем и другим).

Если назначается прерывание контакта, необходимо помнить о конкретных прерываниях, вызывающих действия триггера:

  • клемма 0 прерывание 2,
  • клемма 1 прерывание 3,
  • клемма 2 прерывание 1,
  • клемма 3 прерывание 0,
  • клемма 7 прерывание 4.

Конфигурация SparkFun Pro Micro предусматривает применение трёх светодиодов разного свечения: красного, жёлтого, зелёного. Красный светодиод в активном состоянии отображает наличие питания.


Светодиодная индикация состояния и линия сброса: 1 — индикатор желтого света; 2 — индикатор зелёного света; 3 — индикатор красного цвета; К1 — линия сброса

Два других светодиода указывают факт передачи данных через USB интерфейс. Желтый светодиод представляет данные USB, поступающие по каналу RX, а зеленый светодиод указывает отправление данных по каналу TX.

Напряжение питания и частота

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

В качестве альтернативы, когда нет никакой возможности применить USB-интерфейс, микроконтроллер SparkFun Pro Micro может питаться через контакты RAW или VCC.

Питание, поступающее через клемму RAW, регулируется до правильного (допустимого) рабочего уровня (5.0В или 3,3В). Максимальный порог входного напряжения RAW не должен превышать 12В.

Если подключение SparkFun Pro Micro осуществляется через клемму VCC, регулировка входного питания не предусматривается.


Вариант подключения энергии батарей на Про Микро, которым поддерживается рабочий вольтаж 5.0В. На адаптере используются четыре батареи по 1.5В

Поэтому клемму VCC разумно применять только в случае наличия источника питания с конкретным выходным уровнем – 3.3В или 5.0В. Кстати, 3.3-вольтную версию допускается питать от литий-ионных батарей или аккумуляторов иного типа.

Программатор микросхем SPI Flash на базе Arduino

Возможности конструктора Arduino в области базовой электроники безграничны. Между тем электронщикам этот конструктор должен быть интересен ещё и свойствами программатора.

Так, на базе платы расширения SparkFun Pro Micro с лёгкостью собирается широко распространённых SPI Flash микросхем 25 серий.


Схема программатора на основе платы расширения Arduino: U+ — индикатор рабочего состояния; RX — индикатор приёма данных; TX — индикатор передачи данных

На практике подтверждена успешная работа программатора на базе SparkFun Pro Micro с чипами:

  • PM25LD010
  • W25Q64FVSIG
  • 25P16VG,
  • MX25l8005
  • 25l8000
  • PM25lV512
  • 25Q128FVSG
  • 25L3206E

Для выполнения функций программного характера требуется софт программатора , а также системные библиотеки и скетч-файл . Здесь ПО для 64-битных версий Windows. Особенности монтажа: рекомендуется делать проводники максимально укороченные, скрученные в жгут.

Основополагающие принципы Arduino

Данный обзор я хочу посвятить конструкции PasswordKeeper на модуле Aruino Pro Micro (ATmega32U4). Проект предназначен для хранения, выбора и ввода в комп одного из множества паролей.
Про саму плату сложно что-то необычное сказать. Пришла быстро, упакована хорошо, монтаж аккуратный, работает без замечаний.

Основная проблема с микроконтроллерами для энтузиаста - это придумать, для чего их применить:)
Я давно хотел собрать что-нибудь мелкое и относительно полезное в хозяйстве. А тут коллега по работе подкинул интересную идею - ему лень было каждый день вводить пароль для входа в свой компьютер и он собрал на плате DigiSpark (ATTiny85) приспособу, которая отправляет имя и пароль в комп при нажатии на кнопку.
Получилось у него вот что:
Upd: Коллега выложил свой проект .

Отличная идея - подумал я. Почему бы ее не позаимствовать и творчески переработать. Пересобирать и перезагружать проект Arduino каждый раз при смене пароля - это неспортивно.
Кроме того, один пароль - это мало. Ведь можно сделать все гораздо сложнее и запутаннее! Игрушка должна показывать, как она работает. Но трех штатных светодиодов для этого явно мало, пусть их будет 4099! Так в проект добавился маленький дисплей .
Я все никак не мог придумать, куда его можно приспособить. А тут он идеально подошел по размеру и назначению. Еще потребуется пара кнопок - для управления.
Ресурсов ATTiny85 явно не хватало для проекта - добавление дисплея потянуло за собой графическую библиотеку+шрифты и все это в DigiSpark не влезало. Но поиск обнаружил подходящую платформу: Arduino Pro Micro.

Смысл проекта в том, что Aruino Pro Micro по умолчанию прикидывается USB клавиатурой и USB COM портом. Драйверы для этих устройств уже присутствуют в операционной системе - и ничего дополнительно устанавливать не надо. Конечно существуют всякие программы, которые где-то хранят в себе пароли, но они не могут их передать на экран логина тк пользователь еще не вошел в систему. Предлагаемое вашему вниманию PasswordKeeper имитирует нажатия кнопок клавиатуры и может передать логин и пароль в любом режиме компа. Даже Ctrl-Alt-Del послать может нажатием 1 кнопки вместо 3!

Формфактор выбранных модулей оказался очень удобным и компактным.
Можно с минимальными усилиями собрать маленькое и относительно полезное устройство.
Схема получается - проще некуда.

Быстро рукожопим макет и отлаживаем на нем скетч.

Но в таком виде пользоваться им неудобно, поэтому в Sketchup проектируем маленький корпус.

И печатаем его на 3D принтере

Как водится, поспешность нужна при ловле блох. В первый вариант корпуса плата не лезет!
Промахнулся с размерами и выбрал слишком маленькие зазоры. Исправляем чертеж, перепечатываем и получаем второй вариант. Уже лучше - плата входит тик-в-тик.

Нажимаем на контроллер и с характерным хрустом он встает на место.
Примеряем кнопочки - входят без проблем.

Кстати, я долго искал удобный монтажный провод для макетирования. Наш МГТФ конечно хорош, но не всегда удобен.В результате сейчас я пользуюсь присутствующем на предыдуших фото проводом от все тех же китайцев. проводами удобно выделять цепи по смыслу. Провод тонкий, изоляция хорошо держит температуру паяльника.
Не так как МГТФ конечно, но вполне прилично. Обычная ПВХ изоляция расползается при пайке сразу, а эта размягчается, но держит форму и выдерживает случайные прикосновения паяльником без проплавления до жилы. Единственный недостаток - многоцветная катушка сильно дороже при меньшем количестве провода.
Собираем все вместе и получаем маленький токен, который подключается к компу и позволяет управлять и пользоваться достаточно большим количеством логинов и паролей.

Число логинов ограничено размером памяти EEPROM (1024 байта) и длиной паролей.
Дисплей позволяет выбирать по комментарию нужную пару логин/пароль, а так же редактировать данные в токене. Редактировать пароли можно двумя кнопками. Редактор я к токену прикрутил, но пользоваться им - сущий мазохизм. Поэтому для редактирования данных пришлось написать программу для PC (если вдруг будете пользоваться - не забудьте перевести токен в режим работы с USB в его меню).

Общая идея устройства такая: Есть 1024 байта EEPROM. В этой области хранятся записи с данными - их число ограничено местом. Каждая запись состоит из отображаемого на дисплее комментария и 8 полей. Каждое поле может содержать в себе символы и коды нажатия спец кнопок (Ctrl,Shift,Del итд). Две записи условно названы Login и Password. По нажатию кнопки токен отправляет поочередно все поля записи в USB как будто они введены с клавиатуры. В полях вы можете разместить не только логин и пароль но и команды на запуск каких-либо программ.
Но основной режим - это все-таки имя и пароль.

Тк в плате у нас хранятся пароли надо хоть чуть-чуть позаботится о их безопасности.
Забота о безопасности поможет усложнить проект и придаст ему серьезности.
Для этого был добавлен пароль на разблокировку токена. Он представляет собой
задаваемую пользователем последовательность одиночных и двойных нажатий на кнопки.

Теоретически, можно еще зашифровать данные в EEPROM с помощью какого-либо криптоалгоритма - место под код еще есть. Но снаружи эти потуги незаметны и поэтому с криптографией я заморачиваться не стал.

Токен в обычном состоянии недоступен с компьютера. Для перевода его в режим редактирования необходимо физически выбрать соответствующий пункт в меню кнопками. Точно так же для отправки пароля требуется физически нажать кнопку. Так что злой хакер до ваших паролей в токене не доберется!
Он перехватит их c USB порта, когда вы будете их посылать как с USB клавиатуры;)

В результате получилась штуковина, в которой я храню пароли для входа на сайты банков и форумы.

Специально для коллеги все оставшиеся выводы платы запрограммировал для подключения кнопок быстрого доступа.При нажатии на такую кнопку происходит переход к логину с соответствующим номером (если он есть). И для отправки его на комп остается только нажать кнопку подтверждения. Или подержать кнопку быстрого доступа подольше.

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

Перед выходом на публику PwKeeper прошел тщательный выходной контроль:

Главинспектор был только что разбужен, но он все равно недоумЯвает - почему аудитории предлагается явно недоделанное устройство. Мои слова о том, что надо проверить правильность и качество монтажа (а при закрытой крышке это затруднительно) его не убедили.

Тем не менее (после шантажа сосиской) удалось убедить его выдать мне сертификат соответствия:
Одобренные исполняемые и загрузочные файлы выложил

Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, Радиомодуль NRF24L01, OKI 120A2, SD Card Module, Микросхема контроллера коллекторного электродвигателя, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Mini 360 на схеме LM2596, L293D, Инфракрасные датчики расстояния, Часы реального времени, HC-SR501, блок питания Mini 360 на схеме LM2596, Контроллер L298N, HC-SR501, GSM GPRS, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Модуль Wi-Fi ESP8266-12E, Card Module, Блок питания, Mini 360, L293D, блок питания Mini 360 на схеме LM2596, Радиомодуль, ИК-пульт дистанционного управления, ИК-пульт, Ethernet shield, Микросхема контроллера коллекторного электродвигателя, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, SD Card Module, Радиомодуль NRF24L01, двигатель OKI, L293D, Шаговый двигатель, Блок питания, L293D, блок питания Mini 360 на схеме LM2596, Карта памяти SD, Ethernet shield, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, Шаговый двигатель OKI 120A2, Шаговый двигатель,

Arduino MICRO

Микроконтроллер

Рабочее напряжение

5 В

7–12 В

Входное напряжение (предельное)

6–20 В

Цифровые входы/выходы

20 (7 из которых могут использоваться как выходы ШИМ)

Аналоговые входы

Постоянный ток через вход/выход

20 мА

Постоянный ток для вывода 3,3 В

50 мА

Флеш-память

32 Кбайт (ATmega32U4), при этом 4 Кбайт используются для загрузчика

ОЗУ

2.5 Kb (ATmega32U4)

EEPROM

1 Kb (ATmega32U4)

Тактовая частота

16 МГц

Длина

48 мм

Ширина

18 мм

Вес 13 г

13 г

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

Arduino Micro - это устройство на основе микроконтроллера ATmega32u4 (), разработанное совместно с В его состав входит все необходимое для удобной работы с микроконтроллером: 20 цифровых входов/выходов (из них 7 могут использоваться в качестве ШИМ-выходов, 12 - в качестве аналоговых входов), кварцевый резонатор на 16 МГц, разъем micro-USB, разъем ICSP для внутрисхемного программирования и кнопка сброса. Для начала работы с устройством достаточно просто подключить его к компьютеру посредством USB-кабеля. Устройство разработано таким образом, чтобы его можно было удобно размещать на макетной плате.

Как и в Leonardo, в Arduino Micro используется микропроцессор ATmega32u4 со встроенным контроллером USB. Такое решение исключает необходимость использования дополнительного контроллера, и при подключении к компьютеру позволяет Ардуино Micro определяться в системе как обычная мышь, клавиатура или виртуальный COM-порт.

Схема и исходный проект

Питание

Arduino Micro может быть запитан через USB или от внешнего источника питания - тип источника выбирается автоматически.

В качестве внешнего источника питания (не USB) может использоваться любой источник питания постоянного тока (DC) или обычный аккумулятор/батарея. Для этого выводы аккумулятора или DC-источника питания необходимо подсоединить к выводам Gnd и Vin.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7 В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12 В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12 В.

Основные выводы питания перечислены ниже:

  • VIn . Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно подавать внешнее питание.
  • 5V . Стабилизированный источник напряжения, используемый для питания микроконтроллера и других компонентов устройства. Это напряжение может поступать как от встроенного стабилизатора напряжения Vin, так и от USB или другого стабилизированного источника питания на 5В.
  • 3V . Питание 3.3В, формируемое встроенным стабилизатором напряжения. Максимальный выходной ток этого вывода составляет 50 мА.
  • Gnd Выводы земли.

Память

Объем памяти программ микроконтроллера ATmega32U4 составляет 32 КБ (из них 4 КБ отведены под загрузчик). Помимо этого, он имеет 2.5 КБ оперативной памяти SRAM и 1 КБ EEPROM (для взаимодействия с которой служит ).

Входы и выходы

С использованием функций , и каждый из 20 цифровых выводов может работать в качестве входа или выхода. Рабочее напряжение выводов составляет 5 В. Максимальный ток, который может отдавать или потреблять один вывод, равен 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Ардуино могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу посредством аппаратного приемопередатчика, встроенного в ATmega32U4. Обратите внимание, что в Arduino Micro класс Serial отвечает за передачу данных через USB (CDC)-соединение; для передачи данных через выводы 0 и 1 необходимо использовать класс Serial1 .
  • TWI: выводы 2 (SDA) и 3 (SCL). С использованием данные выводы позволяют осуществлять связь по интерфейсу TWI.
  • Внешние прерывания: выводы 0 (RX), 1 (TX), 2 и 3. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Для получения дополнительной информации см. функцию .
  • ШИМ: выводы 3, 5, 6, 9, 10, 11 и 13. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы разъема ICSP. C использованием данные выводы позволяют осуществлять связь по интерфейсу SPI. Обратите внимание, что в Arduino Micro линии SPI выведены только на разъем ICSP и на отдельные выводы MISO, MOSI и SCK, расположенные рядом с ним. При этом они не соединены с цифровыми выводами платы, как на Arduino Uno.
  • RX_LED/SS . Это дополнительный вывод, которого не было в Arduino Leonardo. Он соединен со светодиодом RX_LED, инициирующим процесс передачи данных через USB. Однако вместе с тем, он может также использоваться в качестве вывода SS при работе с SPI-интерфейсом.
  • Светодиод: вывод 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается.
  • Аналоговые входы: выводы A0 - A5, A6 - A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). В Arduino Micro всего есть 12 аналоговых входов: A0 - A5 (отмечены непосредственно на плате) и A6 - A11 (расположены на цифровых выводах 4, 6, 8, 9, 10 и 12 соответственно). Для обращения к этим выводам в программе можно использовать константы A0 - A11. Каждый из входов может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Однако, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию .

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией .
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Расположение выводов

Распиновка иллюстрирует функциональные возможности всех выводов Arduino Micro, что также позволяет использовать его как Arduino Leonardo.

Связь

Arduino Micro предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega32U4 имеется приемопередатчик UART, позволяющий осуществлять связь по последовательным интерфейсам посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер 32U4 поддерживает последовательную (CDC) связь через USB и при подключении к компьютеру может определяться как виртуальный COM-порт. При этом микросхема использует стандартные USB-COM драйвера и может работать в режиме USB 2.0 Full Speed. На платформе Windows необходим только соответствующий.inf-файл. В пакет программного обеспечения Ардуино входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных компьютеру через USB на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1 данные светодиоды не задействуются).

Micro может определяться как обычная клавиатура или мышь, и с помощью библиотек Keyboard и Mouse может быть запрограммирован на управление этими устройствами ввода.

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

Arduino Micro программируется с помощью программного обеспечения Ардуино (скачать). Для этого из меню Tools > Board необходимо выбрать "Arduino Micro". Для получения более подробной информации см. примеры .

ATmega32U4 в Arduino Leonardo выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по протоколу AVR109.

Автоматический (программный) сброс и запуск загрузчика

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Micro спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Сброс срабатывает после закрытия виртуального COM-порта, который предварительно был открыт на скорости 1200 бод. При срабатывании этого условия, процессор сбросится, разорвав USB соединение с компьютером (при этом виртуальный COM-порт исчезнет). После перезагрузки процессора, запускается загрузчик, оставаясь активным на протяжение приблизительно 8 секунд. Помимо этого, инициировать загрузчик можно, нажав кнопку сброса на плате Micro. Обратите внимание, что при первом включении устройства вместо запуска загрузчика, контроллер сразу перейдет к выполнению пользовательской программы (если таковая есть).

Из-за особенностей механизма сброса Micro, рекомендуется предоставлять программному обеспечению Ардуино возможность осуществить сброс перед загрузкой программы, особенно, если вы привыкли нажимать кнопку сброса при прошивке других плат. Если же программное обеспечение не сможет сбросить устройство, вы всегда сможете запустить загрузчик, нажав кнопку сброса вручную.

Защита USB от перегрузок

В Arduino Micro есть восстанавливаемые предохранители, защищающие USB-порт компьютера от коротких замыканий и перегрузок. Несмотря на то, что большинство компьютеров имеют собственную защиту, такие предохранители обеспечивают дополнительный уровень защиты. Если от USB-порта потребляется ток более 500 мА, предохранитель автоматически разорвет соединение до устранения причин короткого замыкания или перегрузки.

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

Максимальная длина и ширина печатной платы Micro составляет 4.8 см и 1.77 см соответственно, с учетом разъема USB, выступающего за пределы платы. Печатная плата устройства спроектирована таким образом, чтобы его можно было удобно размещать на беспаечной макетной плате.

Основные версии плат Arduino представлены следующими моделями:

Добрый день, MySKU!
Сегодня мы продолжим изучение такой замечательной штуки как Arduino, путем использования модификации Pro Micro в очередной безумной поделке! В очередной раз убедимся, что ардуино это не только скучно, но и весело. Также мы научимся оживлять старые геймпады и подключать их к ПК и даже создавать свои собственные устройства ввода! Если вам интересно, то заходите под кат!

09.01.2015 Небольшой апдейтик + новое видео.

Вступление

Отпраздновав новый год, отдохнув пару дней, и поиграв с детьми в снежки, приходишь к тому, что выходных еще много, а делать уже ну совсем нечего… А что делает настоящий мужчина когда он устает лежать на диване? Правильно! - продолжает лежать на диване, но вот беда: в этом году я бросаю курить! И бросается ну очень тяжело… И вот когда настроение стало уже совсем ни к черту, и единственным желанием было желание кого-нибудь убить, я решил перебрать посылки полученные незадолго до нового года и в одной из посылок находилась вот эта маленькая прелесть

Arduino Pro Micro


Посмотрев на нее, в голове появился зачаток идеи, который в конечном итоге привела к весьма интересному результату…

Заказать малюток хотелось давно, но почему-то постоянно откладывал покупку, а сейчас, таки, заказал себе парочку.

Заказ

О продавце сказать ничего не могу - абсолютно обычный продавец ардуин, коих тысячи - характер строгий, нордический. Отправлен заказ был вовремя, доставлен не сказать чтобы очень быстро.

Упакованы платы были в антистатические пакетики, которые находились в небольшой картонной коробочке.

Адруино Мега, Нано, Микро

Прелесть этой версии Ардуино в том, что USB интерфейс на ней реализован силами самого контроллера ATmega32u4, что дает нам возможность настроить USB интерфейс так, что при подключении плата будет распознаваться как стандартное HID устройство (клавиатура, мышь и… геймпад) и даже больше, энтузиасты активно работают над расширением данного списка.

Часть первая

Пораскинув мозгами, и немного порывшись в коробке с моими сокровищами старым хламом, сразу наметился план знакомства с данной функциональностью.

А нашел я старый геймпад от Sony PlayStation

Ну и что тут думать? Будем собирать геймпад…

«Железная» часть

Разбираем устройство

Вполне типичный китайский геймпад с безымянным чипом под компаундом. Схема простая - один общий контакт проводящими подушечками в кнопках соединяется с сигнальными контактами на кнопках.

Отрываем кабель, он нам больше не нужен. И припаиваемся к контактным площадкам на кнопках, и общему контакту.

Процедура простая, главное - быть аккуратным.

Для полноты эксперимента я решил приклеить на плату небольшой потенциометр, которым я проверю работу аналоговых осей в будущем геймпаде.

Подключение потенциометра к ардуинке - простейшая задача. Один крайний контакт подключаем к 5 вольтам, второй к земле, а центральный подаем на один из аналоговых пинов, например - A0

Припаяв все провода к контактам, я разместил кнопки и плату на своих местах, а провода вывел с обратной стороны платы

Спереди я просверлил дырочку для потенциометра

Ардуино я разместил также с обратной стороны и припаял провода от кнопок к цифровым пинам, а общий провод припаял к земле.

Закрепил все термоклеем

Примерил где будет располагаться вход Usb контроллера

И прорезал дырочку в корпусе, чтобы иметь к нему доступ.

Закрыл корпус и приступил к программной части

Программная часть

А вот тут случилась заминка и добрую половину дня я убил на поиски библиотеки, и главное - попытки установить её.

Мной была обнаружена замечательная библиотека от NicoHood

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

Supported HID devices:

Keyboard with Leds out (modifiers + 6 keys pressed at the same time)
Mouse (5 buttons, move, wheel)
Media Keys (4 keys for music player, webbrowser and more)
System Key (for PC standby/shutdown)
1 Gamepad (32 buttons, 4 16bit axis, 2 8bit axis, 2 D-Pads)
Supported Arduinos:

Uno
Mega
Leonardo
(Pro)Micro
Any other 8u2/16u/at90usb162/32u2/32u4 compatible board

Скачиваем распаковываем и запускаем arduino.exe

В меню Инструменты\плата выбираем Arduino Micro Hid-Project

В меню Инструменты/USB-cores выбираем желаемый режим работы, в нашем случае serial + gamepad hid

Что заставит нашу ардуину определятся как геймпад

Ими написан монструозный комбайн-приложение, которое вытягивает из игр различные данные, будь то показания спидометра или тахометра, либо значения перегрузок по осям, крен и еще очень много параметров. Затем это приложение выполняет с ними нужные вам преобразования и отправляет на ваше железо. В роли железа выступают различного рода индикаторы и ДАЖЕ САМОДЕЛЬНЫЕ СИМУЛЯТОРНЫЕ УСТАНОВКИ С КУЧЕЙ ОСЕЙ. Я был просто поражен при виде всего этого - это потрясающе!

Порывшись в галерее на портале нашел скетч для ардуино и профиль для x-sim, который выполняет функционал близкий к тому, что требовалось мне

Спасибо товарищу tronicgr за то, что он поделился своим профилем и скетчем. Самостоятельно с нуля разбираться в X-sim мне пришлось бы долго.

Итак, взяв за основу прошлый скетч я приступил к написанию нового. Можете скачать его отсюда

В первой части мы подключаем библиотеку FastLed и указываем количество диодов на ленте и пин, к которому она подключена. Также мы указываем пины для кнопок и осей и объявляем переменные

В фунции setup мы инициализируем serial соединение с компьютером на скорости 115200, настраиваем яркость ленты и включаем встроенную подтяжку для цифровых входов. Ну и в самом конце инициализируем геймпад.

В главном цикле идет даже немного упрощенный код для геймпада из прошлого примера

Затем идет код взятый с портала x-sim, в котором ардуина получает данные из serial шины и записывает их в буфер, а затем разбивает по переменным, масштабирует данные о количестве оборотов до 8 (по количеству диодов на ленте) и сообщает, что данные получены

Затем в зависимости от полученных данных мы зажигаем нужное количество диодов с необходимым цветом и отправляем команду на ленту.

Отправляем скетч.

Скачав последнюю версию программы x-sim, устанавливаем её (лучше сразу удалить из папки с установленной программой папку «interfaceplugins» , чтобы избежать ненужной долгой проверки всех интерфейсов при запуске), открываем профиль скачанный с форума по ссылке выше, это автоматически настроит программу на получение нужных данных. Открываем программу «X-sim Conveter» и в разделе Output -> universal serial output сверху выбираем нашу микро и жмем «add entry to list» и внизу копируем строчку с шаблоном данных из стандартного порта профиля в такую же строчку но в порт нашей ардуины, старый порт можно удалить после этого. Цифра «95» в шаблоне (на скриншоте 77) - это максимальные обороты поделенные на 100, к сожалению придется забивать руками под вашу игру, я использовал значения 75-80 для Dirt 2.

Запускаем вторую половину программы «X-sim Extractor» она автоматически просканирует компьютер на наличие совместимых игр и создаст их список слева. После этого для каждой игры можно отключить передачу данных на приводы и прочее, хотя это и не мешает.

Все! Если все собрано и настроено, то можно выбрать игру и жать кнопку «Play Game» , и в момент запуска или после него надо нажать кнопку старт в «X-sim Converter».

Пользуясь данными библиотеками и примерами описанными здесь можно создать любой, даже самый безумный контроллер для вашего ПК или андроид устройства (да да, устройство должно определиться как стандартное устройство ввода) с любыми датчиками: температуры, пульса, давления, ну и датчиком влажности, например для игры в хоррор;-). Подключайте старые геймпады от денди и играйте в эмуляторы на родных для игр контроллерах. А если у вас есть большое желание, то можете даже собрать полноценный симулятор пользуясь замечательной программкой x-sim. Проявите фантазию!

Апдейт

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

В Dirt 3 наблюдается странный и заметный input lag, не знаю откуда и почему, возможно что-то с настройками игры или баг (все-таки это баг игры, я нашел похожие отзывы в гугле).

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

Вот новое видео (возможно будет некоторое время обрабатываться ютюбом)

+170 +325



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: