Arduino:Продукты/Продукты Arduino/Плата Arduino Yun

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Arduino Yun[1]

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

Примечание

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

Плата Yun отличается от других Arduino тем, что на нее можно загрузить дистрибутив Linux, тем самым сделав мощный компьютер, подключенный к интернету и обладающий простотой использования Arduino. Вдобавок к Linux-командам вроде cURL вы можете писать для нее собственные shell- и python-скрипты. Плата Yun похожа на Leonardo с чипом ATmega32u4, но за тем исключением, что на ней также есть Linux. Кроме того, в Yun встроен функционал для USB-коммуникации, что устраняет необходимость во втором процессоре.

Примечание

Новая версия Arduino Yun (R5) существенно отличается от предыдущих версий:

  • Контакт AREF обеспечивает питание 5 вольт
  • Модифицирована распиновка: добавлены два отверстия для USB-сигналов и два отверстия для GP6 и GPIO13 (LED2)

О гарантии на плату можно почитать тут.

С чего начать

Если вы купили Arduino Yun до октября 2014 года, смотрите эту страницу, а если после 2015 года, то эту. Здесь вы найдете всю необходимую информацию о том, как настроить плату.

Нужна помощь?

  • На этих форумах Arduino можно почитать о ПО
  • На этих – о проектах
  • Здесь можно запросить клиентскую поддержку о продуктах

Технические характеристики

Поскольку Arduino Yun имеет два процессора, этот раздел будет состоять из двух частей. Сначала характеристики процессора AVR:

  • Микроконтроллер – ATmega32u4
  • Рабочее напряжение – 5 вольт
  • Входное напряжение – 5 вольт
  • Цифровые I/O контакты – 20 шт.
  • Выдача ШИМ – 7 шт.
  • Аналоговые I/O контакты – 12 шт.
  • Максимальная сила тока на один I/O контакт – 40 миллиампер
  • Максимальная сила тока на контакт 3V3 – 50 миллиампер
  • Flash-память – 32 Кб (из которых 4 Кб используются загрузчиком)
  • SRAM – 2,5 Кб
  • EEPROM – 1 Кб
  • Тактовая частота – 16 МГц

Теперь характеристики процессора для Linux:

  • Процессор – Atheros AR9331
  • Архитектура – MIPS
  • Рабочее напряжение – 3,3 вольта
  • Ethernet – стандарт 802.3; 10/100 Мбит/сек
  • WiFi – стандарт 802.11 b/g/n; 2,4 ГГц
  • Тип USB – 2.0 (хост)
  • Кардридер – Micro-SD
  • RAM – 64 Мб DDR2
  • Flash-память – 16 Мб
  • SRAM – 2,5 Кб
  • EEPROM – 1 Кб
  • Тактовая частота – 400 МГц

Документация

Плата Arduino Yun распространяется о принципу «open-source». Вы можете создать на ее основе собственную плату, используя файлы ниже:

Питание

Плату Arduino Yun рекомендуется питать 5 вольтами постоянного тока через соединение Micro-USB. Если вы питаете плату через контакт Vin, то источник питания должен выдавать те же регулированные 5 вольт постоянного тока. На плате нет регулятора напряжения, поэтому если питающее напряжение будет выше 5 вольт, это повредит плату.

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

Примечание

Ранние модели Yun с PoE-адаптером питали плату 12 вольтами (что неправильно). Однако вскоре дилеры должны получить обновленную версию с нужными 5 вольтами.

Если вы считаете, что ваша Yun оснащена неправильным адаптером, пожалуйста, обратитесь сюда – support@arduino.org.

Контакты для питания на Arduino Yun:

  • VIN – входное напряжение для Arduino Yun. В отличие от других Arduino, если вы хотите питать Yun через этот контакт, то это должны быть регулированные 5 вольт.
  • 5V – используется для питания микроконтроллеров и других компонентов платы. Можно идти либо от VIN, либо от USB-соединения.
  • 3V33,3-вольтовое питание, генерируемое встроенным регулятором напряжения. Максимальная сила тока, которую можно тянуть отсюда – 50 миллиампер.
  • GND – контакты для «земли».
  • IOREF – напряжение, на котором работают I/O контакты платы (т.е. VCC платы). На Yun это 5 вольт.

Память

Чип ATmega32u4 имеет 32 Кб flash-памяти (из которых 4 Кб используются загрузчиком). Кроме того, у него 2,5 Кб памяти типа SRAM и 1 Кб памяти типа EEPROM. Запись и считывание с этой памяти осуществляется при помощи библиотеки EEPROM.

Память чипа AR9331 находится вне процессора. RAM-память и запоминающее устройство разделены и соединены через внешнее подключение. Плата Yun имеет 64 Мб памяти типа DDR2 RAM и 16 Мб flash-памяти. На flash-память еще при фабричном производстве загружается Linino OS – дистрибутив Linux на базе OpenWrt. Вы можете изменить содержимое фабричного образа – например, при установке программы или при изменении конфигурационного файла. Кроме того, вы можете вернуться к фабричным настройкам, и для этого нужно в течение 30 секунд держать нажатой кнопку WLAN RST.

Linino OS занимает 9 Мб из 16 Мб доступной flash-памяти. Если вам нужно больше дискового пространства для установки других приложений, вы можете использовать карту Micro-SD.

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

I/O контакты чипа Atheros AR9331 недоступны. Все I/O линии привязаны к чипу ATmega32u4.

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

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

  • Последовательная передача данных: контакты 0 (RX) и 1 (TX). Используются для получения (RX) и отправки (TX) последовательных (TTL) данных при помощи ATmega32u4. Обратите внимание, что в Yun за коммуникацию USB (CDC) отвечает класс Serial, а за коммуникацию TTL (на 0-ом и 1-ом контактах) – класс Serial1. Аппаратные последовательные порты ATmega32u4 и AR9331 подключены друг к другу и используются для коммуникации между двумя процессорами. Как принято в системах Linux, доступ к AR9331 осуществляется по последовательному порту через консоль. Это значит, что вы можете прямо из скетча получить доступ к программам и инструментам, которые может предложить Linux.
  • Интерфейс TWI: контакты 2 (SDA) и 3 (SCL). Поддерживают коммуникацию типа TWI при помощи библиотеки Wire.
  • Внешние прерывания: контакты 3 (прерывание 0), 2 (прерывание 1), 0 (прерывание 2), 1 (прерывание 3) и 7 (прерывание 4). Эти контакты можно настроить на активацию прерывания при переходе на значение LOW, при убывающем/возрастающем фронте импульса или при изменении значения. Более подробно читайте в статье о функции attachInterrupt(). Контакты 0 и 1 для прерываний использовать не рекомендуется, поскольку это также аппаратный последовательный порт, который используется для коммуникации с процессором Linux. Контакт номер 7 подключен к процессору AR9331 и в будущем, возможно, будет использоваться для сигнала «рукопожатия». Если вы планируете использовать его для прерываний, то будьте готовы к возможным конфликтам.
  • ШИМ: контакты 3, 5, 6, 9, 10, 11 и 13. Поддерживают выдачу 8-битной ШИМ при помощи функции analogWrite().
  • Интерфейс SPI: на ICSP-гребешке. Эти контакты поддерживают коммуникацию типа SPI при помощи библиотеки SPI. Обратите внимание, что контакты SPI не подключены к цифровым I/O контактам, как это сделано на Uno, а доступны только на ICSP-гребешке. Это значит, что если у вас есть «шилд», использующий SPI, но не имеющий 6-контактного ICSP-гребешка, этот шилд работать не будет. Эти SPI-контакты также подключены к GPIO-контактам чипа AR9331, где интерфейс SPI реализован на программном уровне. Это значит, что ATmega32u4 и AR9331 также могут «общаться» друг с другом при помощи протокола SPI.
  • Встроенный светодиод: цифровой контакт 13. Если подать на этот контакт значение HIGH, этот светодиод включится, а если LOW, то выключится. Кроме того, на Yun есть несколько статусных светодиодов, сообщающих о питании, соединении WLAN, соединении WAN и соединении USB.
  • Входные аналоговые контакты: всего 12 штук – с A0 по A5, а также с A6 по A11 (на цифровых контактах 4, 6, 8, 9, 10 и 12). Все эти контакты также можно использовать как цифровые I/O контакты. Контакты с A0 по A5 находятся на тех же местах, что и у Arduino Uno. Каждый входной аналоговый контакт поддерживает 10-битное разрешение (т.е. может работать с 1024 разными значениями). По умолчанию вольтовый диапазон на входных аналоговых контактах составляет от «земли» до 5 вольт, однако верхнюю границу этого диапазона можно поменять при помощи контакта AREF и функции analogReference().
  • AREF: эталонное напряжение для входных аналоговых контактов. Используется вместе с функцией analogReference().

На Yun также есть три кнопки сброса – каждая со своими функциями:

  • Yun RST – если подать на эту линию LOW, это сбросит микропроцессор AR9331. Это, в свою очередь, повлечет перезагрузку системы Linux. Все данные, хранящиеся в памяти RAM, будут потеряны, а все запущенные программы будут закрыты.
  • 32U4 RST – если подать на эту линию LOW, это сбросит микроконтроллер ATmega32u4. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, потому что подключение «шилда», как правило, блокирует кнопку сброса на самой плате.
  • WLAN RST – эта кнопка выполняет две задачи. Во-первых, она служит для восстановления фабричных WiFi-настроек. В фабричных настройках Yun настроена на режим точки доступа (AP), а ее IP-адрес по умолчанию будет 192.168.240.1. В результате Yun станет узлом WiFi-сети с SSID-названием «Arduino Yun-XXXXXXXXXXXX», где 12 «X» – это MAC-адрес вашей Yun. Подключив свой компьютер к этой сети, вы можете получить доступ к веб-панели Yun, введя в браузере «192.168.240.1» или «http://arduino.local». Имейте в виду, что восстановление WiFi-настроек повлечет перезагрузку среды Linux. Чтобы восстановить WiFi-настройки, вам нужно удерживать кнопку WLAN RST в течение 5 секунд. Когда вы нажмете на кнопку, синий светодиод WLAN замигает и будет продолжать мигать даже после того, как вы ее отпустите, сообщая, что процедура восстановления WiFi-настроек была записана. Во-вторых, эта кнопка служит для восстановления образа Linux к фабричному состоянию, и для этого кнопку WLAN RST нужно удерживать в течение 30 секунд. Имейте в виду, что это действие повлечет потерю всех файлов и установленного ПО, имеющегося на встроенной flash-памяти, которая подключена к AR9331.

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

Плата Yun имеет несколько средств для коммуникации с компьютером, а также с другими Arduino и микроконтроллерами. Чип ATmega32u4 обеспечивает выделенную линию для последовательной UART TTL (5 вольт) коммуникации. Этот микроконтроллер также обеспечивает последовательную (CDC) коммуникацию через USB, благодаря чему ОС компьютера видит плату как виртуальный COM-порт. Кроме того, ATmega32u4 может действовать в качестве устройства типа USB 2.0 в режиме full-speed, используя для этого стандартные USB/COM драйверы.

В IDE Arduino встроен монитор порта, позволяющий отправлять простые текстовые данные – и на Yun, и от нее. Также на Yun есть светодиоды RX и TX, которые загораются при передаче данных по USB-соединению с компьютером. Цифровые контакты 0 и 1 используются для последовательной коммуникации между процессорами Atmega32u4 и Atheros AR9331.

Для коммуникации между ними можно использовать библиотеку Ciao.

Библиотека SoftwareSerial позволяет выполнять последовательную коммуникацию на любом цифровом контакте Arduino Yun. Однако контакты 0 и 1 лучше не трогать, потому что они используются библиотекой Bridge. Кроме того, чип ATmega32u4 поддерживает коммуникацию типа I2C (TWI) и SPI. Для работы с шиной TWI в IDE Arduino предусмотрена библиотека Wire, а для работы с SPIбиблиотека SPI.

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

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

Плата Yun также может выполнять функции USB-хоста – при помощи Linino OS. Вы можете подключать к ней периферийные устройства вроде USB-флэшек (чтобы добавить дискового пространства), клавиатур, вебкамер и т.д. Однако для работы этих устройств может понадобиться загрузить и установить дополнительное ПО.

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

Плата Arduino Yun программируется при помощи программы IDE Arduino. Зайдите в нее, кликните на Инструменты > Плата > Arduino Yun (Tools > Board > Arduino Yun) – это выберет тип микроконтроллера, с которым в дальнейшем будет работать IDE Arduino.

Чип ATmega32u4 на Arduino Yun идет с уже записанным на него загрузчиком, который позволяет загружать на плату новый код без использования внешнего аппаратного программатора. Этот загрузчик коммуницирует при помощи протокола AVR109.

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

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

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

Загрузчик также можно инициировать нажатием на кнопку сброса на Yun. Обратите внимание, что если на плату загружен скетч, то при запуске она перейдет сразу к нему, минуя загрузчик. Из-за того, как в Yun устроена система сброса, лучше позволить IDE Arduino инициировать загрузчик перед загрузкой скетча – особенно если вы, работая с другими платами, привыкли делать это сами. Если IDE Arduino не сумеет сбросить плату, вы всегда сможете запустить загрузчик, нажав на кнопку сброса на плате самостоятельно.

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

Плата Yun оснащена самовосстанавливающимся предохранителем, который защищает USB-порты вашего компьютера от коротких замыканий и перегрузок. Хотя у многих компьютеров есть собственная защита от подобных напастей, этот предохранитель добавляет к ней еще один слой. Если на USB-порт будет подано свыше 500 миллиампер, этот предохранитель автоматически прервет соединение, пока короткое замыкание или перегрузка не будут устранены.

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

Максимальные длина и ширина печатной платы Yun составляют 68,58 мм и 53,34 мм, однако USB-коннектор немного выходит за эти пределы ширины. Кроме того, в Yun есть 4 отверстия, которые позволяют прикрепить ее к какому-нибудь корпусу или поверхности. Обратите внимание, что расстояние между 7-ым и 8-ым цифровыми контактами составляет 4 мм, а между всеми остальными – 2,5 мм. Вес платы составляет 32 грамма.

Распиновка

См.также

Внешние ссылки