quarta-feira, 6 de julho de 2011

Controle pelo Teclado

     Esse tipo de programação é bem tranquilo de fazer e de entender também, mas para fazer isso precisa ter em mãos a Tabela ASCII (American Standard Code for Information Interchange) para fazer a programação, usamos só o valor decimal.
O que está marcado em amarelo não é utilizado, é o valor em decimal e ao lado o correspondente.
     Vamos usar nessa programação, duas novas funções Serial.read() e o Serial.available():
-Serial: Ele se comunica nos pinos digitais 0 (RX) e 1 (TX), bem como com o computador via USB.
-read: Serve para lê as entradas de dados do serial.
-available: Serve para obter o números de bits disponível para a leitura da porta serial.


void setup()
{
 Serial.begin(9600);
}

void loop()
{
  if(Serial.available()>0)
  {
    n = Serial.read();
    Serial.print("Voce digitou: ");
    Serial.println(n, BYTE); // Imprime na tela o valor do telhado em BYTE

    if(n==119)  // tecla w (minusculo)
    {
      //Tecla ação 1, ex.: se for um carrinho anda para frente
    }
    if(n==115)  // tecla s (minusculo)
    {
      //Tecla ação 2, ex.: carrinho anda para tras
    }
    if(n==100)  // tecla d (minusculo)
    {
      //Tecla ação 3, ex.: carrinho anda para a direita
    }
    if(n==97)  // tecla a (minusculo)
    {
      //Tecla ação 4, ex.: carrinho anda para a esquerda
    }
  }
}

     Esse n eu declarei como uma variável qualquer, dei exemplos de 4 ações só mas podemos criar varias ações para ficar controlando pelo teclado. Lembrando que no void setup() precisa colocar o Serial.begin(9600). Também usei como exemplo para controlar carrinho, mas podemos usar para controlar leds, fazer teclado musical (usando um piezo) (mas tem que ficar de olho nos valores).
     Mas para funcionar, assim que passar a programação para o arduino, clica no Serial Monitor e abrirá uma janela como a imagem a seguir. Na barra onde digitamos a tecla e logo em seguida aperte enter, pronto a função que você escolhe irá funcionar.

Vídeo:
Espero que tenham entendido, qualquer coisa só deixar como comentário que explicarei.
Até mais...

5 comentários:

Mauricio Felippe disse...

amigo existe uma funcao para arduino que quando eu presciono uma tecla acende um LED e o led fica aceso enquanto eu presciono ai quanto eu tiro o dedo da tecla o LED apaga

Eduardo Almeida Cariani disse...

Fala Mauricio
Existe sim, mas não pelo IDE do Arduino e sim pelo Processing, infelizmente esse tipos de comandos ainda não sei explicar mas já vi funcionando.

Pela programação, iria criar uma especia de um teclado,um botão virtual e com o mouse, ou creio eu com o próprio teclado, fazendo a função que você queira.

Kbludo disse...

Como faço para movimentar meu servo sem ter que apertar enter no serial monitor ?

Tchello Silveira disse...

Olá, boa noite.
Preciso de um teclado com teclas de 1 a 8, teclas control e shift, a interface vai interpretar as ações como um teclado normal não sendo preciso editar ou criar o comando, basta apenas que a interface entenda que estas teclas foram pressionadas, tambem vou implementar um mouse com thumbstick no Arduino Leonardo, o mouse já peguei o jeito de fazer mas implementar o teclado esta complicado, tem alguma dica ?

Willis valença disse...

opa vou te passar um link de um projeto q estou querendo montar, eu queria saber se as ligações é direto no arduino ou tem uso de algum resistor ou diodo

http://www.taringa.net/posts/hazlo-tu-mismo/17304371/Transforme-un-organo-electrico-en-un-teclado-MIDI-con-Arduin.html

Postar um comentário

 
Blogger Templates