El objetivo es generar una función con una señal de 700hz para realizar practicas de CW con un manipulador tradicional.
Comprendo que el costo económico de realizarlo con un Arduino o cualquier otro microcontrolador es sumamente superior al de un oscilador con 555 y mucho más aún a cualquiera realizado con componentes discretos reciclados.
Solo es un ejercicio mas para practicar.
Hardware utilizado: Sin entrar en demasiado detalles, cualquier mcu puede funcionar mientas se compile desde la gui de Arduino o realizando las correcciones correspondientes, después de todo es un oscilador.
El manipulador morse se conecta entre los pines 12 y GND. Para conectar el buzzer se utilizará un capacitor electrolítico de 10uF en serie con el buzzer entre los pines 11 y GND de la siguiente manera.
Pin 11 >————| ]————-(buzzer)——-> GND
Podes acceder al repositorio en ghithub desde AQUI
/************************************************************
***** Oscilador para practicas en CW ****
***** by Don_Epel ****
*************************************************************/
/* ***************************************************
version 1, 12 Oct 2018
Typical pin layout used:
*————————————-
* Arduino
* Signal Pin
* ———————————–
* CW Key 12
* Buzzer 11
*
*/
#define CW_KEY 12
#define BUZZER 11
#define FREC 700 //Frecuencia en Hertz
//Setup inicial
void setup ()
{
pinMode(CW_KEY,INPUT);
digitalWrite(CW_KEY,HIGH);
pinMode(BUZZER,OUTPUT);
digitalWrite(BUZZER,LOW);
}
// Main
void loop()
{
if (digitalRead(CW_KEY) == 0)
{
Oscilador();
}
}
//Funcion de oscilador
void Oscilador ()
{
unsigned char periodo = 100000/FREC;
digitalWrite(BUZZER,HIGH);
delayMicroseconds(periodo/2);
digitalWrite(BUZZER,LOW);
delayMicroseconds(periodo/2);
}
Saludos!