Projeto 07 - Código morse S.O.S

Básico - Projeto 07

Sinalizador de código morse com as letras S.O.S

Objetivo

Criar um sinalizador de código morse. Este projeto irá para fazer com que o LED sinalize as letras S.O.S., sinal de socorro internacional em código Morse.

Código Morse: O código Morse é um tipo de codificação de caracteres que transmite letras e números utilizando padrões de ligado e desligado. Portanto, ele é muito adequado para este sistema digital, uma vez que o LED pode acender ou apagar no padrão necessário do código.

Aplicação

Para fins didáticos e projetos de sinalizadores.

Componentes necessários

Referência

Componente

Quantidade

Imagem

Observação

Protoboard Protoboard 830 pontos 1

No mínimo utilizar protoboard com 830 pontos

Jumpers Kit cabos ligação macho / macho 1  
Resistor

Resistor

2

1 Resistor 150Ω (led vermelho ou amarelo)

1 Resistor 10KΩ (push button)

Se precisar usar outros valores, calcule o resistor apropriado para o led utilizado - Calcular Resistor ou utilize a tabela padrão Tabela de resistores para leds

Led 5mm LED 5mm 1

1 LED alto brilho ou difuso (qualquer cor)

Você poderá utilizar também LEDs de 3 mm na cor que desejar.

Arduino UNO R3 Arduino UNO 1

Você poderá utilizar uma placa Arduino UNO original ou similar

Montagem do Circuito

Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da força enquanto você monta o circuito.

Atenção

1) Lembre-se que o LED tem polaridade: O terminal maior tem polaridade positiva e o lado do chanfro tem polaridade negativa.

2. Determinamos o valor do resistor através da tabela prática: Tabela prática de utilização de leds 3mm e 5mm. Entretanto, o mais correto é sempre verificar o datasheet do fabricante do LED para você ter os exatos valores de tensão e corrente do mesmo - leia Como calcular o resistor adequado para o led e Leds ligados em série e em paralelo.

Obs.: Resistores iguais ou superiores a 250 Ω poderão ser utilizados em LEDs de todas as cores para um circuito com tensão igual ou inferior a 5V.

Valores utilizados para nossos projetos: LEDs difusos ou de alto brilho: Vermelho, Laranja e Amarelo: 150 Ω | Led Verde e Azul: 100 Ω

3. A montagem abaixo foi realizada em um protoboard com linhas de alimentação não contínuas, onde acrescentamos jampers para a ligação. Verifique se o seu protoboard possui linhas de alimentação contínuas ou separadas - saiba mais em protoboard 

Código do Projeto (sketch)

Faça o dowload e abra o arquivo projeto07.ino no IDE do Arduino: DOWNLOAD - projeto07.ino

Ou se preferir, copie e cole o código abaixo no IDE do Arduino:

/*******************************************************************************
*
*    Projeto 07 – Código S.O.S
*                   http://squids.com.br/arduino
*
*******************************************************************************/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// roda uma vez quando resetada:
void setup() {
  // inicializa o pino digital como SAÍDA do microcontrolador
  pinMode(led, OUTPUT);
}

// rotina de loop - roda indefinitivamente:
void loop() {
  // 3 pontos (letra S)
  for (int x=0; x<3; x++) {
  digitalWrite(led, HIGH);   // acende o LED on (HIGH is the voltage level)
  delay(150);               // espera por 150 ms
  digitalWrite(led, LOW);    // apaga o LED (the voltage LOW)
  delay(100);               // espera por 100ms
  }
  
  delay(200); // espera de 200ms entre as letras
  
  // 3 traços (letra O)
  for (int x=0; x<3; x++) {
   digitalWrite(led, HIGH);
   delay(400);
   digitalWrite(led, LOW);
   delay(100);
  }

  delay(200); //espera 200 ms entre as letras
  
  // 3 pontos (letra S)
  for (int x=0; x<3; x++) {
  digitalWrite(led, HIGH);   // acende o LED on (HIGH is the voltage level)
  delay(150);               // espera por 150 ms
  digitalWrite(led, LOW);    // apaga o LED (the voltage LOW)
  delay(100);               // espera por 100ms
  }
  
  //espera 3 segundos para repetir o sinal S.O.S
  delay(3000);
  
}

Depois, faça a verificação e o upload para o microcontrolador.

Vídeo

  

Como o projeto deve funcionar

1. Quando você rodar o programa, o Led irá piscar conforme o padrão do código Morse, sinalizando as letras S O S, formado de três sinais curtos (pontos), seguidos por três sinais longos (traços) e finalmente por três sinais curtos (pontos).

4. O código irá se repetir indefinitivamente.

Explicando o Código do Projeto

1. Primeiro declaramos as constantes e as variáveis do projeto.

1.1. Observe que utilizamos a variável tipo "int". Veja na tabela abaixo as diferenças nos tipos de constantes e variáveis:

Tipo Valores Válidos para Variáveis e Constantes
char letras e símbolos: 'a', 'b', 'H', '^', '*','1','0'
int de -32767 até 32767 (apenas números inteiros)
float de -3.4 x 1038 até +3.4 x 10+38com até 6 dígitos de precisão (2 casas depois da vírgula)
double de -1.7 x 10308 até +1.7 x 10+308com até 10 dígitos de precisão

1.2. A variável led de refere ao Led que deverá estar conectado à porta 13 do microcontrolador Arduino.

2. Através da strutura void setup(), definimos:

2.1. Define-se a variável led como saída do controlador Arduino (OUTPUT) conectados ao pino 13.

3. Através da estrutura void loop(), obtemos:

3.1.Primeiro definimos a letra S (três sinais curtos):

3.1.1. Vamos utilizar um loop for que varia de 0 a 3.

3.1.1.1 Declaramos a variável local x como int. Incrementamos a variável em +1, usando a expressão x++. Obs.: O incremento será utilizado após o primeiro bloco de códigos ser totalmente utilizado. Desta forma, o loop irá de x=0 até x<3, ou seja, x=0, x=1 e x=3, realizando três repetições:

3.1.1.1.1 Através da função digitalWrite(led, HIGH) informamos o Arduino para acender o led.

3.1.1.1.2. Através da função delay(150), o led ficará acesso durante 150ms.

3.1.1.1.3. Através da função digitalWrite(led, LOW) informamos o Arduino para apagar o led.

3.1.1.1.4. Aguardamos 100ms com o led apagado quando utilizamos a função delay(100).

3.2. Repetimos para as demais letras O (3 sinais longos) e S(3 sinais curtos) novamente. A diferença entre os sinais longo e curto é o tempo de espera do led acesso que é de 150ms para o sinal curto e de 400ms para o silnal longo.

3.3. Através do comando delay(3000), o programa espera 3 segundos (3.000 ms) para reiniciar a sinalização das letras S.O.S.

O anúncio abaixo ajuda a manter o Squids Arduino funcionando

Comentários

×

Infomações do site / SEO








×

Adicionar Marcadores