const int buzzerPin = 12; //pin de salida del tono de audio
const int dotlength = 150; //longitud de un punto en milisegundos
const int dashlength = dotlength*3; //longitud de una raya en milisegundos
const int inter = dotlength; //longitud de espaciado entre carácteres
const int pulsadorpin = 2;
int pulsador = 1;
int opcion = 0;
int freq;
void setup()
{
pinMode(12, OUTPUT);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
estado_pulsador();
if (opcion%2==0) prueba();
if (opcion%2!=0) prueba2();
}
void dot(int freq)
{
tone(buzzerPin, freq);
delay(dotlength);
noTone(buzzerPin);
delay(inter);
}
void dash(int freq)
{
tone(buzzerPin, freq);
delay(dotlength*3);
noTone(buzzerPin);
delay(inter);
}
void prueba()
{
I(150);L(150);E(150);Z(150);L(150);final();
}
void prueba2()
{
I(90);L(90);E(90);Z(90);L(90);final();
}
void estado_pulsador()
{
pulsador = digitalRead(2);
if (pulsador==0) opcion = opcion+1;
}
void I(int freq)
{
dot(freq);
dot(freq);
}
void L(int freq)
{
dot(freq);dash(freq);dot(freq);dot(freq);
}
void E(int freq)
{
dot(freq);
}
void Z(int freq)
{
dash(freq);dash(freq);dot(freq);dot(freq);
}
void final()
{
delay(dashlength*3);
}
Marcadores