Arduino Micro и Arduino Pro Micro
Arduino Micro не сильно отличается от своих собратьев. На плате расположены 12 аналоговых вводов и 20 цифровых вводов/выводов. 7 из них могут быть использованы как ШИМ выходы. Так же имеется кварцевый генератор с частотой 16 МГц, кнопка перезагрузки и разъем микро-USB. Основное отличие ардуино микро от ардуино нано заключается в самом микроконтроллере. Здесь использован ATmega32u4. Он имеет встроенную поддержку USB соединения. Благодаря этому Arduino Micro может определяться компьютером не только как последовательный COM порт, но и как периферийное устройство. Можно сказать что это уменьшенная копия Arduino Leonardo
Версия Arduino Pro Micro отличается меньшими размерами и имеет 22 пина. Из них 5 могут быть использованы в качестве ШИМ выводов и 4 как аналоговые входы.
Arduino Pro Micro выглядит вот так:
Arduino Pro MicroArduino 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 вольт.
Распиновка Arduino Micro
Распиновка Arduino MicroКак уже было написано выше, плата имеет 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 при использовании функции analogRead(). Эти пины измеряют напряжение с точностью до 0,005 В.
Широтно-импульсная модуляция (ШИМ) Arduino Micro
У ардуино микро есть 7 выводов ШИМ, это пины 3, 5, 6, 9, 10, 11 и 13. Для использования ШИМ у Arduino есть специальная функция analogWrite().
Другие пины:
- Пины 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
Схема Arduino Microall-arduino.ru
Arduino Micro: схема, распиновка портов
Плата Arduino Micro – это аналог Leonardo, помещенный на миниатюрной плате. Читайте в обзоре: характеристики, распиновка портов и схема Ардуино Микро.
Arduino Micro – полный аналог микроконтроллера Arduino Leonardo, но помещенный на миниатюрной плате. Компактность платы обеспечена отсутствием гнезда внешнего питания, а для подключения Ардуино Микро используется разъем mini-USB или порт Vin. Что еще важно знать о распиновке портов, принципиальной схеме Arduino Micro, характеристиках и программировании платформы, читайте далее в этом обзоре.
Arduino Micro: распиновка платы
Плата Arduino Micro Leonardo построена на базе микропроцессора ATmega32u4 и имеет небольшие размеры – 48х177 мм. Но при этом на плате имеется 6 аналоговых входов A0-A5, 14 портов входа – выхода общего назначения из которых 7 портов работают в качестве источника ШИМ сигнала, а еще 6 портов работают в качестве аналогового входа. Таким образом, всего на Arduino Micro USB целых 12 аналоговых входов.
Распиновка Micro от платы Arduino Nano в том, что процессор ATmega32u4 имеет поддержку USB соединения и может определяться в качестве периферийного устройства на компьютере (клавиатура, джойстик, геймпад или компьютерная мышка). Все прочие характеристики Micro Arduino, кроме принципиальной схемы и габаритов платы, полностью идентичны микроконтроллеру Arduino Leonardo.
Характеристики платы Arduino Micro
- Микроконтроллер: ATmega32u4
- Тактовая частота: 16 МГц
- Входное напряжение питания: 7–12 В
- Напряжение логических уровней: 5 В
- Портов ввода-вывода общего назначения: 20
- Максимальный ток с порта вывода: 40 мА
- Максимальный выходной ток 5V: 800 мА
- Максимальный выходной ток 3.3V: 50 мА
- Портов с ШИМ: 7
- Портов с АЦП: 12
- Разрядность АЦП: 10 бит
- Объем Flash-памяти: 32 КБ
- Объем EEPROM-памяти: 1 КБ
- Объем оперативной памяти: 2,5 КБ
- Размеры Micro Arduino: 48×177 мм
Arduino Micro: схема электрическая
Принципиальная схема Arduino MicroArduino Mini: питание, порты ввода
Питание на плату может подаваться через USB от компьютера или другого устройства или от внешнего источника питания через порты GND и VIN. Микро может работать при напряжении питания от 6 до 20 Вольт, но рекомендуемое напряжение 9-12 Вольт. При низком напряжении на портах вывода может поступать менее 5 В, а при высоком напряжении может сгореть встроенный стабилизатор напряжения и сама плата.
Arduino Micro: питание от внешнего источника
5V – на порт подается напряжение 5 Вольт
3.3V – на порт подается напряжение 3.3 Вольт
GND – общее заземление (вывод земли)
VIN – порт служит для подачи напряжения
IREF – порт служит для информирования о напряжении платы
Плата Arduino Micro: driver, прошивка
Программирование Ардуино Микро не требует установки драйверов и производится в Arduino IDE, которую можно скачать на сайте www.arduino.cc. Для подключения датчиков к Arduino Micro используются коннекторы, которые подключаются к портам ввода — вывода. Для изучения языка Arduino IDE в разделе «Уроки для начинающих» есть множество примеров со скетчами для прошивки Arduino Micro.
Плата поддерживает три типа памяти:
Flash – память объемом 32 кБ, используется для хранения скетчей. Когда плата Leonardo прошивается, скетч записывается именно во Flash – память.
SRAM память — оперативная память объемом 2,5 кБ. Здесь хранятся переменные, создаваемые в скетче, при отключении питания все данные удалятся.
EEPROM — энергонезависимая память объемом 1 кБ. Здесь можно сохранять различные данные, которые не исчезнут при отключении питания от платы.
xn--18-6kcdusowgbt1a4b.xn--p1ai
Опять «Безумные эксперименты» или обзор Arduino Pro Micro
Добрый день, MySKU!Сегодня мы продолжим изучение такой замечательной штуки как Arduino, путем использования модификации Pro Micro в очередной безумной поделке! В очередной раз убедимся, что ардуино это не только скучно, но и весело. Также мы научимся оживлять старые геймпады и подключать их к ПК и даже создавать свои собственные устройства ввода! Если вам интересно, то заходите под кат!
09.01.2015 Небольшой апдейтик + новое видео.
Вступление
Отпраздновав новый год, отдохнув пару дней, и поиграв с детьми в снежки, приходишь к тому, что выходных еще много, а делать уже ну совсем нечего… А что делает настоящий мужчина когда он устает лежать на диване? Правильно! — продолжает лежать на диване, но вот беда: в этом году я бросаю курить! И бросается ну очень тяжело… И вот когда настроение стало уже совсем ни к черту, и единственным желанием было желание кого-нибудь убить, я решил перебрать посылки полученные незадолго до нового года и в одной из посылок находилась вот эта маленькая прелесть
Arduino Pro Micro
Посмотрев на нее, в голове появился зачаток идеи, который в конечном итоге привела к весьма интересному результату…
Заказать малюток хотелось давно, но почему-то постоянно откладывал покупку, а сейчас, таки, заказал себе парочку.
Заказ
О продавце сказать ничего не могу — абсолютно обычный продавец ардуин, коих тысячи
Отправка 2 декабря, получение 25 декабря.
Упакованы платы были в антистатические пакетики, которые находились в небольшой картонной коробочке.
Адруино Мега, Нано, Микро
Прелесть этой версии Ардуино в том, что USB интерфейс на ней реализован силами самого контроллера ATmega32u4, что дает нам возможность настроить USB интерфейс так, что при подключении плата будет распознаваться как стандартное HID устройство (клавиатура, мышь и… геймпад) и даже больше, энтузиасты активно работают над расширением данного списка.
Часть первая
Пораскинув мозгами, и немного порывшись в коробке с
А нашел я старый геймпад от Sony PlayStation
Ну и что тут думать? Будем собирать геймпад…
«Железная» часть
Разбираем устройство
Вполне типичный китайский геймпад с безымянным чипом под компаундом. Схема простая — один общий контакт проводящими подушечками в кнопках соединяется с сигнальными контактами на кнопках.
Отрываем кабель, он нам больше не нужен. И припаиваемся к контактным площадкам на кнопках, и общему контакту.
Процедура простая, главное — быть аккуратным.
Для полноты эксперимента я решил приклеить на плату небольшой потенциометр, которым я проверю работу аналоговых осей в будущем геймпаде.
Подключение потенциометра к ардуинке — простейшая задача. Один крайний контакт подключаем к 5 вольтам, второй к земле, а центральный подаем на один из аналоговых пинов, например — A0
Припаяв все провода к контактам, я разместил кнопки и плату на своих местах, а провода вывел с обратной стороны платы
Спереди я просверлил дырочку для потенциометра
Ардуино я разместил также с обратной стороны и припаял провода от кнопок к цифровым пинам, а общий провод припаял к земле.
Закрепил все термоклеем
Примерил где будет располагаться вход Usb контроллера
И прорезал дырочку в корпусе, чтобы иметь к нему доступ.
Закрыл корпус и приступил к программной части
Программная часть
А вот тут случилась заминка и добрую половину дня я убил на поиски библиотеки, и главное — попытки установить её.
Мной была обнаружена замечательная библиотека от NicoHood https://github.com/NicoHood/HID/tree/Official-Integration
Возможности:
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
Это именно то, что мне нужно!
Далее я никак не мог её правильно установить и заставить работать… Дабы вам не проходить через это, я выкладываю уже настроенную ArduinoIDE 1.5.8 с уже установленной библиотекой https://yadi.sk/d/lDxVt7r1dr8T5
Скачиваем распаковываем и запускаем arduino.exe
В меню Инструменты\плата выбираем Arduino Micro Hid-Project
В меню Инструменты/USB-cores выбираем желаемый режим работы, в нашем случае serial + gamepad hid
Что заставит нашу ардуину определятся как геймпад
Открываем вот этот скетч https://yadi.sk/d/DQ8kiJVedr8ea
, это немного модифицированный скетч из примеров библиотеки, в который я добавил свою аналоговую ось
Скетч довольно простой.
В первой части мы назначаем пинам кнопки
В setup мы включаем встроенную подтяжку для цифровых пинов и инициализируем геймпад
Ну и собственно в основном цикле мы опрашиваем пины и записываем состояние кнопок. Также мы получаем данные с аналогового входа и преобразовываем полученные восьмибитные значения в 16 бит для отправки на ПК. Ну и последнее — отправляем состояние геймпада.
Просто до невозможности! Данным способом вы можете подключить свои старые геймпады, джойстики, клавиатуры и прочее от приставок к своему ПК, лишь немного модифицируя данный скетч! Ну разве не прелесть?
Тесты
Время тестов!
Ха-ха! Работает! И даже драйвера не нужны!
Часть вторая
Поиграв, забросил все в ящик и пошел спать… А утром проснулся уже с новой идеей и желанием её осуществить. Опять основательно порывшись в барахле, собрал необходимые для сборки материалы. Немного творческой работы, ручного труда и поисков в гугл и сборка была окончена.
Встречайте! Полностью самодельный аналоговый руль для ПК со шкалой тахометра!
Ну как вам?
А теперь я расскажу как создавалось сие изделие
«Железная» часть
Для начала я сделал раму из листа алюминия, согнув его и просверлив одно отверстие на короткой стороне для потенциометра, а второе прямо напротив него на длинной стороне (через него пойдет ось руля). Получилось не очень прямо — трудно согнуть толстый лист. Установил потенциометр (взятый из старого радиоприемника) в предназначенное для него отверстие.
Долго искал из чего сделать ось для руля и как потом крепить к ней сам руль, придумал — нашел старую и сломанную ракетку для бадминтона и использовал ее.
Сам руль был вырезан из куска оргстекла ручным лобзиком для фанеры. Отверстия просверлил дрелью прямо напротив отверстий в детали от ракетки.
Опять немного криво, ведь я криворукий.
Закрепил винтиками, которые нашел у себя в ящике. Прикрепил два отрезка металлопластиковой трубы.
За эстетической составляющей я не гнался, поскольку данная поделка скорее подтверждение концепта, чем законченное изделие.
Ось прикрепил к потенциометру с помощью клея и термоусадочной трубки в два слоя, что по идее должно придать некоторую гибкость соединению, что в свою очередь защитит потенциометр от механической поломки.
Приклеил на двухсторонний скотч большие тактовые кнопки и ленту с ws2812b на её собственный клеящий слой
Подпаялся к кнопкам и ленте. Провода сплел в косичку и припаял к ардуине.
Припаял также провода от потенциометра к контроллеру
Железную часть закончил и приступил к программной
Программная часть
Первым делом я нашел как достать показания тахометра из игр и отправить его на ардуинку и поиски мои привели меня к сообществу по-хорошему сумасшедших людей, которые занимаются сборкой симуляторов и разных аксессуаров для них.
http://www.x-sim.de/
Ими написан монструозный комбайн-приложение, которое вытягивает из игр различные данные, будь то показания спидометра или тахометра, либо значения перегрузок по осям, крен и еще очень много параметров. Затем это приложение выполняет с ними нужные вам преобразования и отправляет на ваше железо. В роли железа выступают различного рода индикаторы и ДАЖЕ САМОДЕЛЬНЫЕ СИМУЛЯТОРНЫЕ УСТАНОВКИ С КУЧЕЙ ОСЕЙ. Я был просто поражен при виде всего этого — это потрясающе!
Порывшись в галерее на портале нашел скетч для ардуино и профиль для x-sim, который выполняет функционал близкий к тому, что требовалось мне http://www.x-sim.de/forum/viewtopic.php?t=155&sid=ac77ba76a92d43173b352a53df324883
Спасибо товарищу tronicgr за то, что он поделился своим профилем и скетчем. Самостоятельно с нуля разбираться в X-sim мне пришлось бы долго.
Итак, взяв за основу прошлый скетч я приступил к написанию нового. Можете скачать его отсюда https://yadi.sk/d/ppoE6nXldr8kY
В первой части мы подключаем библиотеку FastLed и указываем количество диодов на ленте и пин, к которому она подключена. Также мы указываем пины для кнопок и осей и объявляем переменные
В фунции setup мы инициализируем serial соединение с компьютером на скорости 115200, настраиваем яркость ленты и включаем встроенную подтяжку для цифровых входов. Ну и в самом конце инициализируем геймпад.
В главном цикле идет даже немного упрощенный код для геймпада из прошлого примера
Затем идет код взятый с портала x-sim, в котором ардуина получает данные из serial шины и записывает их в буфер, а затем разбивает по переменным, масштабирует данные о количестве оборотов до 8 (по количеству диодов на ленте) и сообщает, что данные получены
Затем в зависимости от полученных данных мы зажигаем нужное количество диодов с необходимым цветом и отправляем команду на ленту.
Отправляем скетч.
Скачав последнюю версию программы x-sim, устанавливаем её (лучше сразу удалить из папки с установленной программой папку «interfaceplugins», чтобы избежать ненужной долгой проверки всех интерфейсов при запуске), открываем профиль скачанный с форума по ссылке выше, это автоматически настроит программу на получение нужных данных. Открываем программу
Запускаем вторую половину программы «X-sim Extractor» она автоматически просканирует компьютер на наличие совместимых игр и создаст их список слева. После этого для каждой игры можно отключить передачу данных на приводы и прочее, хотя это и не мешает.
Все! Если все собрано и настроено, то можно выбрать игру и жать кнопку «Play Game», и в момент запуска или после него надо нажать кнопку старт в «X-sim Converter».
Пользуясь данными библиотеками и примерами описанными здесь можно создать любой, даже самый безумный контроллер для вашего ПК или андроид устройства (да да, устройство должно определиться как стандартное устройство ввода) с любыми датчиками: температуры, пульса, давления, ну и датчиком влажности, например для игры в хоррор ;-). Подключайте старые геймпады от денди и играйте в эмуляторы на родных для игр контроллерах. А если у вас есть большое желание, то можете даже собрать полноценный симулятор пользуясь замечательной программкой x-sim. Проявите фантазию!
Апдейт
Покатался еще немного и понял, что очень не хватает аналоговых педалей газа и тормоза, если и будет следующая версия руля, то обязательно с педалями. Но можно успешно управлять машиной «поигрывая» кнопкой, но надо привыкать.
В Dirt 3 наблюдается странный и заметный input lag, не знаю откуда и почему, возможно что-то с настройками игры или баг (все-таки это баг игры, я нашел похожие отзывы в гугле).
В остальном играется вполне хорошо, даже с такой черновой версией руля. Я наконец полюбил вид из кабины, до этого никогда им не пользовался.
Вот новое видео (возможно будет некоторое время обрабатываться ютюбом)
Руль поворачивается почти на полный круг, но мне оказалось удобней играть с такой реакцией руля, особенно когда перед тобой стоит камера.
Удачи вам! И еще раз с прошедшими праздниками! Жду вас в комментариях.
P43YM
P.S.
К покупке рекомендую! Опять забыл написать 🙂
mysku.ru
Arduino Micro – FLProg
Микроконтроллер Arduino Micro – плата микроконтроллера на базе ATmega32u4 [1], разработанный совместно (in conjunction) с Adafruit. Плата имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 – как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером. Чтобы запустить Arduino Micro, просто подключите его к компьютеру с помощью кабеля микро-USB. Форм-фактор контроллера позволяет легко разместить его на макетной плате.
Micro схож с Arduino Leonardo тем, что ATmega32u4 имеет встроенную поддержку USB-соединения, благодаря чему не требуется вспомогательный процессор. Это позволяет Micro появляться на подключенном компьютере в качестве мыши или клавиатуры в дополнение к виртуальному (CDC) последовательному порту (COM).
Характеристики
Микроконтроллер | ATmega32u4 |
Рабочее напряжение | 5 В |
Входное напряжение (рекомендуемое) | 7-12 В |
Входное напряжение (предельное) | 6-20 В |
Цифровые Входы/Выходы | 20 |
Каналы ШИМ | 7 |
Аналоговые входные каналы | 12 |
Постоянный ток через вход/выход | 40 мА |
Постоянный ток для вывода 3.3 В | 50 мА |
Флеш-память | 32 Кб (ATmega32u4) из которых 4 Кб используются для загрузчика |
ОЗУ | 2,5 Кб (ATmega32u4) |
EEPROM | 1 Кб (ATmega32u4) |
Тактовая частота | 16 МГц |
Схема и исходные данные
Файлы EAGLE:
Принципиальная схема: Смотреть
Питание
Arduino Micro может питаться через USB подключение или от внешнего источника питания. Источник питания выбирается автоматически.
Внешнее питание (не USB) может поступать либо от источника питания постоянного тока, либо с батареи. Выводы батареи или источника питания должны подключаться к выводам Gnd и Vin. Плата Arduino Micro может работать при подаче внешнего питания от 6 до 20 В. Однако при подаче напряжения ниже 7 В, на вывод 5 В может поступать менее пяти вольт, что приведет к нестабильной работе платы. При использовании более 12 В, стабилизатор напряжения может перегреться и вызвать повреждение платы.
Выводы питания:
- VIN. Входное напряжение Arduino при использовании внешнего источника питания (в отличие от 5 В с USB соединения или другого регулируемого источника питания). Вы можете подавать напряжение на этот вывод.
- 5V. Регулируемое напряжение питания для питания микроконтроллера и других компонентов на плате. Может поступать либо с VIN через встроенный стабилизатор, либо через USB или другой источник стабилизированный источник питания 5 В.
- 3V. Питание 3,3 В генерируется встроенным стабилизатором. Максимальный ток 50 мА.
- GND. Выводы земли.
Память
ATmega32u4 имеет 32 КБ флеш-памяти (вместе с 4 КБ, которые используются загрузчиком (бутлодером)). Также контроллер имеет 2,5 КБ ОЗУ и 1 КБ EEPROM.
Входы и Выходы
Каждый из 20 цифровых выводов Micro может использоваться как вход или как выход. Работают при напряжении 5 В. Максимальный входной или выходной ток каждого вывода 40 мА. На каждом выводе имеется внутренний нагрузочный резистор 20-50 кОм (по умолчанию отключен). Дополнительно некоторые выводы имеют специальные функции:
- Последовательная шина: 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) последовательных данных TTL уровней с использованием аппаратных возможностей последовательной шины ATmega32U4. Обратите внимание, что на Micro класс Serial относится к (CDC) соединению; для последовательного TTL соединения на выводах 0 и 1 используйте класс Serial1.
- TWI: 2 (SDA) и 3 (SCL). Поддерживает TWI соединение.
- Внешние прерывания: 0(RX), 1(TX), 2 и 3. Эти выводы могут быть сконфигурированы для запуска прерывания по нижней границе, по фронту или спаду, или по изменению значения.
- ШИМ: 3, 5, 6, 9, 10, 11 и 13. Обеспечивает 8-битный ШИМ.
- SPI: на разъеме ICSP. Данные выводы поддерживают связь по SPI с использованием библиотеки SPI. Обратите внимание, что выводы SPI не подключены ни к каким цифровым вход/выходам, как на Arduino Uno, они доступны только на соединителе ICSP и ближайших выводах, маркированных MISO, MOSI и SCK.
- RX_LED/SS. Это дополнительный вывод по сравнению с Leonardo. Он подключен к RX_LED, который показывает активность передачи по шине USB, но также может использоваться как вывод выбора подчиненного устройства (SS) для связи по SPI.
- LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне на этом выводе светодиод включен, при низком уровне – выключен.
- Аналоговые входы: A0 – A5, A6 – A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Всего Micro имеет 12 аналоговых входов, причем входы с A0 по A5 маркированы непосредственно на выводах, а другие, к которым также можно получить доступ в программе с использованием констант с A6 до A11, распределены соответственно на цифровых выводах 4, 6, 8, 9, 10 и 12. Все они также могут использоваться в качестве цифровых вход/выходов. Каждый аналоговый вход обеспечивает разрешающую способность 10 бит (т.е. 1024 различных значения). По умолчанию измерения на всех аналоговых входах производятся от потенциала земли до 5 В, но верхний предел этого диапазона можно изменить, используя вывод AREF и Использование внешнего опорного напряжения.
На плате имеются еще два вывода:
- AREF. Опорное напряжение для аналоговых входов. Использование внешнего опорного напряжения.
- Reset. Для сброса микроконтроллера переведите эту линию в низкий уровень. Обычно используется, чтобы добавить кнопку Reset на плату расширения, если эта плата закрывает доступ к кнопке на самом контроллере.
Распределение выводов Arduino Micro показывает полную функциональность всех выводов для использования их аналогично Leonardo.
Смотри также ATmega32u4-Arduino распиновка .
Связь
Micro имеет несколько средств для связи с компьютером, другим Arduino, или иными микроконтроллерами. Контроллер ATmega32U4 предоставляет UART TTL (5V) для последовательной связи, доступный на цифровых выводах 0 (RX) и 1 (TX). Также 32U4 разрешает последовательный обмен (CDC) через USB и появляется для компьютерного программного обеспечения как виртуальный COM-порт. Кроме того, кристалл работает как «full speed» USB устройство при использовании стандартных драйверов USB COM. Для Windows требуется .inf файл (смотри пункт 4 для Arduino Uno). Программное обеспечение Arduino включает монитор последовательной шины (Serial monitor), позволяющий принимать и посылать с платы Arduino простые текстовые данные. Светодиоды RX и TX на плате будут вспыхивать при передаче данных через USB соединение с компьютером (но не при последовательной связи через выводы 0 и 1).
ATmega32U4 также поддерживает интерфейсы I2C (TWI) и SPI.
Micro может появляться как обычная клавиатура или мышь, и может быть запрограммирован для управления этими устройствами ввода.
Автоматический (программный) сброс и инициация загрузчика
Вместо того чтоб требовать физического нажатия кнопки сброса перед загрузкой, Micro разработан так, что его можно сбросить программно при помощи кода, запущенного на подключенном компьютере. Сброс запускается, когда виртуальный (CDC) последовательный / COM порт Micro открывается при скорости 1200 бод и затем закрывается. При этом процессор будет сброшен, разрывая USB подключение к компьютеру (что означает, что виртуальный последовательный COM порт) исчезнет. После сброса процессора стартует загрузчик, который остается активным около 8 секунд. Загрузчик также может быть запущен нажатием кнопки Reset на Micro. Обратите внимание, что при первой подаче питания платы, она сразу перейдет к выполнению пользовательского кода, при его наличии, а не к запуску загрузчика.
Вследствие такого способа сброса платы Micro, лучше всего перед загрузкой инициировать сброс программой Arduino, особенно если вы обычно перед загрузкой нажимаете кнопку Reset на других платах. Если программа не может сбросить плату, можно всегда запустить бутлодер нажатием кнопки сброса на плате.
Защита от токовых перегрузок на USB
В Micro установлен восстанавливающийся предохранитель, защищающий компьютерные USB порты от короткого замыкания и токовых перегрузок. Хотя большинство компьютеров имеют собственную встроенную защиту, предохранитель обеспечивает дополнительный уровень защиты. В случае прохождения через USB порт тока более 500 мА, предохранитель автоматически разорвет соединение до устранения короткого замыкания или перегрузки.
Физические характеристики
Максимальная длина и ширина печатной платы Arduino Micro составляют соответственно 4,8 и 1,77 см, без учета выступающего за указанные габариты USB соединителя. Компоновка позволяет легко размещать плату в беспаечном макете.
Источники
- arduino.ru
Ссылки
Publication author
415 Comments: 12Publics: 320Registration: 04-02-2018flprog.ru
10.09 — Arduino Pro Micro — ARDUINO.MD
Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring.
Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату. Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен C++, дополненный некоторыми библиотеками.
Фото
Распиновка arduino pro micro
Характеристики
- Размеры: 35 x 18 мм
- Подключение к компьютеру: microUSB
- Микроконтроллер: ATmega32U4
- Рабочее напряжение: 5В
- Входное напряжение (рекомендуемое): 7 — 12 В
- Входное напряжение (предельное): 6-16 В
- Цифровые Входы/Выходы: 12 (5 из которых могут использоваться как выходы ШИМ)
- Аналоговые входы: 4
- Постоянный ток через вход/выход: 40 мА
- Флеш-память: 32 Кб
- ОЗУ: 2,5 Кб
- EEPROM: 1 Кб
- Тактовая частота: 16 МГц
- USB порт определяется как HID устройство
Внимание! Возможные проблемы и их решение можно найти по ссылке на сайте: sparkfun
www.arduino.md
Чиндогу на Arduino Pro Micro или зачем просто когда можно сложно!
Данный обзор я хочу посвятить конструкции PasswordKeeper на модуле Aruino Pro Micro (ATmega32U4). Проект предназначен для хранения, выбора и ввода в комп одного из множества паролей.Про саму плату сложно что-то необычное сказать. Пришла быстро, упакована хорошо, монтаж аккуратный, работает без замечаний.
Основная проблема с микроконтроллерами для энтузиаста — это придумать, для чего их применить 🙂
Я давно хотел собрать что-нибудь мелкое и относительно полезное в хозяйстве. А тут коллега по работе подкинул интересную идею — ему лень было каждый день вводить пароль для входа в свой компьютер и он собрал на плате DigiSpark (ATTiny85) приспособу, которая отправляет имя и пароль в комп при нажатии на кнопку.
Получилось у него вот что:
Upd: Коллега выложил свой проект сюда.
Отличная идея — подумал я. Почему бы ее не позаимствовать и творчески переработать. Пересобирать и перезагружать проект Arduino каждый раз при смене пароля — это неспортивно.
Кроме того, один пароль — это мало. Ведь можно сделать все гораздо сложнее и запутаннее! Игрушка должна показывать, как она работает. Но трех штатных светодиодов для этого явно мало, пусть их будет 4099! Так в проект добавился маленький дисплей OLED 128X32.
Я все никак не мог придумать, куда его можно приспособить. А тут он идеально подошел по размеру и назначению. Еще потребуется пара кнопок — для управления.
Ресурсов ATTiny85 явно не хватало для проекта — добавление дисплея потянуло за собой графическую библиотеку+шрифты и все это в DigiSpark не влезало. Но поиск обнаружил подходящую платформу: Arduino Pro Micro.
Смысл проекта в том, что Aruino Pro Micro по умолчанию прикидывается USB клавиатурой и USB COM портом. Драйверы для этих устройств уже присутствуют в операционной системе — и ничего дополнительно устанавливать не надо. Конечно существуют всякие программы, которые где-то хранят в себе пароли, но они не могут их передать на экран логина тк пользователь еще не вошел в систему. Предлагаемое вашему вниманию чиндогу PasswordKeeper имитирует нажатия кнопок клавиатуры и может передать логин и пароль в любом режиме компа. Даже Ctrl-Alt-Del послать может нажатием 1 кнопки вместо 3!
Формфактор выбранных модулей оказался очень удобным и компактным.
Можно с минимальными усилиями собрать маленькое и относительно полезное устройство.
Схема получается — проще некуда.
Быстро рукожопим макет и отлаживаем на нем скетч.
Но в таком виде пользоваться им неудобно, поэтому в Sketchup проектируем маленький корпус.
И печатаем его на таком на 3D принтере
Как водится, поспешность нужна при ловле блох. В первый вариант корпуса плата не лезет!
Промахнулся с размерами и выбрал слишком маленькие зазоры. Исправляем чертеж, перепечатываем и получаем второй вариант. Уже лучше — плата входит тик-в-тик.
Нажимаем на контроллер и с характерным хрустом он встает на место.
Примеряем кнопочки — входят без проблем.
Далее вставляем толкатели, припаиваем кнопочки и дисплей.
Кстати, я долго искал удобный монтажный провод для макетирования. Наш МГТФ конечно хорош, но не всегда удобен.В результате сейчас я пользуюсь присутствующем на предыдуших фото проводом 30AWG от все тех же китайцев. Цветными проводами удобно выделять цепи по смыслу. Провод тонкий, изоляция хорошо держит температуру паяльника.
Не так как МГТФ конечно, но вполне прилично. Обычная ПВХ изоляция расползается при пайке сразу, а эта размягчается, но держит форму и выдерживает случайные прикосновения паяльником без проплавления до жилы. Единственный недостаток — многоцветная катушка сильно дороже при меньшем количестве провода.
Собираем все вместе и получаем маленький токен, который подключается к компу и позволяет управлять и пользоваться достаточно большим количеством логинов и паролей.
Число логинов ограничено размером памяти EEPROM (1024 байта) и длиной паролей.
Дисплей позволяет выбирать по комментарию нужную пару логин/пароль, а так же редактировать данные в токене. Редактировать пароли можно двумя кнопками. Редактор я к токену прикрутил, но пользоваться им — сущий мазохизм. Поэтому для редактирования данных пришлось написать программу для PC (если вдруг будете пользоваться — не забудьте перевести токен в режим работы с USB в его меню).
Общая идея устройства такая: Есть 1024 байта EEPROM. В этой области хранятся записи с данными — их число ограничено местом. Каждая запись состоит из отображаемого на дисплее комментария и 8 полей. Каждое поле может содержать в себе символы и коды нажатия спец кнопок (Ctrl,Shift,Del итд). Две записи условно названы Login и Password. По нажатию кнопки токен отправляет поочередно все поля записи в USB как будто они введены с клавиатуры. В полях вы можете разместить не только логин и пароль но и команды на запуск каких-либо программ.
Но основной режим — это все-таки имя и пароль.
Тк в плате у нас хранятся пароли надо хоть чуть-чуть позаботится о их безопасности.
Забота о безопасности поможет усложнить проект и придаст ему серьезности.
Для этого был добавлен пароль на разблокировку токена. Он представляет собой
задаваемую пользователем последовательность одиночных и двойных нажатий на кнопки.
Теоретически, можно еще зашифровать данные в EEPROM с помощью какого-либо криптоалгоритма — место под код еще есть. Но снаружи эти потуги незаметны и поэтому с криптографией я заморачиваться не стал.
Токен в обычном состоянии недоступен с компьютера. Для перевода его в режим редактирования необходимо физически выбрать соответствующий пункт в меню кнопками. Точно так же для отправки пароля требуется физически нажать кнопку. Так что злой хакер до ваших паролей в токене не доберется!
Он перехватит их c USB порта, когда вы будете их посылать как с USB клавиатуры 😉
В результате получилась штуковина, в которой я храню пароли для входа на сайты банков и форумы.
Специально для коллеги все оставшиеся выводы платы запрограммировал для подключения кнопок быстрого доступа.При нажатии на такую кнопку происходит переход к логину с соответствующим номером (если он есть). И для отправки его на комп остается только нажать кнопку подтверждения. Или подержать кнопку быстрого доступа подольше.
Завершив этот проект я предлагаю всем желающим повторить это замечательное устройство,
которое позволит вам потерять все ваши пароли совершенно новым способом!
Потерять бумажку может каждый, а сделать для этого специальное устройство и потерять его или пароль к нему — это внушает уважение!
Перед выходом на публику PwKeeper прошел тщательный выходной контроль:
Главинспектор был только что разбужен, но он все равно недоумЯвает — почему аудитории предлагается явно недоделанное устройство. Мои слова о том, что надо проверить правильность и качество монтажа (а при закрытой крышке это затруднительно) его не убедили.
Тем не менее (после шантажа сосиской) удалось убедить его выдать мне сертификат соответствия:
Одобренные исполняемые и загрузочные файлы выложил сюда.
mysku.ru
Чиндогу на Arduino Pro Micro или зачем просто когда можно сложно!
Данный обзор я хочу посвятить конструкции PasswordKeeper на модуле Aruino Pro Micro (ATmega32U4). Проект предназначен для хранения, выбора и ввода в комп одного из множества паролей.
Про саму плату сложно что-то необычное сказать. Пришла быстро, упакована хорошо, монтаж аккуратный, работает без замечаний.
Основная проблема с микроконтроллерами для энтузиаста — это придумать, для чего их применить 🙂
Я давно хотел собрать что-нибудь мелкое и относительно полезное в хозяйстве. А тут коллега по работе подкинул интересную идею — ему лень было каждый день вводить пароль для входа в свой компьютер и он собрал на плате DigiSpark (ATTiny85) приспособу, которая отправляет имя и пароль в комп при нажатии на кнопку.
Получилось у него вот что:
Upd: Коллега выложил свой проект сюда.
Отличная идея — подумал я. Почему бы ее не позаимствовать и творчески переработать. Пересобирать и перезагружать проект Arduino каждый раз при смене пароля — это неспортивно.
Кроме того, один пароль — это мало. Ведь можно сделать все гораздо сложнее и запутаннее! Игрушка должна показывать, как она работает. Но трех штатных светодиодов для этого явно мало, пусть их будет 4099! Так в проект добавился маленький дисплей OLED 128X32.
Я все никак не мог придумать, куда его можно приспособить. А тут он идеально подошел по размеру и назначению. Еще потребуется пара кнопок — для управления.
Ресурсов ATTiny85 явно не хватало для проекта — добавление дисплея потянуло за собой графическую библиотеку+шрифты и все это в DigiSpark не влезало. Но поиск обнаружил подходящую платформу: Arduino Pro Micro.
Смысл проекта в том, что Aruino Pro Micro по умолчанию прикидывается USB клавиатурой и USB COM портом. Драйверы для этих устройств уже присутствуют в операционной системе — и ничего дополнительно устанавливать не надо. Конечно существуют всякие программы, которые где-то хранят в себе пароли, но они не могут их передать на экран логина тк пользователь еще не вошел в систему. Предлагаемое вашему вниманию
mysku.me