Bom pessoal dando continuidade aos tutoriais de arduino trago dessa vez um programa de sinal de código morse. Para quem não sabe o código morse é um sistema de representação de letras, números e sinais de pontuação através de um sinal codificado enviado intermitentemente. O código morse foi desenvolvido por Samuel Morse e segundo o Wikipédia criador do famoso telégrafo. Uma mensagem codificada em morse pode ser transmitida de várias maneiras, como por exemplo: efeitos sonoros, pulsos elétricos, sinais visuais (luzes). Essas são uma das formas de se transmitir um código morse. Enfim não ficarei de lero lero sobre o código morse, mas quem nunca viu um filme de ação em que um soldado fazia comunicação com sua base por códigos luminosos ? Para quem quiser aprofundar no estudo do código morse pode ver no Wikipédia um artigo sobre ele. Mas vamos ao que nos interessa, o código é esse. // Codigo LED SOS // Led conectado ao pino 10 int ledpin = 10; // Executa uma vez quando o sketch inicia void setup(){ // define o pino como saída pinMode(ledPin, OUTPUT); } // executa repetidas vezes void loop(){ // 3 pontos for(int x = 0; x<3; x++){ digitalWrite(ledPin, HIGH); //acende o LED delay(150); // espera 150 ms digitalWrite(ledPin, LOW); //apaga o LED delay(100); // espera 100ms } // espera 100ms para marcar o intervalo entre as letras delay(100); // 3 traços for(int x=0; x<3; x++){ digitalWrite(ledPin, HIGH); // acende o LED delay(400); // espera 400ms digitalWrite(ledPin, LOW); // apaga o LED delay(100); // espera 100ms } // espera 100ms para marcar o intervalo entre as letras delay(100); // 3 pontos novamente for(int x=0; x<3; x++){ digitalWrite(ledPin, HIGH); // acende o LED delay(150); // espera 150ms
Então vamos analisar o código acima, primeiro começamos declarando o LED como inteiro e conectado na porta digital 10. Em seguida no void setup() (executado somente uma vez) indicamos a porta 10 como sendo uma saída. Ao entrar na parte do loop (void loop) é que começa o bang bang !, vamos lá, para formar os três primeiros pontos do sinal de S.O.S foi utilizado o seguinte: for(int x = 0; x<3; x++). O comando " for " cria um laço de repetição por contador, ou seja, tudo que está dentro das chaves será executado ' n ' vezes, no exemplo acima executado 3 vezes. O laço for é muito utilizado e é um comando bem interessante, em uma linguagem mais informal ele quer dizer que para x igual a zero, x é menor do que 3 ?, se sim incremente x e execute o que está entre chaves, se não passe para o próximo comando. Enquanto a variável de controle for menor do que a condição estabelecida o comando continuará a executar comandos entre as chaves e a incrementar a variável. É interessante destacar que ao se utilizar esses comandos deve-se tomar o cuidado de não causar o famoso " loop infinito ". Agora a análise do código ficou mais simples, em sequência é informado que a saída pino 10 recebe nível alto e permanece acionada por 150ms, e transcorrido este tempo, permanece em nível baixo por 100ms. Daí o código é praticamente o mesmo em todo o loop, diferenciando-se em termos do tempo de acionamento da saída, para que tenhamos os pontos e os traços utilizados nos códigos Morse. Entretanto o objetivo deste exemplo é salientar o comando " for ". Dessa vez a análise do código foi bem rápida pois, todos os comandos com exceção do for já foi explicado no tutorial anterior.
A ideia é compreender o funcionamento dos comandos e como eles podem ser aplicados em outros problemas. Então vamos ver o funcionamento do código de hoje, para isso será preciso os seguintes componentes:
Uma placa Arduino.
1 LED 5 ou 10mm (a cor que desejar).
1 resistor de 100 Ohm (estou utilizando de 150 Ohm).
1 proto-board ou faça uma montagem do tipo ' aranha '.
E claro um computador com o IDE para gravar o código no arduino.
Imagem dos componentes para testar o código:
Figura 1 - Componentes utilizados.
No meu caso utilizei dois resistores de 300 Ohm em paralelo para conseguir 150 Ohm o que é suficiente para o LED.
A figura abaixo apresenta o esquema de ligação do LED ao arduino.
Figura 2 - Esquema de ligação do LED
E como não podia faltar, o vídeo, está ai o funcionamento do código de hoje.
Por hoje é isso, espero que tenham gostado, dúvidas deixe seu comentário e não se esqueça de se inscrever no nosso canal do YouTube. Os programas também pode ser baixados por aqui. Até o próximo tutorial !
- Arduino - Programa 07: Interrupção (parte 2)
Prosseguindo o tutorial 7 vou apresentar o segundo modo de interrupção. Este modo permite que ao interrompermos o programa e acionarmos o botão novamente, o hardware inicie de onde parou, ou seja, é realizado uma pausa no programa. Para este programa...
- Arduino - Programa 06: Efeito Sequencial Variável Com Led
Olá pessoal, vamos dar continuidade aos tutoriais de arduino, desta vez trago o código do efeito sequencial com LED, porém há uma característica muito interessante nesse código. Este código é o mesmo do programa anterior, só que agora podemos...
- Arduino - Programa 05: Efeito Sequencial Com Led
Olá, vamos ao quinto tutorial de arduino, desta vez trago o código de um efeito sequencial com LED, a ideia em si é simples, acender sequencialmente dez LED's, mas no entanto o código apresenta uma maneira simples e eficiente de acender os...
- Arduino - Programa 04: Semáforo Interativo Com Led
Continuando os tutoriais de arduino, dessa vez trago o código aprimorado do semáforo anterior. A peculiaridade deste código está no fato do usuário poder interagir com o arduino. Mas, o que estamos a aprender de verdade, é como fazer a leitura de...
- Arduino - Programa 01: Acendendo Um Led
Bom pessoal como prometido estarei iniciando hoje o primeiro tutorial de arduino, o primeiro programa me pareceu bem simples, acendendo um LED.Entretanto apesar de ser um programa bem pequeno ele não pode ser deixado de lado. Acho melhor mostrar o programa...