Arduino leonardo своими руками

Как сделать контроллер Arduino своими руками

В этой статье мы расскажем, как своими руками собрать Arduino на обычной макетной плате.

Для этого нам понадобится микроконтроллер ATmega328 — такой же, как и в оригинальной Arduino Uno.

Распиновка ATmega328

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

Сборка Arduino на макетной плате

Необходимые компоненты

Для работы с микроконтроллером понадобятся:

Схема сборки

Соберите на макетной плате компоненты по следующей схеме:

Эксперимент «маячок» из Матрёшки

Добавьте к схеме светодиод на 13 пине. Для этого повторите первый эксперимент из набора Матрёшка Z — маячок.

Обратите внимание, 13 пин Arduino, это не 13 ножка микроконтроллера. Чтобы найти нужный пин, воспользуйтесь распиновкой ATmega328

Схема эксперимента собрана. Осталось прошить нашу Arduino.

Прошивка ATmega328

У микроконтроллера нет собственного USB-порта. К компьютеру его можно подключить одним из двух способов:

Рассмотрим их подробнее.

Прошивка ATmega328 через USB-UART преобразователь

Для сборки программатора нам понадобится:

Соберите следующую схему

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свой контроллер.

Прошивка ATmega328 через Arduino Uno

Для сборки программатора нам понадобится:

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свою плату.

Источник

Arduino.ru

Arduino Leonardo


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

Arduino Leonardo — контроллер на базе ATmega32u4 (техническое описание, pdf). Платформа имеет 20 цифровых вход/выходов (7 из которых могут использоваться как выходы ШИМ и 12 как аналоговые входы), кварцевый генератор 16 МГц, разъем микро-USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат ATmega32u4 имеет встроенную поддержку для USB соединения, это позволяет задать как Leonardo будет виден при подключение к компьютеру, это может быть клавиатура, мышь, виртуальный серийный / COM порт.

Характеристики
Схема и исходные данные
Питание

Arduino Leonardo может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

  • VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.
  • 5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.
  • 3V3. Напряжение на выводе 3.3 В генерируемое встроенным регулятором на плате. Максимальное потребление тока 50 мА.
  • GND. Выводы заземления.
  • IOREF. Вывод с рабочим напряжением вход/выходов платы. Для Leonardo это 5 В. Предполагается к использованию платами расширения для правильноего выбора рабочего напряжения.
Память

Микроконтроллер ATmega32u4 располагает 32 кБ флэш памяти, из которых 4 кБ используется для хранения загрузчика, а также 2.5 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).

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

Каждый из 20 цифровых выводов Leonardo может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega32U4 USB-to-TTL. Обратите внимание что у Leonardo, класс Serial относится к последовательному соединению USB CDC. Последовательное соединение через выводы 0 и 1 осуществляется через класс Serial1.
  • TWI: 2 (SDA) и 3 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
  • ШИМ: 3, 5, 6, 9, 10, 11 и 13. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
  • SPI: на разъеме ICSP. Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI. Обратите внимание, что в Leonardo выводы SPI не разведены на цифровые вход/выходы как это было в предыдущих версиях Arduino контроллеров.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
  • Аналоговые входы: A0-A5, A6-A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Leonardo имеет 12 аналоговых входов, помеченных от A0 до A11. Все анадоговые входы могут работать в режиме цифровых вход/выходов. Входы с A0 по A5 совпадают с аналоговыми входами UNO. Входы с A6 по A11 на цифровых выводах 4, 6, 8, 9, 10 и 12 соответственно. Рарешение аналоговых входов — 10 бит, т.е. 1024 различных значения. По умолчанию значение на аналоговых входах измеряется от земли (0) до 5 Вольт, верхний предел диапазона может быть изменен с помощью AREF входа и analogReference() функции.
Читайте также:  Игрушки для автомобиля своими руками

Дополнительная пара выводов платформы:

  • AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
  • Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

Обратите внимание на соединение между выводами Arduino и портами ATmega328.

Связь

На платформе Arduino Leonardo может устанавливать связь с компьютером, другими устройствами Arduino или микроконтроллерами несколькими способами. ATmega32U4 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). ATmega32U4 позволяет также организовать последовательное соединение с программами на стороне компьютера через USB так, чтобы они «общались» с платой через виртуальный COM порт. Leonardo c помощью стандартных драйверов USB COM (для Windows потребуется .inf файл) может подключаться как USB 2.0 устройтво. Мониторинг последовательной шины (Serial Monitor) среды разработки Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Leonardo.

ATmega32U4 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Для SPI может использоваться библиотека SPI.

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

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

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Leonardo» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.

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

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

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

Leonardo разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Перезагрузка срабатывает когда виртуальный CDC COM порт открывается со скоростью 1200 бод, а затем закрывается. Когда это происходит, микропроцессор уходит на перезагрузку, разрывая USB соединение. После перезагрузки стартует загрузчик (бутлодер) и остается активным примерно 8 секунд. Загрузчик также можно инициировать нажатием кнопки Reset. Обратите внимание, что при подачи питания контроллер сразу переходит к выполнению загруженной пользовательской программы без выполнения загрузчика.

Токовая защита разъема USB

В Arduino Leonardo встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.

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

Размер печатной платы Leonardo составляют 6.9 на 5.3 см. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

Источник

Arduino.ru

Самодельная ардуино леонардо (на базе 32u4)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не знаю, наверно я один такой ерундой страдаю. Помогите, пожалуйста, собрать ардуинку на базе 32u4. Если знаете сайт, где об этом рассказывается, скинте ссылку (а то я не нашёл).

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Читайте также:  Как сварить шатер своими руками

Как можно включить описание платы в boards.txt можно подсмотреть тут: http://arduino.ru/forum/proekty/samodelnaya-mega2560-128a-s-pamyatyu-512. пост №85.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а можете файл с этого сайта скинуть 🙂 а то у меня не скачивается:(

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я тут подсчитал, получается, что самодельная платка стоит дороже покупной! И зачем мне это.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ну, что handmade неизбежно дороже конвейера, это очевидно. А «зачем Вам это» — Вам виднее. Может, (за свой счет) прокачать навыки в изготовлении плат?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я тут подсчитал, получается, что самодельная платка стоит дороже покупной! И зачем мне это.

А селедка-то, начинает действовать! 😉 (это старый анекдот, если кто не знает)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

«Фосфор», Влад, «фосфор».

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я тут подсчитал, получается, что самодельная платка стоит дороже покупной! И зачем мне это.

А селедка-то, начинает действовать! 😉 (это старый анекдот, если кто не знает)

Что было в этай селедке, ШтО Была в этАй СЕЛЁДКЕ.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я тут подсчитал, получается, что самодельная платка стоит дороже покупной! И зачем мне это.

А селедка-то, начинает действовать! 😉 (это старый анекдот, если кто не знает)

Что было в этай селедке, ШтО Была в этАй СЕЛЁДКЕ.

Источник

Плата Arduino Leonardo: описание, схема, подключение и сравнение

Arduino Leonardo — платформа, в основе которой лежит микроконтроллер ATmega32u4. С помощью этой платы можно создавать проекты, в которых устройство Ардуино активно взаимодействует с компьютером и выступает как привычная периферия – мышки, клавиатуры, игровые контроллеры. В отличие от хорошо всем знакомой платы Uno, эта модель имеет ряд особенностей, в этой статье мы узнаем – какие. Вы сможете найти описание характеристик, распиновку и особенности подключения к Arduino IDE.

Описание платы Arduino Leonardo

Платформа Ардуино позволяет создавать самые разнообразные автономные устройства, но вот при подключении к компьютеру традиционных плат Uno, Nano, Mega невозможно было заставить их работать как обычную периферию – например, мышки или клавиатуры. Нельзя просто подключить обычный джойстик через ардуино уно к компьютеру и управлять им, например, курсором – придется устанавливать приложение на самом компьютере, которое будет интерпретировать коды с последовательного порта и устанавливать курсор в нужное место.

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

В основе Leonardo лежит достаточно продвинутый микроконтроллер ATmega32u4. Сама плата достаточно сильно похожа на Uno, на ней можно найти два десятка входов и выходов, разъем micro-USB, кнопка для перезагрузки, а также разъемы ICSP и силовой вход. Питание платы стандартное для ардуино, рекомендуемой напряжение 7-12 вольт.

Количество цифровых входов и выходов 20, а аналоговых — 12. К обычным аналоговым пинам A0-A5 тут добавляются еще пины 4,6,8, 9,10, 12, подключенные к АЦП. Встроенная flash-память имеет объем 32 КБ, из которых четыре предназначены загрузчику. ОЗУ устройства 2,5 КБ, а тактовая частота равна 16 МГц.

Особенности платы Arduino Leonardo (некоторые из них являются общими для любых устройств на микроконтроллеров ATMega):

  1. Возможность прямого подключения, от внешнего источника питания или через USB. Выбор питания осуществляется в автоматическом режиме. Платформа работает при подаче напряжения в пределах от 6 до 20 Вольт.
  2. Программирование производится с помощью драйвера Arduino Leonardo. Микроконтроллер в основе устройства поставляется уже с загрузчиком, что упрощает установку ПО. Для связи применяется протокол AVR109.
  3. Предусмотрена автоматическая перезагрузка (нет необходимости нажимать дополнительную кнопку). Процесс запускается при открытии виртуального CDC COM-порта со скоростью в 1200 бод. После этого система перезагружается. При желании можно активировать процесс вручную с помощью специальной кнопки Reset. При подаче питания контроллер сразу работает с учетом установленного ПО.
  4. В устройстве предусмотрен предохранитель, обеспечивающий защиту от повышенных токов перегруза и КЗ в системе. Несмотря на наличие такой опции во всех ПК, дополнительная надежность не бывает лишней. Вставка плавкая перегорает при протекании тока больше 0,5 Ампер. Цепочка разрывается до момента восстановления нормального режима.
  5. Плата Arduino Leonardo имеет стандартные для Uno габариты — всего 69 на 53 мм. Вне границы устройства выходит только силовой разъем. Расстояние между седьмым и восьмым выводом равно 4 мм, а в остальном — 2,5 мм.
Читайте также:  Задний переключатель скоростей своими руками

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

Схема и распиновка

Перед подключением важно представлять распиновку Arduino Leonardo и разобраться с тонкостями подключения.

  • VIN — подача напряжения от внешнего ИП. Этот вход не имеет связи с пятью Вольтами USB-разъема или другим напряжением стабилизации. На ПИНы можно подать внешнее питание, когда к контроллеру подключен внешний блок.
  • 5V — разъем для подачи пяти Вольт от стабилизатора на плате. Напряжение применяется для микроконтроллера. Использовать этот вход для непосредственного питания устройства нельзя. При таком подходе возможна поломка платы при скачках напряжения (подключение стабилизатора может решить этот вопрос).
  • 3.3V — напряжение от стабилизатора. Верхнее ограничение по рабочему току составляет 0,05 А.
  • IOREF. Задача ПИНа состоит в расшифровке сведений о напряжении ATmega32u4. В зависимости от этого параметра плата переключается на более подходящий ИП или применяется преобразователь уровней. В последнем случае открывается возможность питания от 5 или 3.3 Вольт.

PIN ввода и вывода:

  • Цифровые ПИНы (с 0–13). Логический уровень для «нуля» — 0 Вольт, а для «единицы» — 5 Вольт. Предусмотрены подтягивающие резисторы, которые по умолчанию не работают, но при необходимости их можно включить.
  • Пины с подключением к АЦП (А0-А5, А6-А11). Указанные входы являются аналоговыми, но их можно использовать и в цифровом режиме. Напряжение по умолчанию от 0 до 5 Вольт.
  • ШИМ — PIN с наименованиями «три», «пять», «шесть», «девять», «десять», «одиннадцать» и «тринадцать». Доступно разрешение 8 бит с помощью функции analogWrite.
  • SPI — PIN разъема ICSP. Особенность платы Arduino Leonardo состоит в отсутствии разводки между цифровыми входами и выходами (ранее применялся такой подход). Если у платы отсутствует разъем ICSP с шестью контактами, изделие не сможет работать.
  • UART — PIN 0 (RX) и 1 (TX) для получения и передачи информации соответственно. Применяется для подключения к другим устройствам с применением класса Serial1. Если контроллер питается через USB от компьютера, применяется класс Serial.
  • TWI/I2C. Этот ПИН применяется для взаимодействия с периферийными устройствами с помощью синхронного протокола. Подключение осуществляется с помощью двух проводов с применением библиотеки Wire.

На плате Arduino Leonardo R3 предусмотрена группа светодиодов, по которым можно судить о работоспособности устройства:

  • RX и TX — светодиоды, мигающие во время передачи информации между компьютером и контроллером.
  • L (для ПИНа 13). Он включается при отправке параметра HIGH, а при LOW отключается.
  • ON — светодиод, свидетельствующий о подаче питания на плату Arduino Leonardo.

К дополнительным разъемам стоит отнести micro-USB, разъем для подачи внешнего питания от 7 до 12 Вольт, а также ICSP-разъем. Последний применяется для программирования микроконтроллера.

Подключение и прошивка Ардуино Leonardo

Для подключения устройства требуется кабель USB, подключенный к ПК, или подача питания от внешнего источника. Это может быть выносная батарея или адаптер типа AC/DC. Такое решение сделало контроллер более дешевым в производстве, повысилась гибкость применения в работе с компьютером.

При установке драйвера Arduino Leonardo нужно действовать таким образом:

  • подключение устройства к ПК;
  • ожидание запуска мастера установки ПО (при отсутствии запуска ручной переход в раздел оборудования, выбор строчки Arduino Leonardo и нажатие обновления);
  • поиск драйверов на ПК и нажатие «Далее»;
  • в папке с ПО выбор нужного драйвера;
  • согласие с установкой.

Для прошивки устройства достаточно нажатия кнопки Upload, чтобы автоматически загрузить софт в память устройства. Далее инициируется сброс контроллера, что приводит к пуску загрузчика (отвечает за получение, сохранение и старт нового ПО). В отличие от других моделей здесь после автоматического сброса платформа ожидает нового последовательного порта. Далее скетч направляется на вновь созданный COM-порт. Если автоматический сброс по какой-либо причине не активировался, нужно сделать следующее:

  • нажатие кнопки сброса и удерживание ее до момента появления слова Uploading;
  • контроль запуска загрузчика (система должна увидеть новый порт).

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

Сравнение с Arduino Uno, Nano, Mega

В отличие от предшественников плата Arduino Leonardo работает всего на оном чипе. Здесь появился независимый разъем USB. В основе лежит микроконтроллер ATmega32u4, имеющий больший функционал по сравнению с Mega, Nano и Uno.

  • из-за отсутствия отдельной микросхемы для обработки последовательной связи последовательные порты имеют виртуальный характер;
  • при открытии последовательного порта на ПК автоматического перезапуска не происходит;
  • устройство может определяться ПК как последовательный порт, мышка, клавиатура или HID-устройство.

В модели Леонардо увеличился объем оперативной памяти, стало больше входов ШИМ. Но главное изменение — возможность подключения устройства через USB-разъем, что существенно повысило удобство подключения и функционал платформы.

Источник

Оцените статью