Programação do Arduino Leonardo Usando bibliotecas USB Tyler James Dennis 2013/04/05 Tyler Dennis ECE 480 Equipe 5 O seguinte aplication note dá ao leitor o conhecimento básico necessário para começar a programar um Arduino Leonardo usando bibliotecas USB. O documento descreve as etapas para configurar o Arduino Leonardo, descreve as
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Programação do Arduino Leonardo
Usando bibliotecas USBTyler James Dennis
2013/04/05Tyler Dennis
ECE 480 Equipe 5
O seguinte aplication note dá ao leitor o conhecimento básico necessário para começar a programar um Arduino Leonardo usando bibliotecas USB. O documento descreve as etapas para configurar o Arduino Leonardo, descreve as funções da biblioteca USB, e conduz o leitor através de um programa de exemplo.
Índice
Introdução ao Arduino..................................... 1
Introdução ao ArduinoUm Arduino é um microcontrolador. A linha de microcontroladores Arduino foi projetada especificamente para simplificar a criação de protótipos eletrônicos para amadores e pequenos projetos de design. O Arduino é programado utilizando a linguagem de programação Arduino, que se baseia na linguagem de programação de fiação. O software Arduino utiliza um ambiente de desenvolvimento que se baseia na IDE existente, Processamento.
Arduino Leonardo
Figura 1. O Arduino Leonardo
Ao contrário das outras placas Arduino, o Arduino Leonardo tem um único microcontrolador para a conexão USB e o usuário que cria programas
Arduino. Isto dá ao utilizador uma maior flexibilidade quando se trata de reconhecimento do dispositivo por um computador. O Leonardo também oferece mais funcionalidade como um dispositivo de entrada do que outros modelos Arduino. Isto é devido ao facto de que ele é reconhecido como um dispositivo de entrada na conexão ao computador através de uma porta USB. O Leonardo tem 20 pinos de entrada / saída, que dão ao usuário a abundância de entradas e saídas para o máximo de funcionalidade. A placa também foi construída com uma porta de alimentação jack micro-USB para suportar o uso de uma fonte de alimentação externa.
Introdução ao Arduino LeonardoA fim de começar a usar o Leonardo, o usuário precisa dos seguintes itens:1. Computador Pessoal2. Cabo Micro-USB
1) Baixe o Arduino IDEO Arduino IDE é o ambiente em que o Arduino Leonardo pode ser programado. Este software é uma ferramenta necessária para o
desenvolvedor. O Arduino IDE pode ser baixado do site do Arduino. No link fornecido abaixo:
http://arduino.cc/en/Main/Software
2) Conecte a placa ao computador usando um cabo micro-USB. Uma vez conectado, o Arduino Leonardo começará a receber energia através da conexão USB. O LED verde com a indicação "ON" se acenderá.
3) Faça o download dos drivers ArduinoOs drivers mais recentes Arduino podem ser localizados e transferidos através do gerenciador de dispositivos do Windows. Basta clicar no dispositivo Arduino Leonardo na lista e escolha Atualizar driver. O usuário precisa garantir que os drivers serão baixados na a pasta apropriada. A Figura 2
4)Escolha o dispositivo preferidoA fim de incluir as bibliotecas necessárias, o usuário precisa optar por usar o Arduino Leonardo através do Arduino IDE. A fim de fazer isso o usuário precisa executar o seguinte dentro do IDE:
Uma vez que os passos 1 a 4 foram concluídos, o Arduino Leonardo pode ser programado.
Funções da biblioteca USBO Arduino Leonardo é uma das poucas placas Arduino que podem ser programados usando bibliotecas USB. Essas bibliotecas permitem que o usuário facilmente emular um teclado ou mouse usando o Arduino Leonardo. As bibliotecas USB são automaticamente incluídas no programa quando o usuário optar por usar o Arduino Leonardo através do Arduino IDE. Alguns dos comandos básicos do teclado e do mouse emulação são explicados abaixo.
mouseMouse.begin () e Mouse.end ()A função begin () inicia a biblioteca mouse. Isso permite que o Leonardo possa começar a funcionar como um mouse. Por outro lado, a função end () interrompe a emulação.Mouse.click ()A função click () emula um clique do mouse. Os padrões de função do botão esquerdo do mouse em um clique. No entanto, a função click () pode aceitar três parâmetros diferentes:
MOUSE LEFT - Clique no botão esquerdo do mouse MOUSE_RIGHT - Clique no botão direito do mouse MOUSE MIDDLE - Clique no botão do meio do mouse
Mouse.move ()A função move () permite que o Leonardo controlar a localização do cursor do mouse na tela. A função move () requer três argumentos inteiros: xVal - Define a quantidade o cursor se move no eixo-x yVal - Define o valor que o cursor se move no eixo-y wheel - Define a quantidade dos pontos da roda de rolagem
Mouse.press () e Mouse.release ()A função press () opera de forma semelhante à função click (). No entanto, a função press () mantém o botão escolhido até que seja liberado manualmente com a função de release (). As funções press () e release() valem para os botões padrão tanto para o botão esquerdo do mouse, mas pode aceitar os mesmos argumentos que a função click ().
Mouse.isPressed ()A função IsPressed () retorna um valor booleano (true ou false) se uma determinada
tecla é pressionada. Esta função também tem como padrão o botão esquerdo do mouse, e pode aceitar os mesmos argumentos que as funções press (), release () e click em ().
tecladoKeyboard.begin () e Keyboard.end ()As funções begin () e end () da biblioteca teclado funcionam da mesma forma como os seus homólogos da biblioteca mouse.Keyboard.press () e Keyboard.release ()As funções press () e release () também funcionam de forma semelhante às suas respectivas funções da biblioteca mouse. No entanto, o usuário pode especificar qual tecla é pressionada ou solta por meio de um argumento de caráter.
Keyboard.print ()A função print () é usado para enviar as teclas digitadas no computador. Como parâmetros, a função aceita caracteres. Os caracteres podem ser transmitidos, quer um de cada vez ou como nos strings.
Keyboard.println ()A função println () opera de forma semelhante à função print. No entanto, a função println () sempre realiza um retorno de carro e inicia uma nova linha no final dos caracteres impressos.
Keyboard.releaseAll ()A função releaseAll ()opera de forma similar a função release (), mas ela libera todas as teclas pressionadas ao mesmo tempo.
Keyboard.write ()A função write () permite ao usuário enviar qualquer combinação de teclas para o computador, incluindo asteclas não-caráter . Exemplos de combinações de teclas que não são caracteres incluem o backspace, control, alt, e teclas de função. A função write () pode aceitar inteiro (ASCII), caráter, hex, e argumentos binários.
exemplo de códigoEsta seção irá mostrar e explicar (usando comentários) um exemplo de programa que apresenta o uso das bibliotecas de teclado e mouse.
// Inicializa os pinos analógicas no Arduino e atribui cada um para uma tecla do teclado correspondenteconst int upButton = 2; const int downButton = 3; const int leftButton = 4; const int rightButton = 5; const int mouseButton = 6; void setup()
// Instrui o Arduino para usar a porta serial para o controle do mouse
if (Serial.available() > 0)
{
char inChar = Serial.read(); switch (inChar)
{
// Mover o cursor com base nos dados armazenados na variável inCharcase 'u': Mouse.move(0, -40); break; case 'd': Mouse.move(0, 40); break; case 'l': Mouse.move(-40, 0); break; case 'r': Mouse.move(40, 0); break; case 'm': Mouse.click(MOUSE_LEFT); break;
} }
// Dados do Teclado são emulados quando o pino de entrada analógica escolhido lê valor alto.
if (digitalRead(upButton) == HIGH) { Keyboard.write('u'); }
if (digitalRead(downButton) == HIGH) { Keyboard.write('d'); }
if (digitalRead(leftButton) == HIGH) { Keyboard.write('l'); }
if (digitalRead(rightButton) == HIGH) { Keyboard.write('r'); }
if (digitalRead(mouseButton) == HIGH) { Keyboard.write('m');
} }
Em resumo, este programa simula uma tecla e move o cursor do mouse simultaneamente quando uma voltagem diferente de zero é detectada em algum dos pinos de entrada analógica declarados. Se interruptores momentâneos estão ligados para controlar a tensão destes pinos, em seguida, os switches podem acionar as funções de teclado e mouse. As aplicações práticas desse programa são praticamente inexistentes, mas mostra como ambas as bibliotecas funcionam.
resumoO Arduino Leonardo oferece muitas ferramentas que agilizam a emulação de dispositivos de entrada. As bibliotecas de teclado e mouse e construído em porta micro-USB estão no cerne desta conveniência. Há também bibliotecas criadas pelo usuário que podem ser baixadas para melhorar o desempenho do Leonardo ainda mais. A simplicidade e poder do Leonardo permitem grandes oportunidades na criação de dispositivos de entrada.