Programando o arduino leonardo

19
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

Transcript of Programando o arduino leonardo

Page 1: Programando o arduino leonardo

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.

Page 2: Programando o arduino leonardo

Índice

Introdução ao Arduino..................................... 1

Arduino Leonardo .......... ................................. 1

Introdução ao Arduino Leonardo ....... .............. 1

Funções da biblioteca USB ................................ 3

Mouse ................................... .......................... 3

Teclado ................................................ ........... 4

Exemplo de código .................. ......................... 5

Resumo ........................................................... 7

Referências ............ .......................................... 8

Page 3: Programando o arduino leonardo

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

Page 4: Programando o arduino leonardo

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

Page 5: Programando o arduino leonardo

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

Page 6: Programando o arduino leonardo

mostra o diretório apropriado:

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:

Selecione Ferramentas -> Board -> Arduino Leonardo

Uma vez que os passos 1 a 4 foram concluídos, o Arduino Leonardo pode ser programado.

Page 7: Programando o arduino leonardo

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:

Page 8: Programando o arduino leonardo

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

Page 9: Programando o arduino leonardo

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.

Page 10: Programando o arduino leonardo

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.

Page 11: Programando o arduino leonardo

// 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()

{

// Designa os pinos para ser entradas analógicas

pinMode(upButton, INPUT); pinMode(downButton, INPUT); pinMode(leftButton, INPUT);

pinMode(rightButton, INPUT); pinMode(mouseButton, INPUT);

Serial.begin(9600);

// Inicializa as bibliotecas de mouse e teclado

Mouse.begin(); Keyboard.begin();

} void loop() {

// Instrui o Arduino para usar a porta serial para o controle do mouse

if (Serial.available() > 0)

{

char inChar = Serial.read(); switch (inChar)

{

Page 12: Programando o arduino leonardo

// 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');

Page 13: Programando o arduino leonardo

} }

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.