Hace unos días, Claudio LU7DW, me comento la necesidad que tenia de armarse una baliza para la banda de 10 metros (28 MHz), para lo cual necesitaba hacer con algún PIC o Arduino que pueda realizar la manipulación del mensaje de la misma. A raíz de esto, buscando un poco en mi baúl de electrónica, decidí realizarlo en un Arduino Pro Mini, debido a su costo y su simplicidad de uso.
Aún no decidimos sobre qué equipo será instalado, pero como para ir avanzando en la codificación fue que se realizó una prueba preliminar. Se utiliza el pin 13 que ya posee un led incorporado para poder realizar la visualización de la manipulación.
Se utilizará en principio un LM7805 para poder darle los 5v que necesita la placa desde los 13,8 VCC del equipo que se elija, y se utilizará un transistor como conmutador para la secuencia de TX aplicada a su base (en principio se utilizará un 2N2222 y una resistencia en su colector, emisor conectado a masa).
A continuación se adjunta el código generado para que sobre el PIN 13 se emita los caracteres en telegrafía “VVV de LU7DW/BCN LU7DW/BCN GF05 GF05”. Se utiliza una única constante de tiempo en la variable cteTiempo declarada dentro de void loop() {} por lo que al modificar ese parámetro se aumenta y se disminuye la velocidad de tx, manteniendo las relaciones de espacio entre caracteres / palabras y entre sonidos cortos / largos.
Código Generado:
// Realizado por LU9CBL - Mat - 01/12/2016
// MENSAJE PARA BALIZA LU7DW:
// VVV de LU7DW/BCN LU7DW/BCN GF05 GF05
// Cada 20 segundos
int ledPin = 13; // LED en el pin digital 13
int cte;
int cteTiempo;
int cteTiempoLargo;
void setup() {
// Configura el pin 13 como salida
pinMode(ledPin, OUTPUT);
}
void loop() {
// Declaro la constante de tiempo
cte = 50;
// Llamo a la función de la licencia de la baliza
vvvde(cte);
lu7dw(cte);
lu7dw(cte);
gridLocator(cte);
gridLocator(cte);
//ESPERA ENTRE MENSAJES (20 Segundos == 20000)
delay(20000);
}
void vvvde(int cteTiempo){
cteTiempoLargo = 3 * cteTiempo;
//V
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//V
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//V
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//D
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//E
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
}
void lu7dw(int cteTiempo){
cteTiempoLargo = 3 * cteTiempo;
//L
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//U
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//7
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//D
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//W
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
// "/"
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//B
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//C
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//N
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
}
void gridLocator(int cteTiempo){
cteTiempoLargo = 3 * cteTiempo;
//G
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//F
digitalWrite(ledPin, HIGH); // activa el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, LOW); // desactiva el LED
delay(cteTiempo); // espera el tiempo de constante
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//"0"
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempoLargo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
//"5"
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
digitalWrite(ledPin, HIGH);
delay(cteTiempo);
digitalWrite(ledPin, LOW);
delay(cteTiempo);
delay(cteTiempoLargo);
}
Mostrando entradas con la etiqueta CW. Mostrar todas las entradas
Mostrando entradas con la etiqueta CW. Mostrar todas las entradas
domingo, 4 de diciembre de 2016
Baliza de CW con Arduino Pro Mini [Parte 1]
Etiquetas:
Arduino,
Baliza,
codigo,
CW,
Electronica,
hamradio,
LU7DW,
lu9cbl,
Mini,
Pro,
Radioaficion,
Sketch
viernes, 6 de mayo de 2011
Nuevo Equipo!! Nueva etapa... Yaesu FT-890
Luego de varias idas y venidas con respecto al antiguo equipo, el cual dejo de transmitir potencia nuevamente (veremos ahora con mas calma de mandarlo a reparar por algun lado)... con mi viejo LU3AJL compramos un Yaesu FT-890.
Mi primera impresión es mas que positiva, el hecho de ser un equipo algo viejito como el TS120 pero mucho mas estable, y con tecnología mas nueva...
Se puede decir que esta todo encaminado para la primera fecha del Campeonato Argentino de HF [1]. Este fin de semana vere si puedo armar la interfaz para poder salir en modos digitales, y asi poder participar en todas los modos (como SO - Single Operator).
Por otro lado sigo mentiendole fichas al CW a través del portal web Learn CW Online [2] y con el MorseRunner [3] para estar lo mas "a tono" posible para ello. Esperemos que sea una experiencia agradable, ya que va a ser el primer concurso que participe completamente solo y por mi cuenta. En todas las otras ediciones de concursos que realice siempre fue con los chicos del Grupo DX Norte [4] los cuales siempre me fueron guiando y ayudando a dar cada paso.
Estación para el concurso:
Rig: Yaesu FT-890
Ant: Dipolo de 38 mts de largo (total) con bajada linea abierta.
Acc: Sintonizador MFJ949 para adaptar el dipolo a la banda que quiera operar.
Sw: Cabrillo Criollo / N1MM
Notebook: Lenovo G460
Referencias:
[1] www.campeonatohf.com.ar
[2] www.lcwo.net
[3] www.dxatlas.com/MorseRunner
[4] www.gdxn.com.ar/
Mi primera impresión es mas que positiva, el hecho de ser un equipo algo viejito como el TS120 pero mucho mas estable, y con tecnología mas nueva...
Se puede decir que esta todo encaminado para la primera fecha del Campeonato Argentino de HF [1]. Este fin de semana vere si puedo armar la interfaz para poder salir en modos digitales, y asi poder participar en todas los modos (como SO - Single Operator).
Por otro lado sigo mentiendole fichas al CW a través del portal web Learn CW Online [2] y con el MorseRunner [3] para estar lo mas "a tono" posible para ello. Esperemos que sea una experiencia agradable, ya que va a ser el primer concurso que participe completamente solo y por mi cuenta. En todas las otras ediciones de concursos que realice siempre fue con los chicos del Grupo DX Norte [4] los cuales siempre me fueron guiando y ayudando a dar cada paso.
Estación para el concurso:
Rig: Yaesu FT-890
Ant: Dipolo de 38 mts de largo (total) con bajada linea abierta.
Acc: Sintonizador MFJ949 para adaptar el dipolo a la banda que quiera operar.
Sw: Cabrillo Criollo / N1MM
Notebook: Lenovo G460
Referencias:
[1] www.campeonatohf.com.ar
[2] www.lcwo.net
[3] www.dxatlas.com/MorseRunner
[4] www.gdxn.com.ar/
Suscribirse a:
Entradas (Atom)
