Conecte dispositivos USB ao Arduino usando o USB Host Shield 96

Neste artigo vamos ver uma forma de expandir a comunicação do Arduino com o mundo externo utilizando o Arduino USB Host Shield, uma placa na qual você pode ligar teclados, mouses, joysticks, celulares e praticamente qualquer dispositivo USB.

USB Host Shield Android

Antes de entrar nas propriedades do módulo, precisamos falar sobre o que é um USB Host.

Quando você conecta um mouse no seu computador, o seu computador é o USB Host (servidor), fornecendo energia e gerenciando a comunicação com o USB Client (no caso, o mouse, também chamado de “periférico”). Em toda comunicação USB você precisa de um USB host e um USB client.

No Arduino, o USB Host Shield vai atuar como um “servidor” USB, gerenciando a conexão, fornecendo alimentação USB  e permitindo a comunicação entre o Arduino e outros dispositivos como teclados, mouses, celulares, leitores de código de barras, controles de videogames (como PS3, PS4 e XBox), câmeras USB e até HD´s externos. E o que mais pudermos inventar, obviamente.

O Arduino USB Host Shield é compatível com Arduino Uno, Duemilanove, Diecimila, Arduino Mega 2560 e 1280, comunicando-se com o Arduino por meio da interface SPI.

Conectando um teclado USB ao Arduino USB Host Shield

Vamos mostrar dois exemplos de utilização dessa placa com o Arduino Uno. Como estamos trabalhando com um shield, basta encaixá-la sobre o Arduino, conforme a imagem:

Usb_Host_Shield_Arduino_Uno

Antes de carregarmos o primeiro programa vamos precisar da biblioteca USB Host Shield 2.0, disponível neste link. Descompacte o arquivo, renomeie a pasta USB_Host_Shield_2.0-master para USB_Host_Shield_2.0 e coloque-a dentro da pasta Libraries da IDE do Arduino.

O programa que vamos utilizar é baseado no programa de exemplo USBHIDBootKbd, da própria biblioteca. Criamos uma versão modificada (e reduzida) que mostra no serial monitor os caracteres digitados:

// Programa : Teste teclado no Arduino USB Host Shield
// Alteracoes e adaptacoes : MakerHero
// Baseado no exemplo USBHIDBootKbd da biblioteca USB_Host_Shield_2.0

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

class KbdRptParser : public KeyboardReportParser
{
    void PrintKey(uint8_t mod, uint8_t key);

  protected:
    void OnKeyDown	(uint8_t mod, uint8_t key);
    void OnKeyPressed(uint8_t key);
};

void KbdRptParser::PrintKey(uint8_t m, uint8_t key)
{
  MODIFIERKEYS mod;
  *((uint8_t*)&mod) = m;
};

void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
{
  uint8_t c = OemToAscii(mod, key);
  if (c)
    OnKeyPressed(c);
}

void KbdRptParser::OnKeyPressed(uint8_t key)
{
  // Se a tecla ENTER foi pressionada, vai para a linha seguinte
  if(key == 19)
  {
    Serial.println((char)key);
  }
  // Caso contrario, imprime na mesma linha
  else
  {
    Serial.print((char)key);
  }
};

USB     Usb;
//USBHub     Hub(&Usb);
HIDBoot<HID_PROTOCOL_KEYBOARD>    HidKeyboard(&Usb);

uint32_t next_time;

KbdRptParser Prs;

void setup()
{
  Serial.begin( 115200 );
  Serial.println("Utilize o teclado USB...");

  if (Usb.Init() == -1)
    Serial.println("USB Host Shield nao encontrado !");
  delay( 200 );
  next_time = millis() + 5000;
  HidKeyboard.SetReportParser(0, (HIDReportParser*)&Prs);
}

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

Carregue o programa, conecte o teclado USB ao Arduino USB Host Shield e abra o serial monitor setando a velocidade de conexão para 115200. Aguarde alguns instantes para começar a digitar:

Serial Monitor - Teste teclado

Vale a pena dar uma olhada no programa original, que mostra se a tecla foi pressionada ou liberada, mostra o número das teclas e também trata das teclas “especiais”, como shift, ctrl, etc. É uma boa referência se você precisar criar algum programa que faça uso do mapeamento do teclado.

Utilize o Arduino USB Host Shield com um celular Android

Uma das utilizações mais interessantes do USB Host Shield é a possibilidade de conectar um celular com Android e fazer com que ele envie e receba dados do Arduino.

Nesse caso serão necessários alguns conhecimentos sobre programação em Android, mas você pode, por exemplo, criar um programa que envie as informações do GPS para o Arduino. Ou configurar o celular para, caso este receba uma chamada ou SMS, acione uma porta do Arduino, envie mensagens para um display, toque uma sirene, etc.

Nessa mesma biblioteca que baixamos anteriormente, vamos encontrar o programa ArduinoBlinkLED, que já pode ser carregado no Arduino. Na IDE, o programa está em Arquivo => Exemplos => USB_Host_Shield_2.,0 = > adk:

#include <adk.h>

#if defined(LED_BUILTIN)
#define LED 2 // Use built in LED
#else
#define LED 2 // Set to something here that makes sense for your board.
#endif


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

USB Usb;
ADK adk(&Usb, "TKJElectronics", // Manufacturer Name
              "ArduinoBlinkLED", // Model Name
              "Example sketch for the USB Host Shield", // Description (user-visible string)
              "1.0", // Version
              "http://www.tkjelectronics.dk/uploads/ArduinoBlinkLED.apk", // URL (web page to visit if no installed apps support the accessory)
              "123456789"); // Serial Number (optional)

uint32_t timer;
bool connected;

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
  if (Usb.Init() == -1) {
    Serial.print("rnOSCOKIRQ failed to assert");
    while (1); // halt
  }
  pinMode(LED, OUTPUT);
  Serial.print("rnArduino Blink LED Started");
}

void loop() {
  Usb.Task();

  if (adk.isReady()) {
    if (!connected) {
      connected = true;
      Serial.print(F("rnConnected to accessory"));
    }

    uint8_t msg[1];
    uint16_t len = sizeof(msg);
    uint8_t rcode = adk.RcvData(&len, msg);
    if (rcode && rcode != hrNAK) {
      Serial.print(F("rnData rcv: "));
      Serial.print(rcode, HEX);
    } else if (len > 0) {
      Serial.print(F("rnData Packet: "));
      Serial.print(msg[0]);
      digitalWrite(LED, msg[0] ? HIGH : LOW);
    }

    if (millis() - timer >= 1000) { // Send data every 1s
      timer = millis();
      rcode = adk.SndData(sizeof(timer), (uint8_t*)&timer);
      if (rcode && rcode != hrNAK) {
        Serial.print(F("rnData send: "));
        Serial.print(rcode, HEX);
      } else if (rcode != hrNAK) {
        Serial.print(F("rnTimer: "));
        Serial.print(timer);
      }
    }
  } else {
    if (connected) {
      connected = false;
      Serial.print(F("rnDisconnected from accessory"));
      digitalWrite(LED, LOW);
    }
  }
}

O ArduinoBlinkLED trabalha em conjunto com um aplicativo que tem o mesmo nome, e aciona uma das portas do Arduino quando enviamos o comando pelo celular. No programa acima, vamos utilizar a porta 2 do shield:

Circuito Arduino Uno USB Host Shield

O instalador (APK) do ArduinoBlinkLED pode ser baixado neste link. Copie o arquivo ArduinoBlinkLED.apk para o seu celular e utilize o gerenciador de arquivos para instalar o programa:

ArduinoBlinkLED Install

Conecte o celular ao USB Host Shield e abra o aplicativo:

ArduinoBlinkLED

Acione a botão no centro da tela para acender e apagar o led ligado à porta 2:

Circuito_USB_Host_Shield

O celular mostrado acima possui Android versão 4.0.4 mas o programa funciona à partir da versão 2.3.4.

Se você deseja conhecer um pouco mais sobre a programação para o USB Host Shield e desenvolver seus próprios aplicativos, o desenvolvedor disponibliza o código fonte do programa utilizado acima no link https://github.com/Lauszus/ArduinoBlinkLED.

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

96 Comentários

  1. Quais tipos de sinal o arduíno pode receber? (Wireless, Infra vermelho)
    Estamos desenvolvendo um projeto na qual o intuito é não usar fios do pedal do freio até o arduíno.

    1. Olá Miguel,

      Ele pode utilizar diversos sinais, desde que acoplado com os módulos adequados.
      Pode utilizar Wi-Fi, RF 433 MHz
      Seguem alguns exemplos:
      https://www.makerhero.com/blog/modulo-rf-transmissor-receptor-433mhz-arduino/
      https://www.makerhero.com/blog/primeiros-passos-lora-com-arduino/
      https://www.makerhero.com/blog/tutorial-modulo-bluetooth-com-arduino/

      Abraços!
      Vinícius – Equipe MakerHero

  2. Olá, boa noite. Estou com dificuldades para fazer o USB Shield funcionar.
    A verificação (Usb.Init() == -1) do setup sempre retorna true, ou seja, o Shield parece não estar iniciado corretamente. O que poderia causar isso ?

    1. Olá,

      Verifique se os jumpers de configuração de alimentação estão devidamente configurados com as pontes de solda.

      A documentação do shield que informa todas as opções está aqui (em inglês): https://chome.nerpa.tech/usb-host-shield-hardware-manual/

      Abraços!
      Vinícius – Equipe MakerHero

  3. Amigo meu usb shilde conectado em cima do ardoino, é reconhecido porem na hora de testar os botões, aparece símbolos, tipo quando um arquivo word ta corrompido,ja testei com teclado e controle xbox usb e nada, me ajuda por favor

    1. Olá José,

      Você alterou o campo da velocidade no monitor serial para 115200?

      Abraços!
      Vinícius – Equipe MakerHero

  4. Bom dia!
    Eu poderia usar este host shield para para capturar arquivos texto de um PC windows pela USB e tratar usando um ESP 32 com memória externa para depois enviar por BT ou Wifi ?

    1. Olá Leonardo,

      Não consegui encontrar nada a respeito do módulo sendo empregado dessa forma, então acredito que não seria possível.

      Abraços!
      Vinícius – Equipe MakerHero

  5. Me ajude….quero usar teclado usb e ao tocar em cada tecla produza um som mp3 pre configurado com um leitor de cartao tff…se puder as ligaçoes e o codigo……quero montar um brinquedo e estou iniciando agora com arduino e estou apaixonado…..

    1. Olá Antônio,

      Obrigado por ter compartilhado a sua ideia com a gente 🙂

      Você pode lançar a sua ideia e dúvidas na nossa comunidade do Facebook, por lá o pessoal Maker está compartilhando conhecimento e projetos. Veja só: https://www.facebook.com/groups/272908123918982

      Abraços!
      Vinícius – Equipe MakerHero

  6. Caso eu conecte a SHIELD um teclado USB e tenha um display seria possível e como eu poderia fazer para as entradas via teclado serem exibidas no display (por exemplo um display como: o Display LCD TFT Touch Shield 3.5″ para Arduino ou o Display LCD Nokia 5110)?

    1. Desculpe, Wandeson, mas não consegui entender o que você deseja executar.

      Abraços!
      Diogo – Equipe MakerHero

  7. Olá, consigo usar uma impressora térmica USB com esse shield ?

    1. Peter,

      Acredito que não deva ter problemas com isso.

      Abraços!
      Diogo – Equipe MakerHero

  8. preciso conectar um dispositivo usb que necessita de um driver, como faço para colocar esse driver para que essa placa reconheça o meu dispositivo?

    1. Victor,

      Não há como instalar drivers na placa Arduino.

      Abraços!
      Diogo – Equipe MakerHero

  9. Consigo usar esse modulo no ESP32?
    Caso não seja possível você conhece algum, modulo desse tipo que funcione no ES32?

    1. João,

      Infelizmente não é possível.

      Abraços!
      Diogo – Equipe MakerHero

  10. Posso usar controle de ps2 usb na placa usb host shield?

  11. Olá, gostaria de saber se o Arduíno USB Host Shield, pode ser acrescentar uma impressora térmica para fazer impressão de respostas a um projeto com Arduíno? Desde já agradeço e no aguardo da resposta!

  12. Olá, eu tentei de todas as formas conectar dispositivos bluetooth na USB host Shield e nada. Tentei o exemplo board_qc e está tudo certo.
    Dongles até ligam mas não enviam dados para o arduino.
    Comprei cerca de 10 adaptadores bluetooth e não funcionam.
    Na board qc fica “Waiting for device” conecto um por um e nada.
    Tentei outros exemplos como PS3BT e Xboxrecv e nada também. Todos os dispositivos quando conectados ao Pc funcionam perfeitamente na placa não. USB host Shield Keyes.

  13. Boa tarde.

    Como consigo saber se minha Usb host está queimada?

    Patrick Fernandes da Silva
    1. Patrick,

      Qual o problema que ela apresenta?

      Abraços!
      Diogo – Equipe MakerHero

  14. Consigo “substituir” o HC-05, por Arduíno Mega 2560 + USB Host Shield + Adaptador Bluetooth 2.0 USB.
    Esses componentes eu já tenho por conta de outro projeto, já o HC-05 apesar de parece mais simples sua utilização, eu terei que comprar.
    Intuito disso, quero controlar um lâmpada (on, off) utilizamos o celular!

    Desde já agradeço a ajuda

    1. João,

      Em tese deve funcionar, levando em consideração que para comunicação Bluetooth não necessita de bibliotecas específicas e tudo mais.

      Abraços!
      Diogo – Equipe MakerHero

  15. Olá pessoal poderia me tira uma dúvida, estou como uma placa arduino uno, usb host shield junto com uma ponte h l293d, mas a placa usb não está reconhecendo o Bluetooth nem está acendendo a luz para ser configurado o que deve ser?

    Rodrigo Do Nascimento machado
    1. Olá Rodrigo,

      Como você está fazendo a conexão como USB Host Shield com o módulo bluetooth?

      Abraço!
      Rosana – Equipe MakerHero

  16. Olá onde posso encontrar um exemplo de uma Impressora USB conectada através da placa USB Host Shield ?

    1. Olá Marcos,

      Infelizmente não temos um tutorial sobre impressoras USB conectadas através da placa USB Host Shield?
      Temos esse exemplo da impressora com o Arduino: https://www.arduinoecia.com.br/2016/07/impressora-arduino-termica-embarcada.html

      Abraço!
      Rosana – Equipe MakerHero

  17. Existe algum preparativo especial antes de plugar a placa usb host shield no arduino?
    Pergunto pois tenho uma e ao plugar no arduino uno nao consigo nem upar código pra ela.

    Na minha placa arduino havia aquele demo do programa blink.
    Quando plugo a shield do usb host e ligo ele, essa aplicação nem roda.

    Acredito que ela estar com problemas certo?

    1. Olá Flávio,

      Tente carregar o código para a placa sem o Shield conctado. Depois do código carregado, conecte o shield no Arduino. O que acontece?
      O LEDS do Arduino continuam ligados depois que você conecta o shield?

      Abraço!
      Rosana – Equipe MakerHero

  18. Quais as portas que ele ocupa? Preciso saber se vai caber um relógio e um display.

    1. Olá Marcio!

      Ele consome somente 4 portas para a comunicação SPI, o resto está livre.
      Cabe um display e um relógio.

      Abraços!

      André – Equipe MakerHero

      1. Amigo poderia por um ethernet shild , neste meu caso iria precisar ler teclado e enviar dados digitados via ethernet

        1. Olá!

          É possível sim! Basta utilizar os pinos que existem no shield!

          Abraços!

          André – Equipe MakerHero

  19. Olá!
    O exemplo do teclado (e de outros periféricos) funcionam muito bem, mas, quando o assunto é Android, estou tendo problemas…
    Vinha tentando em um Samsung Galaxy J1 Mini, com Android 5.1.1. Nada funciona nele. Inclusive outros projetos que uso o Amarino (necessita Bluetooth) não rodaram. Só consegui rodar um programa neste celular com um APP criado por um rapaz dos EUA para piscar 3 LEDs. Eu usei módulo Bluetooth HM-11, talvez o Amarino tenha sido desenvolvido para parear apenas com dispositivos cuja versão do bluetooth é 2.0, como os clássicos HC-05 e HC-06, e não BLE 4.0, que é a tecnologia utilizada pelos módulos HM-10 e HM-11. Citei esse caso pois quem está utilizando a tecnologia ADK, eventualmente irá executar projetos wireless, e o problema relatado acima poupará dias de pesquisa, tentativa, erro…
    Mas voltando ao ADK, funcionou parcialmente em um Tablet da Samsung, um Galaxy Tab SM-T800 , com Android 6.0.1. Não funcionou no celular descrito acima de jeito nenhum.
    Para funcionar no Tablet, a conexão só é realizada uma vez, e funciona muito bem. Lembrando que é necessário o dispositivo Android estar conectado ao USB Host no momento do Upload e com o ambiente do APP aberto (no caso, o Arduino Blink LED). Pois bem, feito tudo isso, se eu abrir o Monitor Serial ou desconectar o tablet do Arduíno, a conexão cai e só consigo realizar nova conexão reiniciando o dispositivo Android. Perder a conexão ao remover o cabo do Tablet ou retirar o Arduíno da alimentação de energia tem como resultado óbvio a perda da conexão, mas ter esse resultado somente por abrir o monitor serial é um mistério pra mim.
    Outra curiosidade é que funciona bem melhor quando o Arduíno está sendo alimentado, tanto de energia como para Upload, na única porta USB 2.0 que tenho (que é a indicada para alimentação de energia), apresentando funcionamento ainda mais instável nas outras 2 portas USB 3.0 que possuo.
    Alguém aqui do fórum teve problemas semelhantes? Sabem o que é e como posso contornar? Adilson Thomsen, o que vc acha que pode ser? Estou pra enlouquecer com isso, cheguei no nível de considerar a possibilidade de tacar tudo na parede, rs.

    Abs

    Espero que todos tenham tido um ótimo Natal e que 2019 seja um ano incrível para todos 🙂

    Samuel Vaz

  20. Prezado Adilson

    Os teclados musicais abaixo de R$3.000,00 só têm saída USB e a maioria dos módulos geradores de som (Roland, Yamaha, Korg etc) só têm entrada MIDI. Existem interfaces para vender mas ela só são capazes de fazer a comunicação dos teclados USB com computadores e não com módulos.

    Você teria algum exemplo de uma interface que transformasse as mensagem emitidas pelas sáidas USB em códigos MIDIspara poderem ser lidos pelos módulos geradores de sons autônomos, sem passar por um computador ?

    Grato

     

    Celso William

    [email protected]

    1. Olá Celso!

      Você conhece o nosso fórum? https://www.makerhero.com/forum/

      É o tipo de pergunta que geralmente tem uma resposta por lá!

      Abraços!

  21. Tem um exemplo usando ele para ler os arquivos de um pen drive?

  22. Adilson,
    gostaria de conectar um scanner LS2208 ao Arduino usando o USB host Shield…
    Vc tem uma rotina para fazer esta conexão? Poderia ceder?

  23. Olá! Estou tentando conectar um leitor de código de barras no arduino Mega, usando o USB Host Shield. Mas aparece essa mensagem de erro.

    Como sou iniciante peço a ajuda de vocês!

    C:\Users\Andrei\Desktop\LEITOR CÃ’DIGO DE BARRAS\MakerHero\sketch_nov11a\sketch_nov11a.ino:7:21: fatal error: hidboot.h: No such file or directory

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino/Genuino Mega or Mega 2560

    Grato pela atenção!

  24. Olá gostaria de saber como consigo resolver o seguinte erro, já vi varios posts mais nenhum deu certo:
    USB_HID_PROTOCOL_KEYBOARD’ was not declared in this scope

  25. montei o Pan/Tilt, funcionou direitinho.
    Gostaria de ter um programa para gravar no pc, através do cabo USB, uma série de movimentos, em seguida rodar o programa no pc e repetir os mesmos movimentos do Pan/Tilt, quantas vezes quiser.
    Será que consigo por aqui?
    Obrigado.
    martins.

  26. Bom dia
    Quando compilo dá sempre o seguinte erro:
    (fatal error: usbhub.h: No such file or directory)

    Mas o ficheiro usbhub.h está na diretoria libraries na pasta USB_Host_Shield_2.0 assim como a hidboot.h e essa não dá erro.
    Alguém me pode ajudar por favor?

  27. Boa tarde, gostaria de saber se com esse modulo eu consigo conectar o celular ao arduino e enviar e receber dados?

    Você teria exemplos dessa comunicação?

    No caso eu queria mandar strings e números.

    Por exemplo se um sensor enviasse o numero zero ‘0’, apareceria no celular led apagado. Um ‘1’, led aceso.
    E caso ele mande uma string tipo meu nome, “Stella Marques” Esse nome apareça na tela do celular. Consigo fazer isso? Você tem exemplos ou dicas de onde procurar isso?

  28. Boa tarde, gostaria de saber se com esse modulo eu consigo conectar o celular ao arduino e enviar e receber dados?

    Por exemplo, recebo uma string, no arduino, mando essa string por uma variável para o celular, e essa string, é processada pelo celular e é mostrado algo na tela do celular.

    Consigo fazer isso?

    Você teria exemplos dessa comunicação?

    No caso eu queria mandar strings e números.

    Por exemplo se um sensor enviasse o numero zero ‘0’, apareceria no celular led apagado. Um ‘1’, led aceso.
    E caso ele mande uma string tipo meu nome, “Stella Marques” Esse nome apareça na tela do celular. Consigo fazer isso? Você tem exemplos ou dicas de onde procurar isso?

  29. Pessoal, estou a procura de uma ajudinha aparentemente simples, no entanto nada longe do assunto aqui discutido, a ideia é a comunicação do USB host + MSR605, gostaria em um primeiro momento apenas controlar os leds da maquina, usei a library 2.0 e o exemplo PL2303 modificando basicamente apenas para o comando //uint8_t data= Serial.read(); uint8_t data2= 0x1b, data3=0x82; que seriam responsáveis (descritos no manual) por acender e apagar todos os leds, mais não é o que acontece, alguém pode ajudar! Grato.

    1. Bem mais aliviado, gostaria de deixar registrado que consegui resolver o problema!!! Eram meros detalhes na própria biblioteca USB Host 2.0 (problemas de incompatibilidade) contudo, pequenas alterações e inclusões vide manual, fizeram toda a diferença para ganhar o controle do produto. Dica:. IDVendor outros detalhes há futuros interessados será sempre um prazer poder ajudar!

  30. Eu estou realizando um projeto em que um Scanner barcode, conectado ao shield USB, lê um bar code e envia o número a uma variável do Arduino Uno que verifica, dentro da programação, qual é o número e, baseado nessa informação, se realiza uma ação no projeto. Existe alguma função que faça essa passagem de leitura para escrita ou qualquer sugestão para eu fazer isso?

    1. O codigo desse post, guarda o valor lido em uma variavel, mas apenas um numero, como você irá ler um codigo de barras teria que conctenar esses valores e guardar em uma string, depois disso executar o comando if.

  31. Como faço para pegar dados de arquivos txt em pendrives?com a biblioteca principal ou ate mesmo a 2.0.

  32. Uma dúvida… É possível conectar um pen drive ao shield, e utilizá-lo para reproduzir arquivos de áudio de acordo com as entradas setadas em um Arduíno mega?

  33. quando eu vou compilar o codigo do teste do teclado aparece a seguinte mensagem:
    ‘HID_PROTOCOL_KEYBOARD’ was not declared in this scope
    alguem sabe o erro?

    1. Também estou com esse problema. Alguém poderia ajudar? Obrigado!

    2. add “USB_HID_PROTOCOL_KEYBOARD” no lugar de “HID_PROTOCOL_KEYBOARD”

  34. Uma informação por favor …

    No exemplo da conexão do teclado no shield, se invés de um tecladoi USB eu utilizasse um teclado sem fio onde eu colocaria na entrada USB do Shield o Trasncever que vem junto com o teclado , eu digitando no teclado teria o que foi digitado na Serial ? grato.

  35. Poderiam ajudar… usei este usb host Shield com o Arduíno R3… consegui controlar normalmente um servo pelo controle de ps3 mas os leds não acendiam direito(fikavam bem fracos) utilizei 9V de tensão… devo aumentar mais a tensão,ou a corrente? Obrigado

    1. Talvez tenha esquecido de definir os pinos dos LEDs como OUTPUT usando a função pinMode. Já aconteceu isso comigo, e eu não achava o problema, que era bem simples. kkk

  36. Alguém adquiriu esse shield e utilizou com mais teclados? obtiveram sucesso ou existiram alguns teclados que não “funcionaram”.

    grato

  37. Bom dia Srs.

    Como devo proceder para conectar este USB host shield em conjunto com Ethernet Shield?
    Está causando conflito de pinagem e o shield superior nunca funciona.

    Att,
    Fernando

    1. Boa tarde Fernando,

      O problema provavelmente é pq o Ethernet Shield e o USB Host Shield utilizam os mesmos pinos para a interface SPI, mais precisamente o pino 10 (SS).

      No USB host shield você consegue alterar o pino SS. Dê uma olhada neste link, por favor: https://www.circuitsathome.com/usb-host-shield-hardware-manual

      Abraço.

      Adilson – Equipe FUILIPEFLOP

      1. Olá;

        comprei este usb host shield, mas a dúvida é que não vem com o conector icsp para empilhar com ethernet shield, é assim mesmo?

        1. Boa tarde,

          Ele vem com o conector ICSP fêmea, igual ao que vem com o ethernet shield, para encaixar no Arduino.

          Abraço.

          Adilson – Equipe MakerHero

          1. Exatamente. Mas e se eu tenho q colocar o ethernet shield sobre ele, imagino que ele deveria vir com os pinos macho pra cima, pro ethernet shield pegar, ou não?

            Eder Paulo Pereira
          2. Boa tarde Eder,

            Sim, mas no caso, o USB Host Shield vem apenas com o conector fêmea. No tipo de configuração que você precisa, seria necessário trocar o conector.

            Abraço.

            Adilson – Equipe MakerHero

            Adilson Thomsen
      2. Amigo, infelizmente o site indicado está fora do ar. Poderia dar mais informações sobre como fazer?

  38. Olá, em qual versão da IDE foi feito os testes? Pois carreguei a biblioteca na versão 1.0.1 e nenhum dos códigos de exemplos sequer compilam, sempre retornam alguns erros. Obrigado!

    1. Bom dia Filipe,

      A versão da IDE utilizada nos testes foi a 1.6.1

      Abraço

      Adilson – Equipe MakerHero

  39. Boa noite,
    Comprei 2 scanners barcode wifi da China e ambos queimaram o receptor ao conectar neste host USB. Alguma dica? Estou com receio de conectar qualquer outro scanner para tentar novamente. Grato

    1. Boa tarde Fernando,

      Não temos informações de nenhuma queima causada pela placa, inclusive testamos com vários aparelhos como mouse, teclado, pendrive, e não tivemos problemas.Esse scanner que você comprou tem algum tipo de documentação para verificarmos se há alguma incompatibilidade com a porta USB ? O cabo de ligação é um cabo comum ?

      Abraço!

      Adilson – Equipe MakerHero

      1. Boa tarde amigos,

        Obrigado pelo pronto retorno, enfim deve ter queimado por ser um scanner de baixa qualidade. Mas comprei um outro com fio de boa marca e funcionou perfeitamente, porém preciso de uma ajuda.

        Estou com este USB Shield conectado a um Leonardo e quando alimento através da USB do notebook e também uma fonte 12V 1A então o meu scanner é ativado perfeitamente no momento que conecto a este USB Shield, mas se eu desconecto a alimentação do notebook deixando apenas a fonte 12V o scanner desliga. Já tentei outras fontes porém de 9V 1000mA mas também sem sucesso.

        Alguém sabe o que poderia ser? E como posso fazer para que mantenha alimentado?

        Obrigado pela ajuda,
        Att,
        Fernando

  40. Olá, tenho uma dúvida. Da para aclopar o ethernet shield em cima e conectar um repetidor nele, enviando assim, por exemplo, a imagem de uma câmera USB para o notebook, em um software?

  41. Boa tarde Adilson,
    Esse shield conseguiria pegar tag de um leitor rfid usb tranquilamente, sem a necessidade de algo mais?
    Como por exemplo conecto esse leitor rfid usb no pc e o mesmo , me escreve a tag no bloco de notas.
    att

    1. Bom dia Pedro,

      Não fiz esse teste, mas creio que funcione sim, já que pela sua descrição, ele funciona como um dispositivo de entrada comum (como um teclado, por ex.).

      Abraço!

      Adilson – Equipe MakerHero

      1. Essa questão pode ser muito mais ampla, caso seu leitor seja nativamente USB, ele provavelmente utiliza o protocolo PCSC, não lembro se este protocolo utiliza a classe HID, caso sim, pode ser que você consiga.

  42. Olá. Posso usar esse shield no Arduino Leonardo? Se não, qual a alternativa? Ou o Leonardo não precisa de shield USB? Grato.

  43. Olá. É possível utilizar esse shield com o Arduino Leonardo? Se não, como poderia contornar esse problema? Ou o Leonardo não precisa desse shield? Grato.

  44. Boa tarde Srs.

    Saberiam me dizer porque ao tentar compilar este código o meu Arduino IDE fica processando sem retornar erro e também nao finaliza a compilação?

    Att,
    Fernando

  45. ola boa noite gostaria de saber se com este shield é possivel fazer um auto download por exemplo ao eu conectar meu pendriver o arduino copie todos os arquivos do pendriver e passe para um cartao de memoria ou ao conectar um celular android ele copie todos os arquivos tipo conversas contatos chamadas etc…

    1. Sim, você pode implementar isso

  46. Consigo fazer um datalogger usb?

    1. Bom dia Brendo,

      Você está pensando em ligar um pendrive no USB Host, por exemplo?

      Abraço

      Adilson – Equipe MakerHero

  47. Olá, Boa Tarde.

    Há possibilidade de Ler/Escrever em um pendrive utilizando este shield?

    1. sim é o mesmo que o ethernet shild faz com o cartao sd

  48. Prezados,

    Será que da para utilizar este modulo, por exemplo com uma WebCan Usb?
    E pegar a imagem e enviar para o Android?

    Agradeço desde Já a colaboração.

    Anderson Dutra de Oliveira.
    1. Bom dia Anderson,

      Não testamos nessa configuração, mas você terá que programar o Arduino para pegar os dados da câmera, creio que seja a mesma coisa que criar um “driver” para a câmera, dentro do Arduino. Vai dar um certo trabalho.

      Abraço.

      Adilson – Equipe MakerHero

  49. Olá, é possível conectar um modem, para ter internet das operadoras como Claro, VIVO, etc?
    Caso sim, vocês têm exemplo?

    Agradeço.
    Ricardo.

    1. Boa tarde Ricardo,

      Infelizmente não testamos o shield USB com modem.

      Adilson – Equipe MakerHero

    2. É mais simples você comprar um shild 3g

      1. Boa noite! gostaria de saber se consigo conectar uma controladora Midi USB.

        ANTONIO HENRIQUE COELHO DUTIL
        1. Olá Antonio,

          Acredito que sim, porém você terá de fazer toda a programação, criar o driver para o Arduino comunicar com a controladora Midi.

          Vai dar um certo trabalho.

          Abraço!
          Vinícius – Equipe MakerHero

  50. O link com o arquivo que eu tenho que baixar não esta funcionando, tem como me mandar por e-mail?

    1. Boa noite Guilherme,

      É o link da biblioteca ? Parece que está normal, tente novamente, por favor.

      Grato.

      Adilson – Equipe MakerHero

  51. Olá. Boa Tarde.

    Daria para conectar uma WebCam nesse Host USB e utiliza-la para tirar foto?? Se sim, tem uma ideia do código de captura??

    Att,
    Wesley.

    1. Pelo que parece sim, ele daria suporte, já que o shield não possui inteligencia alguma, seria necessário adaptar toda a pilha USB no arduino. Alem do fato do desempenho baixo.
      Você não deve se preocupar com código e sim com a classe USB

    2. acredito que o arduino não tenha memória suficiente nem para guardar uma foto bem pequena em sua memória temporária…