Arduino LED PÉLO ECLADO

7

Click here to load reader

Transcript of Arduino LED PÉLO ECLADO

Page 1: Arduino LED PÉLO ECLADO

Arduino: Controlando leds pelo tecladoOlá pessoal, nesse post irei mostrar um simples e pequeno projeto utilizando arduino e leds coloridos. O objetivo desse projeto e fazer o controle  (ligar/desligar)  vários leds conectados ao arduino através do teclado do computador . Para isso vou dividir o post em 3 partes:

1° Parte: explicar  um código de exemplo que acompanha a IDE do Arduino, vou utilizar apenas um led.2° Parte:  acrescentar algumas linhas de código para o controle desse led através do teclado.3° Parte: montar um projeto usando 5 leds controlados pelo teclado.

Inicio do projeto (1° Parte)Na IDE do Arduino é possível encontrar vários exemplos de códigos prontos para uso dos mais variados componentes, desde leds, botões, sensores, servo motores e outros mais avançados como usar arduino na internet. Para isso basta você acessar o menu: “File > Examples” e então escolher um de seu interesse. Nesse caso utilizaremos o exemplo chamado “Digital > Blink”

Page 2: Arduino LED PÉLO ECLADO

Depois de selecionado o exemplo você verá o código responsável por ligar e desligar um led conectado ao pino 13 do arduino. Esse código está todo comentado e possui referencias do seu autor. Abaixo está o mesmo código comentado e explicado em português e sem os comentários do autor.01 int ledPin =  13; //seta o pino 13 do arduino para ligar o led02  03 void setup()   {04   pinMode(ledPin, OUTPUT); //inicializa o pino digital 13 como saida05 }06  07 void loop()  //loop (infinito) para executar as operacoes08 {09   digitalWrite(ledPin, HIGH);  // seta o pino 13 como LIGADO10   delay(1000);                // espera 1 segundo (com o led ligado)11   digitalWrite(ledPin, LOW); // seta o pino 13 como DESLIGADO

12   delay(1000);              // espera 1 segundo (com o led desligado)

13 }                          // faz o loop (volta para o inicio do loop)

O código é simples de entender. Vamos para o próximo passo, conectar o led na protobord e no arduino. Siga o esquema  abaixo para montar seu circuito. Caso não

Page 3: Arduino LED PÉLO ECLADO

consiga visualizar direito a imagem, click sobre ela.

Repare que o jumper vermelho está ligado ao pino digital 13 do arduino e ligado ao pino corrente (pino maior) do led verde, já o jumper azul está ligado ao pino GND (terra) do arduino e ligado ao pino terra do led (pino menor). Agora basta carregar o código para o Arduino e ver o led piscar como no vídeo abaixo:

Com isso chegamos ao final da primeira parte.

Acrescentando algumas linhas ao código de exemplo (2° Parte).Vamos utilizar o mesmo código para fazer a segunda parte do projeto, agora acrescentaremos algumas linhas para ler as teclas e fazer as condições necessárias para controlar o led.  As linhas de código que eu comentei são as acrescentadas, veja:

01 int ledPin =  13;02 void setup()   {03  04   // inicializamos a porta serial onde vamos escrever05   //os dados que serao lidos pela função Serial.read()06   Serial.begin(9600);07  08   pinMode(ledPin, OUTPUT);09 }10  11 void loop()12 {13   //inicializa uma variavel do tipo char chamada tecla

14   char tecla;15  16   // armazena em "tecla" o retorno da função read()17   //essa função lê um valor que é escrito na porta serial18   tecla = Serial.read();

Page 4: Arduino LED PÉLO ECLADO

19  20   //verfica se a tecla digitada é igual a l (liga)21   //se for igual entra na condiçao e liga o led22   if(tecla == 'l')23   {24       digitalWrite(ledPin, HIGH);25   }26  27   else // se nao28  29     //verfica se a tecla digitada é igual a d (desliga)30     //se for igual entra na condição e desliga o led31     if(tecla == 'd')32  33     {34         digitalWrite(ledPin, LOW);35     }36  37   delay(1000);38 }

Veja o resultado:

Repare que logo depois da escolha da tecla eu pressiono ENTER, isso faz com que a tecla seja escrita na porta serial e então lida pela função Serial.read();

Fim da 2° Parte.

Projeto final, controlando 5 leds atraves do teclado (3° Parte).Bom estamos quase alcançando nosso objetivo, até aqui foi tudo muito simples. Acredito que voce tenha entendido os códigos e a montagem do circuito na protoboard. Veremos então o mesmo projeto só que agora um pouco maior (nem tanto rsrsrs…), Iniciaremos com a montagem do circuito:

Page 5: Arduino LED PÉLO ECLADO

Repare que existe dois leds amarelos, isso aconteceu pois o software que eu usei para montar o circuito não tinha a cor laranja então imagine que o led amarelo que esta ao lado do azul, seja da cor laranja. Outra diferença nesse esquema é que agora estamos usando resistores para regular a tensão que vem das portas digitais para os leds, nos exemplos onde usamos apenas um led conectado ao pino 13 não era necessario pois nesse pino ja existem um resistor interno que vem por padrão, nesse esquema prefiri utilizar mais um resistor externo para o pino 13 apenas por questões de padronização, mas para esse pino não se faz necessario.

Agora vamos ao código do projeto:Penso que as explicações ja feitas serão suficientes para o entendimento do código abaixo. Não ha nada de novo a não ser pelo fato da presença de mais 4 leds. Veja:

01 int ledPin13 =  13;02 int ledPin11 =  11;03 int ledPin9  =  9;04 int ledPin7  =  7;05 int ledPin5  =  5;06  07 void setup()   {08  09   Serial.begin(9600);10  

Page 6: Arduino LED PÉLO ECLADO

11   pinMode(ledPin13, OUTPUT);12   pinMode(ledPin11, OUTPUT);13   pinMode(ledPin9, OUTPUT);14   pinMode(ledPin7, OUTPUT);15   pinMode(ledPin5, OUTPUT);16 }17  18 void loop()19 {

20   char tecla;21   tecla = Serial.read();22   //se pressionado "g" liga o led verde (green)23   if(tecla == 'g')24   {25       digitalWrite(ledPin13, HIGH);26   }27   else28     //Se pressionado "b" liga o led azul (blue)29     if(tecla == 'b')30     {31          digitalWrite(ledPin11, HIGH);32     }33     else34       //S pressionado "o" liga o led laranja (orange)35       if(tecla == 'o')36       {37          digitalWrite(ledPin9, HIGH);38       }39       else40         //Se pressionado "y" liga o led amarelo (yellow)41         if(tecla == 'y')42         {43             digitalWrite(ledPin7, HIGH);44         }45         else46           //Se pressionado "w" liga o led branco (white)47           if(tecla == 'w')48           {49               digitalWrite(ledPin5, HIGH);50           }51           else52  53             //Se pressionado "d" desliga todos os leds54             if(tecla == 'd')55             {56                 digitalWrite(ledPin13, LOW);57                 digitalWrite(ledPin11, LOW);58                 digitalWrite(ledPin9, LOW);59                 digitalWrite(ledPin7, LOW);60                 digitalWrite(ledPin5, LOW);61             }62   delay(1000);63 }

Page 7: Arduino LED PÉLO ECLADO

Confira o vídeo do projeto:

Agora você deve estar se perguntando: Mas no que isso pode contribuir? Ou O que esse projeto tem de tão especial?Esse projeto realmente não contribui com nada se você estiver pensando em leds. Mas e se fossem lâmpadas no lugar de leds?? E se cada tecla que você pressionasse ligasse um lâmpada ou qualquer outro aparelho eletronico da sua casa? Bem cabe a você usar a imaginação e pensar nas diferentes formas de aplicação de simples projetos como esse.

Até a próxima!

ADVERTISEMENT