| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Practica2_BalizaSOS

Page history last edited by cmartinez 13 years, 10 months ago

Se trata de emitir señales acústicas y luminosas de SOS en el código Morse.

 

YouTube plugin error

 

Componentes necesarios:

 

  • 1 zumbador piezoeléctrico
  • 1 Led 

 

Este es un ejercicio para introducir los procedimientos.

 

La iteración nos evitaba repetir la escritura del mismo código cuando éste se ejecutaba en repeticiones sucesivas. Ahora vamos a ver cómo ahorrarnos repetir el código cuando éste se usa varias veces que no van seguidas.

 

Vamos a empaquetar el código correspondiente a cada letra en un procedimiento.Las definiciones de los procedimientos se hacen siempre antes de que vayan a ser usados.

Si se van a usar en el void setup() de forma que se ejecuten al comienzo una sola vez, deben estar definidos antes.

Si se van a usar sólo en el void loop() de forma que se ejecuten repitiéndose dentro del bucle infinito pueden ir detrás del void setup() pero antes que el void loop().

Puede definirse un procedimiento que ejecute otro, en este caso, el que se ejecuta tiene que estar definido antes.

Los procedimientos se definen con void seguido del nombre y dos paréntesis vacíos. Se ejecutan con el nombre seguido de los paréntesis vacíos.

Hay que empezar a tener cuidado con la cantidad de llaves anidadas que empiezan a aparecer. Es una buena idea mantener un criterio de colocación que facilite la identificación de los intervalos de código que demarcan.

Una posibilidad es colocar la llave que abre en la misma línea y la que cierra en otra aparte a la misma altura que la primera letra del comando, con el contenido un poco desplazado a la derecha. Las que vayan apareciendo dentro se sitúan de la misma forma con lo que los anidamientos se ven con la indentación.

Una característica muy práctica de la IDE es la que te indica las llaves, corchetes o paréntesis emparejados. Para ello, tienes que colocar el cursor detrás de uno de ellos y su pareja aparece en un recuadro.

Los mensajes de error al compilar también pueden recordarte algún despiste.

 

Variaciones:

  • Definir procedimientos para otras letras y envíar tus propios mensajes en morse.
  • Emplear un pulsador que actúe como interruptor para activar o apagar el SOS 

 


 

CÓDIGO FUENTE

 

int corto=200;          
 int pausa=400;
 int largo=400;
 int espera=1000;
 int n=0;
 int led=13;
 int zumb=10;
 void setup (){
   pinMode(led,OUTPUT);
   pinMode(zumb,OUTPUT);
 }
 void S(){                  //definición del procedimiento que envía la letra S
   for(n=0;n<3;n++){               
     digitalWrite(led, HIGH); 
     digitalWrite(zumb, HIGH);        
     delay(corto);                    
     digitalWrite(led,LOW); 
     digitalWrite(zumb,LOW);          
     delay(corto);
   }
 }
 void O(){                    //definición del procedimiento que envía la letra O
   for(n=0;n<3;n++){
     digitalWrite(led, HIGH);
     digitalWrite(zumb, HIGH);
     delay(largo);
     digitalWrite(led,LOW);
     digitalWrite(zumb,LOW);
     delay(largo);
   }
 }
 void loop(){
   S();                      //Ejecución del procedimiento que envía la letra S
   delay(pausa);
   O();                      //Ejecución del procedimiento que envía la letra O
   delay(pausa);
   S();                      //Ejecución del procedimiento que envía la letra S
   delay(espera);
 }

 

Comments (0)

You don't have permission to comment on this page.