Каталог

MAX3421E USB порт Arduino

Цена:

850 р.
менее 50 шт.
Уже в корзине
Код товара: 10032
Оригинальное название:
USB Host Shield v2.0 Arduino

Описание товара

Модуль расширения USB Host Shield 2.0

  • Микроконтроллер: MAX3421E
  • Питание: 5В/3.3В
  • Максимальный ток:
    • 500 мА (Arduino питается от внешнего источника)
    • 400 мА (Arduino питается от USB-соединения)
  • USB-разъём: USB-A, 2.0
  • Размеры: 55 х 53 х 11м
  • Температура эксплуатации: -40°С до +85°С

Модуль расширения Host Shield 2.0 способен помочь контроллерным платам семейства xDuino, изначально не располагающими собственной возможностью подключать дополнительные периферийные устройства через разъём USB, в организации полнофункционального USB-хост контроллера стандарта USB 2.0. Несомненно, сейчас уже разработаны и выпущены платы с аналогичными интегрированными возможностями, просто подключай USB-устройство и пользуйся. Что же касается таких ранних моделей Arduino, как UNO, MEGA, Teensy, NANO или даже PRO MINI, не оснащенных столь удобным аппаратным функционалом, то их абсолютно точно не стоит списывать со счетов. Воспользовавшись платой расширения USB Host Shield 2.0, вы сможет привнеси в ваши проекты значительно бóльшие возможности и интересные функции, позволив разрабатываемым конструкциям взаимодействовать с популярными на сегодняшний день USB-устройствами: проводными и беспроводными клавиатурами, мышками, джойстиками, а также: флешками, жёсткими дисками и многими другими. В добавок ко всему, реализована возможность "общаться" с Android-устройствами (смартфоны с версией Android 2.3.4+ и планшеты с версией Android 3.1+).

Модуль собран на микросхеме MAX3421E, содержащую в себе цифровую логику и аналоговые схемы, способную работать в режиме "хост", позволяя вашей Arduino принимать информацию через USB-порт от другого устройства. Хост полностью совместим с высокоскоростными (12 Мб/с) и с низкоскоростными (1,5 Мб/с) периферийными USB-устройствами. Размер платы в точности повторяет мегапопулярную UNO - родоначальницу всего семейства Arduino. Тем не менее, модуль довольно просто устанавливается на все версии MEGA, Leonardo и другие полноразмерные платы с идентичными расположениями коммутационных выводов. Для плат с меньшими размеры потребуется несложное проводное соединение.

Обзор платы

  Обзор платы USB Host Shield 2.0  

 

- Выбор питания - две перемычки под пайку, обозначенные на плате "5V" и "3.3V". Предназначены для различных конфигурация питания. Для Arduino-плат UNO, Duemilanove, Mega и Mega 2560, обе перемычки должны быть закрыты. Подробную информацию о питании для каждой из плат можно найти в соответствующем разделе "Параметры электропитания".
- Силовые выводы - соединяются с силовыми контактами платы Arduino. Модуль использует не все выводы, а только RESET, 3.3V, 5V и GND.
- Аналоговые выводы - не задействованы в модуле. Они предназначены для упрощения монтажа (с сохранением электрической проводимости контактов) для плат расширения, установленных поверх модуля USB Host Shield 2.0
- GPIN выводы - восемь 3.3-вольтóвых универсальных цифровых контактов MAX3421E, принимающие данные. К ним можно подключать кнопки, поворотные энкодеры и т.д. Выводы GPIN могут быть запрограммированы как исходящие прерывания MAX3421E. Пример их использования можно увидеть в проекте "Контроллер на основе Arduino для цифровых камер Canon EOS".
- Разъём ICSP - необходим модулю для приёма/передачи данных по шине SPI. Задействованы контакты SCK, MOSI, MISO и RESET.
- GPOUT выводы - восемь 3.3-вольтóвых универсальных многоцелевых цифровых контактов MAX3421E для вывода информации. Например, можно управлять HD44780-совместимым символьным ЖК-дисплеем, как в проекте с камерами Canon или в проекте с клавиатурой. Библиотека MAX-LCD, входящая в стандартный пакет программного обеспечения USB Host, использует некоторые выводы GPOUT.
- Цифровые I/O выводы 0-7 - точно также, как и аналоговые выводы, не задействованы в модуле, и оставлены для удобства.
- Цифровые I/O выводы 8-13 - изначально, в этой группе задействованы только контакты 9 и 10 для интерфейсных сигналов INT и SS. Остальные выводы сохраняют электро-проводимость. Важно знать и помнить, что на некоторых платах стандартного размера, таких как Duemilanove или UNO, шина SPI расположена в ICSP-разъёме (используемом в этом модуле) и продублирована на выводы 11-13! Поэтому платы расширения, установленные поверх USB Host, и использующие вывод 11-13, будут создавать помехи в шине SPI, способные привести к нестабильной работе модуля USB Host Shield. Контакты SS и INT могут быть переназначены (раздел "Модификация интерфейса"), шина SPI - нет.
- MAX3421E интерфейсные площадки - предназначены для облегчения вносимых в модуль изменений. На контакт GPX, не задействованный модулем, можно назначить прерывание MAX3421E.
- VBUS интерфейсная площадка - предназначена для дополнительных конфигураций питания USB-порта.

Принципиальная схема USB Host Shield v2.0

Техническая документация MAX3421E

Совместимость

  • Все официальные Arduino AVR платы (Uno, Duemilanove, Mega, Mega 2560, Mega ADK, Leonardo и т.д.)
  • Arduino Due, Intel Galileo, Intel Galileo 2 и Intel Edison;
    • В Intel Galileo по умолчанию контакты 2 и 3 задействованы как INT и SS, необходимо внести изменения в настройку модуля. Более подробная информация находится в разделе "Модификация интерфейса"
    • Нативный хост USB этих платформ не поддерживается. Воспользуйтесь модулем USB Host Shield
  • Teensy (Teensy++ 1.0, Teensy 2.0, Teensy++ 2.0, Teensy 3.x, и Teensy LC)
    • Для Teensy 3.x понадобится SPI-библиотека "spi4teensy3", Установите её и добавьте строку
      #include <spi4teensy3.h​​>​
      в ваш .ino файл.
  • Balanduino
  • Sanguino
  • Black Widdow
  • Digilent chipKIT
  • STM32F4
  • ESP8266 поддерживается совместно с библиотекой ESP8266 Arduino core
  • ESP-32 поддерживается совместно с библиотекой Arduino-esp32

Для следующих плат необходима ручная активация в файле settings.h:

  • Arduino Mega ADK (Если вы используете редактор Arduino IDE версии 1.5.5 или новее, нет необходимости производить изменения)
  • Black Widdow

Просто установите соответствующее значение 1 вместо 0.

Модификация интерфейса

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

Связь между микроконтроллерными Arduino-платами и модулем хост-контроллера MAX3421E устанавливается через шину SPI, расположенную в группе из шести контактов - разъёме ICSP. Такое подключение подразумевает использование выводов SCK, MISO и MOSI.

В качества примера можно привести Arduino-плату UNO, у которой шина SPI располагается на выводах 13, 12 и 11, а также продублирована на разъём ICSP. При совмещении обеих плат, соответствующие выводы не могут быть назначены для других целей, кроме связи SPI.

Вместе с тем, модуль USB Host Shield задействует по одному контакту SS и INT (для платы UNO - это выводы 10 и 9 соответственно). Эти выводы могут быть легко перенастроены на другие задачи путём размыкания перемычек на плате USB Host Shield. После чего, к имеющимся рядом отверстиям припаиваются провода для соединения с новыми контактами.

Затем нужно изменить следующую строку в библиотечном файле "UsbCore.h". (Верно для библиотеки USB Host Shield 2.0):

typedef MAX3421e<P10, P9> MAX3421E;

Если вы, например, перенаправляете SS на вывод 7, строка должна выглядеть следующим образом (первый параметр для SS, второй - для INT):

typedef MAX3421e<P7, P9> MAX3421E;

Примерно также меняется параметр для устаревшей библиотеки USB Host Shield версий 1.0 или других на её основе:

Открываем файл библиотеки Max3421e_constants.h, находим строку:

#define MAX_SS 10

и изменяем "10" на "7"

#define MAX_SS 7

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

Приведённый пример отображает в окне "Монитор порта" редактора Arduino IDE перемещение и нажатие кнопок на манипуляторе "мышь", подключенного к порту USB Host Shield. Скетч использует библиотеку "USB Host Shield 2.0".

Вам понадобятся:

  • Плата контроллера Arduino х1
  • Модуль USB Host Shield х1
  • Проводной манипулятор "мышь" х1

Подготовка:

  1. Установите модуль USB Host Shield в вашу Arduino
  2. Скачайте библиотеку "USB Host Shield 2.0" из раздела "Библиотеки" и установите её в директорию Arduino
  3. Откройте файл board_qc в редакторе. Вы сможете найти этот скетч в Arduino IDE: Файл > Примеры > USB Host Shield Library 2.0 > board_qc
  4. Прошейте скетч в Arduino
  5. Откройте окно "Монитор порта" и установите скорость обмена данными 115200 б/с
  6. Получив приглашение, соедините USB-устройство с модулем USB Host Shield через USB-порт.
     
    Checking USB device communication.
     
    Waiting for devices...
    Reset complete. Waiting for the first SOF...

     
  7. Если ваш модуль полностью функционален, в окне монитора порта вы увидите
  Тест модуля USB Host Shield  

 

Скетч (исходный файл скетча)

#include <hidboot.h>
#include <usbhub.h>

// Satisfy the IDE, which needs to see the include statment in the ino too.
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif
#include <SPI.h>

class MouseRptParser : public MouseReportParser
{
protected:
	void OnMouseMove	(MOUSEINFO *mi);
	void OnLeftButtonUp	(MOUSEINFO *mi);
	void OnLeftButtonDown	(MOUSEINFO *mi);
	void OnRightButtonUp	(MOUSEINFO *mi);
	void OnRightButtonDown	(MOUSEINFO *mi);
	void OnMiddleButtonUp	(MOUSEINFO *mi);
	void OnMiddleButtonDown	(MOUSEINFO *mi);
};
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
{
    Serial.print("dx=");
    Serial.print(mi->dX, DEC);
    Serial.print(" dy=");
    Serial.println(mi->dY, DEC);
};
void MouseRptParser::OnLeftButtonUp	(MOUSEINFO *mi)
{
    Serial.println("L Butt Up");
};
void MouseRptParser::OnLeftButtonDown	(MOUSEINFO *mi)
{
    Serial.println("L Butt Dn");
};
void MouseRptParser::OnRightButtonUp	(MOUSEINFO *mi)
{
    Serial.println("R Butt Up");
};
void MouseRptParser::OnRightButtonDown	(MOUSEINFO *mi)
{
    Serial.println("R Butt Dn");
};
void MouseRptParser::OnMiddleButtonUp	(MOUSEINFO *mi)
{
    Serial.println("M Butt Up");
};
void MouseRptParser::OnMiddleButtonDown	(MOUSEINFO *mi)
{
    Serial.println("M Butt Dn");
};

USB     Usb;
USBHub     Hub(&Usb);
HIDBoot<USB_HID_PROTOCOL_MOUSE>    HidMouse(&Usb);

MouseRptParser                               Prs;

void setup()
{
    Serial.begin( 115200 );
#if !defined(__MIPSEL__)
    while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
#endif
    Serial.println("Start");

    if (Usb.Init() == -1)
        Serial.println("OSC did not start.");

    delay( 200 );

    HidMouse.SetReportParser(0, &Prs);
}

void loop()
{
  Usb.Task();
}

Результат

  Результат выполнения скетча для мышки на MAX3421E  

 

Библиотеки

  • USB_Host_Shield_1.0.zip - базовая библиотека, также совместима с модулем USB Host Shield 1.0
  • USB_Host_Shield_2.0.zip - переработанная библиотека, архив содержит:
    • USB ядро для устройств, основанных на MAX3421E;
    • Поддержка HID-устройств, FTDI, ADK, ACM, PL2303;
    • Поддержка Bluetooth HID-устройств;
    • Поддержка устройств хранения информации (жесткие диски и флэшки) MASS STORAGE;
    • Поддержка SPP-связи;
    • Поддержка контроллеров PS4, PS3, Wii, XBOX, XBOX360, XBOX ONE, PSBuzz (мыши, клавиатуры);
    • Поддержка MIDI клавиатур;
    • Примеры и исходники

Похожие позиции

1410 р.
Арт. 12382
Уже в корзине
менее 100 шт.
790 р.
Арт. 12207
Уже в корзине
менее 100 шт.
1420 р.
Арт. 13966
Уже в корзине
менее 10 шт.
200 р.
Арт. 10680
Уже в корзине
менее 10 шт.
760 р.
Арт. 13004
Уже в корзине
менее 20 шт.
footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru