Компьютерный мастер - Allcorp66

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

Ниже мы постараемся рассмотреть различные модели микроконтроллеров.

Слово Uno переводится с итальянского языка, как «один». Устройство названо в связи с началом выпуска Arduino 1.0. Другими словами, Uno является эталонной моделью для всей платформы типа Arduino. Это последнее устройство в серии плат USB, доказавшее свою эффективность и проверенное временем.

Arduino Uno создано на микроконтроллере типа ATmega 328 (datasheet).

Его состав следующий:

  • количество цифровых входов и выходов составляет 14 (а шесть из них имеется возможность использовать как выходы ШИМ);
  • число аналоговых входов составляет шесть;
  • 16 МГц – кварцевый резонатор;
  • имеется разъём для питания;
  • есть разъём, предназначенный для ICSP-программирования внутри самой схемы;
  • присутствует кнопка для сброса.

Крайне важно отметить, что отличительной особенностью всех новых плат arduino является использование для интерфейсов USB–UART микроконтроллера типа ATmega 16U2 (или ATmega 8U2 в версиях R1, R2) вместо устаревшей микросхемы типа FTDI.

Плата Uno по версии R2 снабжается дополнительным подтягивающим к земле резистором на линии HWB применяемого микроконтроллера.

Распиновка выглядит следующим образом:

  1. Последовательный интерфейс использует шины №0 (RX – получение данных), №1 (TX – передача данных).
  2. Для внешнего прерывания используются выводы №2, №3.
  3. Для ШИМ используются выводы за номерами 3,5, 6, 9, 10, 11. Функция analog Write обеспечивает разрешение в 8 бит.
  4. Связь посредством SPI: контакты №10 (SS), №11 (MOSI), №12 (MISO), №13 (SCK).
  5. Вывод №13 запитывает светодиод, который загорается при высоком потенциале.
  6. Uno оснащена 6 аналоговыми входами (A0 – A5), которые имеют разрешение в 10 бит.
  7. Для изменения верхнего предела напряжения используется вывод AREF (функция analog Reference).
  8. Связь I2C (TWI, библиотека Wire) осуществляется через выводы №4 (SDA), №5 (SCL).

Устройство построено на микроконтроллере АTmega16U2 и имеет повышенный уровень помехоустойчивости по цепи сброса.

Устройство отличается от предыдущей версии лишь тем, что в этом случае не используется интерфейс USB-UART FTDI при подключении к компьютеру. Эту задачу выполняет выполняет сам микроконтроллер ATmega 16U2.

Изменения распиновки платы выглядят следующим образом:

  1. Возле вывода AREF добавлены два пина: SDA, SCL.
  2. Возле пина RESET также добавлены два вывода: IOREF, позволяющий подключать платы расширения с подстройкой под необходимое напряжение; второй вывод не используется и находится в резерве.

2. Плата Arduino Mini

Является одной из самых простых и удобных устройств Arduino.

Используется микроконтроллер ATmega 168 с рабочим напряжением на 5 вольт с частотой в 16 МГц. Максимальное напряжение питания в моделях составляет 9 вольт. Значение максимального тока на выводах составляет 40 mA.

Плата содержит:

  • 14 цифровых выводов (из них 6 могут быть использованы в качестве ШИМ-выходов), могут применяться в качестве как входа, так и выхода;
  • 8 аналоговых входов (4 из них оснащены выводами);
  • 16 МГц – кварцевый генератор.

Пины устройства Arduino Mini имеют следующее предназначение:

  1. Два вывода, посредством которых осуществляется питание платы «плюс»: RAW, VCC.
  2. Вывод контакта «минус» – пин GND.
  3. Выводы под номерами 3, 5, 6, 9, 10, 11 используются для ШИМ при применении функции analog Write.
  4. К выводам №0, №1 можно подключать другие устройства.
  5. Аналоговые входы №0 – №3 с выводами.
  6. Аналоговые входы №4 – №7 не имеют выводов и требуют пайки при необходимости.
  7. Вывод AREF, который предназначен для изменения верхнего напряжения.

Расположение выводов в различных версиях arduino mini могут различаться.

3. Плата Arduino Mega 2560

Устройство Arduino Mega 2560 собрано на микроконтроллере ATmega 2560 (datasheet), является обновлённой версией Arduino Mega.

Для осуществления преобразования USB–UART-интерфейсов используется новый микроконтроллер ATmega 16U2 (либо ATmega 8U2 для версий плат R1 или R2).

Состав платы следующий:

  • количество цифровых входов/выходов составляет 54 (15 из них можно использовать в роли выходов-ШИМ);
  • число аналоговых входов – 16;
  • реализация последовательных интерфейсов производится посредством 4 аппаратных приёмопередатчиков UART;
  • 16 МГц – кварцевый резонатор;
  • USB-разъём;
  • питающий разъём;
  • внутрисхемное программирование осуществляется через ICSP-разъём;
  • кнопка для сброса.

В устройстве Mega 2560 R2-версии добавлен специальный резистор, подтягивающий HWB-линию 8U2 к земле, что позволяет значительно упростить переход Arduino в DFU-режим, а также обновление прошивки. Версия R3 незначительно отличается от предыдущих. Изменения в устройстве следующие:

  • добавлены четыре вывода – SCL, SDA, IOREF (для осуществления совместимости по напряжению различных расширительных плат) и ещё один резервный вывод, пока не используемый;
  • повышена помехоустойчивость по цепи сброса;
  • увеличен объём памяти;
  • ATmega8U2 заменён на микроконтроллер ATmega16U2.

Выводы предназначаются для следующего:

  1. Имеющиеся цифровые пины могут служить входом-выходом. Напряжение на них – 5 вольт. Каждый пин обладает подтягивающим резистором.
  2. Аналоговые входы не оснащены подтягивающими резисторами. Работа основана на применении функции analog Read.
  3. Количество выводов ШИМ составляет 15. Это цифровые выводы №2 – №13, №44 – №46. Использование ШИМ производится через функцию analog Write.
  4. Последовательный интерфейс: выводы Serial: №0 (rx), №1 (tx); выводы Serial1: №19 (rx), №18 (tx); выводы Serial2: №17 (rx), №16 (tx); выводы Serial3: №15 (rx), №14 (tx).
  5. Интерфейс SPI оборудован выводами №53 (SS), №51 (MOSI), №50 (MISO), №52 (SCK).
  6. Вывод №13 – встроенный светодиод.
  7. Пины для осуществления связи с подключаемыми устройствами: №20 (SDA), №21 (SCL).
  8. Для внешних прерываний (низкий уровень сигнала, другие изменения сигнала) используются выводы №2 , №3, №18, №19, №20, №21.
  9. Вывод AREF задействуется командой analog Reference и предназначается для регулирования опорного напряжения аналоговых входных пинов.
  10. Вывод Reset. Предназначен для формирования незначительного уровня (LOW), что приводит к перезагрузке устройства (кнопка сброса).

4. Плата Arduino Micro

Arduino Micro представляет собой устройство, основа которого построена на микроконтроллере ATmega 32u4, имеющем встроенный USB-контроллер. Это решение упрощает подключение платы к компьютеру, так как в системе устройство будет определяться как обычная клавиатура, мышь либо COM-порт. Состав устройства следующий:

  • количество входов/выходов – 20 (имеется возможность 7 из них использовать как ШИМ-выходы, а 12 – в роли входов аналогового типа); резонатор кварцевый, настроенный на 16 МГц;
  • micro-USB-разъём;
  • ICSP-разъём, предназначенный для проведения внутреннего программирования;
  • кнопка для сброса.

Все цифровые выводы изделия могут работать в качестве как входов, так и выходов благодаря наличию функций digital Read, pin Mode, digital Write. Напряжение на выводах составляет 5 вольт. Максимальная величина потребляемого или отдаваемого тока с одного вывода составляет 40 мА. Выводы сопрягаются с внутренними резисторами, которые по умолчанию находятся в отключенном состоянии. Они имеют номиналы в 20 кОм – 50 кОм. Отдельные выводы arduino micro, кроме основных, способны выполнять и ряд дополнительных функций:

  1. В последовательном интерфейсе выводы №0 (RX), №1 (TX) применяются для приёма (RX), а также передачи (TX) необходимых данных через встроенный аппаратный приёмопередатчик. Функция актуальна для arduino micro класса Serial. В других случаях связь осуществляется через соединение USB (CDC).
  2. Интерфейс TWI включает выводы микроконтроллера №2 (SDA) и №3 (SCL). Позволяют использовать данные библиотеки Wire.
  3. Выводы под номерами 0, 1, 2, 3 могут быть использованы в роли источников возникающих прерываний. К таковым относятся низкий уровень сигнала; прерывания по фронту, по спаду, при изменении уровня сигнала.
  4. Выводы под номерами 3, 5, 6, 9, 10, 11,13 при использовании функции analog Write способны выводить аналоговый ШИМ-сигнал в 8 бит.
  5. К SPI-интерфейсу относятся выводы на разъёме ICSP. Они не соединяются с цифровыми выводами на плате.
  6. Дополнительный вывод RX LED/SS, который соединён со светодиодом. Последний индицирует процесс по передаче данных с использованием USB. Этот вывод может быть использован при работе с интерфейсом SPI для вывода SS.
  7. Вывод №13 – светодиод, который включается при отправке данных HIGH и выключается при значениях LOW.
  8. Выводы A0 – A5 (отмечены на плате) и A6 – A11 (соответствуют цифровым выводам за номерами 4, 6, 8, 9, 10,12) являются аналоговыми.
  9. Вывод AREF позволяет изменять верхнее значение аналогового напряжения на вышеуказанных выводах. При этом используется функция analog Reference.
  10. С помощью вывода Reset формируется низкий уровень (LOW) и происходит перезагрузка микроконтроллера (кнопка сброса).

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

Добрый день, 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

Arduino Micro не сильно отличается от своих собратьев. На плате расположены 12 аналоговых вводов и 20 цифровых вводов/выводов. 7 из них могут быть использованы как ШИМ выходы. Так же имеется кварцевый генератор с частотой 16 МГц, кнопка перезагрузки и разъем микро-USB. Основное отличие ардуино микро от заключается в самом микроконтроллере. Здесь использован ATmega32u4. Он имеет встроенную поддержку USB соединения. Благодаря этому Arduino Micro может определяться компьютером не только как последовательный COM порт, но и как периферийное устройство. Можно сказать что это уменьшенная копия

Версия Arduino Pro Micro отличается меньшими размерами и имеет 22 пина. Из них 5 могут быть использованы в качестве ШИМ выводов и 4 как аналоговые входы.

Arduino Pro Micro выглядит вот так:

Arduino Pro Micro

Arduino Micro

Так как ардуино микро и про микро практически не отличаются друг от друга, я расскажу подробнее про одну из них.

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

  • Микроконтроллер: ATmega32u4
  • Предельное напряжение питания: 5-20 В
  • Рекомендуемое напряжение питания: 7-12 В
  • Цифровых вводов/выводов: 20 (18 в Pro версии)
  • ШИМ: 7 цифровых пинов могут быть использованы как выводы ШИМ (5 в Pro версии)
  • Аналоговые выводы: 12 (4 в Pro версии)
  • Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов.
  • Flash память: 32 КБ
  • SRAM: 2,5 КБ
  • EEPROM: 1 КБ
  • Тактовая частота: 16 МГц

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

Этот микроконтроллер можно питать через порт micro-USB от компьютера, паувербанка или от адаптера, подключенного в розетку.Так же пин +5V является не только выводом, но и вводом. Можно подавать ток на него и все это будет работать только при условии, что напряжение подаваемого тока строго равно пяти вольтам!
Еще можно подавать постоянный ток с напряжением от 6 до 20 вольт на пин VIN. Это предельные значения! При подачи напряжения 20 вольт на плате будет сильно греться стабилизатор напряжения вплоть до выхода из стоя. Если же подавать 5 вольт, то ардуинка может вообще не заработать. Если и заработает то на цифровых пинах напряжение будет ниже 5 вольт. Это связанно с тем, что стабилизатор напряжения имеет не 100% КПД. Рекомендуемое напряжение для питания через пин VIN — от 7 до 12 вольт.


Как уже было написано выше, плата имеет 20 цифровых пинов. Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 5 В. Каждый из них имеет подтягивающий резистор и поданное на один из этих пинов напряжения ниже 5 вольт все равно будет считаться как 5 вольт (логическая единица).

Аналоговые входы: A0 — A5, A6 — A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Всего Micro имеет 12 аналоговых входов, причем входы с A0 по A5 маркированы непосредственно на выводах, а другие, к которым также можно получить доступ в программе с использованием констант с A6 до A11, распределены соответственно на цифровых выводах 4, 6, 8, 9, 10 и 12. Все они также могут использоваться в качестве цифровых вход/выходов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции . Эти пины измеряют напряжение с точностью до 0,005 В.

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

У ардуино микро есть 7 выводов ШИМ, это пины 3, 5, 6, 9, 10, 11 и 13. Для использования ШИМ у Arduino есть специальная функция .

Другие пины:

  • Пины 0 (RX) и 1 (TX) используются для передачи данных по последовательному интерфейсу.
  • Выводы для связи по интерфейсу SPI не подключены к цифровым пинам.
  • Так же на выводе D13 имеется встроенный в плату светодиод.
  • Пины 2 (SDA) и 3 (SCL) могут использоваться для связи с другими устройствами по шине I2C. Подробнее про этот интерфейс вы можете почитать на википедии . В среде разработке Arduino IDE есть встроенная библиотека «wire.h» для более легкой работы с I2C.

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

Arduino Micro имеет следующие размеры: длина 48 мм и ширина 18 мм. Однако разъем USB немного выпирает за пределы печатной платы. Arduino Micro весит всего около 12 грамм. Плата имеет 4 отверстия для возможности ее закрепления на поверхности. Расстояние между выводами равняется 2,54 мм.

Принципиальная схема Arduino Micro


Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: