Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada.
sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);
Este projeto é mais um simples uso do Arduino, neste caso vamos gerar um Código Morse "SOS", que será mostrado em um LED ou, facilmente adaptável para uma Lâmpada de Sinalização.
SOS é um sinal usado em situaçãoes de emergência. Quando enviado em CódigoMorse, consiste em três pontos (correspondente à letra S_, três traços (correspondentes à letra O) e novamente três pontos (. . . - - - . . .) - oralmente diz-se "dit dit dit dah dah dah dit dit dit" .
SOS pode significar:
"Save Our Souls" - Salve Nossas Almas;
"Save Our Seamens" - Salve Nossos Marinheiros;
"Save Our Ship" - Salve Nosso Navio;
"Survivor On Shore" - Sobreviventes na Costa;
O HARDWARE:
1 x Arduino UNO
1 x BreadBoard
1 x resistor de 220O 1/8W
1 x LED vermelho
Fios
O CIRCUITO:
Ligar o catodo do LED no negativo da alimentação;
Ligar um terminal do resistor ao anodo do LED;
O outro terminal do resistor ligar diretamente ao pino 10 do Arduino.
O SOFTWARE:
Abaixo o Software comentado das duas versões executadas
Primeira versão:
Este exemplo é um código de domínio público.
*/
int ledPin = 10; // pino onde será ligado o LED ou Lâmpada Sinalizadora
// matriz com a duração de piscadas para a palvra em Código Morse "SOS"
int durations[] = {200, 200, 200, 500, 500, 500, 200, 200, 200};
void setup() // inicialização do Arduino
{
pinMode(ledPin, OUTPUT); // configura o pino digital como saída
}
void loop() // loop principal do programa
{
for (int i = 0; i < 9; i++) // Loop iterativo das 9 piscadas do SOS
{
flash(durations[i]); // executa a função de piscar com a duração
// correspondente da matriz
}
delay(2000); // espera 2 segundo e começa novamente
}
// função para piscar o LED com uma certa duração
void flash(int duration)
{
digitalWrite(ledPin, HIGH); // acende o LED
delay(duration); // espera a duração necessária
digitalWrite(ledPin, LOW); // apaga o LED
delay(duration); // espera a duração necessária
}
Esta segunda versão têm a temporização de dits, dahs e separação entre caracteres de acordo com as normas internacionais:
Este exemplo é um código de domínio público.
*/
int ledPin = 10; // LED conectado ao pino 10
void setup() // inicialização do Arduino
{
pinMode(ledPin, OUTPUT); // configura pino do LED como saída
}
void loop() // loop principal do programa
{
// 3 dits
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // acende o LED
delay(150); // espera 150ms
digitalWrite(ledPin, LOW); // apaga o LED
delay(100); // espera 100ms
}
// delay de 100ms para ter um gap entre as letras
delay(100);
// 3 dahs
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // acende o LED
delay(400); // espera 400ms
digitalWrite(ledPin, LOW); // apaga oLED
delay(100); // espera 100ms
}
// delay de 100ms para ter um gap entre as letras
delay(100);
// 3 dits novamente
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // acende o LED
delay(150); // espera 150ms
digitalWrite(ledPin, LOW); // apaga o LED
delay(100); // espera 100ms
}
// espera 5 segundos antes de repetir o código de SOS
delay(5000);
}
O VÍDEO:
Vejamos os resultados!
Dúvidas e sugestões enviem para: arduinobymyself@gmail.com
Nenhum comentário:
Postar um comentário