RSS

Estación Espacial Internacional (ISS)

Estación Espacial Internacional (ISS) sobre Rosario (SF) Argentina, Frecuencia 145.800Mhz 13.09h. 




Contacto educativo vía radioaficionado LU8YY con el colegio del Sagrado Corazón de Halifax, en Nueva Escocia, Canadá y se incorpora a las clases de ciencias a través de la cual los estudiantes aprenderán acerca de la ISS, su misión, sus antecedentes y la importancia de sus contribuciones a la ciencia y la vida cotidiana en la Tierra.

PD: En el siguiente paso de la ISS a las 14.46h aprox se realizó el contacto como estaba planeado.




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Cambiando Paradigmas En La Educación

Cambiando Paradigmas En La Educación 

 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo del radio club Rosario LU4FM

Boletín informativo del radio club rosario LU4FM Domingo 16 de septiembre de 2012 11.30h. frecuencia 145.390Mhz -600.


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Ajedrez por radio

Alumnos de escuelas primarias porteñas jugaron a través de un equipo de radiocomunicación una partida con chicos que están en Antártida. En la ciudad, las movidas se decidían por voto.

La nota completa:
http://www.pagina12.com.ar/diario/sociedad/3-7313-2002-07-06.html

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo de los días Domingos de LU4FM 9/9/2012

Boletín informativo del Radio Club Rosario LU4FM, Domingo 9 de Septiembre de 2012. Frecuencia 145.390Mhz -600.11.30hs.


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Baliza en la banda de 70 cm. (432.075 Mhz)

Se encuentra en funcionamiento la baliza en la frecuencia 432.075 Mhz. (Banda de 70cms)

La misma emite en CW con 5 W y antena omni a 8 mts de altura.-
Se encuentra ubicada en el QTH de LU7FIA, FF97PB.-

La baliza en UHF es otro servicio a la comunidad de radioaficionados del grupo 147.415 Mhz.-

Sería muy bueno tener en Rosario balizas en todas las bandas, dado la utilidad de las mismas.-

En la actualidad tenemos las siguientes balizas activas desde Rosario:
10 mts: baliza en CW, 28.197 Mhz. LU5FB Circulo de Radioaficionados de Rosario.

6 mts:   baliza en CW. 50.067 Mhz. LU5FB Circulo de Radioaficionados de Rosario

2mts:    baliza en CW. 144.055 Mhz LU5FB Circulo de Radioaficionados de Rosario

2mts:    baliza multimodo interactiva: CW, SSTV, PKT y FONIA 144.980 Mhz LU1FBT, LU4FHJ, LU6FPJ Grupo 147.415 Mhz.

70 Cm: baliza en CW. 432.075 Mhz, LU7FIA. Grupo 147415 Mhz.-

Planes y proyectos para un futuro proximo...
Estamos viendo la posibilidad de activar una baliza en 1296 Mhz banda de 23 cm.-

Con respecto a la nueva baliza en 432.075 Mhz por favor enviar informes de recepcion a:

 lu7fia@hotmail.com

Indicando lugar de recepcion, equipos y antenas utilizados.
Muy amables.-

Willy.  LU7FIA

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín del Radio Club Rosario LU4FM 145.390Mhz.

Boletín del Radio Club Rosario LU4FM 145.390Mhz. 11.30h

 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo de LU4FM 19/8/2012

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Charla NOAA y TLT


Hoy por la mañana y tal como estuvo anunciado, junto con los colegas y amigos Charly LU1FBT y Willy LU7FIA dimos una charla introductoria sobre recepción de imágenes meteorológicas APT de satélites NOAA y rebote lunar. (TLT)

La idea principal fue dar a conocer las dos actividades e incentivar y despertar la curiosidad científica técnica de los radioaficionados y futuros radioaficionados que estuvieron presentes y tal vez, con algo de suerte, de los que no estuvieron y luego preguntaran o se enteraran  por radio, en alguna rueda de amigos.

Quiero agradecer a todos los que estuvieron presentes, especialmente a los miembros del radio club Rosario LU4FM y a la gente del circulo de radioaficionados deRosario LU5FB.

Algunas fotografías:









Video: Willy LU7FIA hablando sobre rebote lunar (TLT)



 “Si el conocimiento crea problemas, no es a través de la ignorancia que podamos resolverlos.“ Isaac Asimov

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Recepcionando satélites Orbcomm

Prueba de recepción satélites Orbcomm en 137.800Mhz:

 El software se puede descargar aquí: http://www.coaa.co.uk/orbcommplotter.htm




Recepcionando OrbComm con handy chino Baofeng UV-200


Según se puede ver en el programa Orbitron los satélites Orbcomm son bastantes:
Con cualquier equipo que recepcione en 137 / 138 Mhz. se pueden escuchar, y como son tantos se pueden escuchar casi en cualquier momento del día o de la noche.

Instalando el software Orbcomm Plotter se puede ver bastante información en pantalla:

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Charla sobre RX de imágenes APT NOAA

Estimados todos, el día sábado 18 a las 10h. junto con el amigo Carlos Bettiol LU1FBT brindaremos una pequeña charla muy básica sobre recepción de imágenes APT de satélites NOAA.

Simplemente es contar nuestra experiencia en la recepción de estas imágenes, Nada técnico ni complicado ya que sólo somos aficionados.

Que software, antena y receptor usar y tal vez algún que otro dato. Esencialmente para dar a conocer esta posibilidad que tenemos dentro de nuestro hobby ciencia, e incentivar al que no conoce o tiene ganas de aprender / experimentar un poco más sobre la materia.

La charla será en el campo de antenas del Radio Club Rosario LU4FM, calle Batlle y Ordóñez 3202, y por supuesto libre y gratuita.

La invitación es abierta a cualquier interesado en participar, sea o no radioaficionado. Estamos esperando la confirmación de un experto en meteorología, que en caso de poder concurrir hablará sobre como interpretar las imágenes meteorológicas.

Desde ya muchas gracias por la atención y la difusión.

Saludos cordiales.

Frecuencia repetidora LU4FM 145.390Mhz -600

Actualización 15/08/2012

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo de LU4FM 12/8/2012

Boletín informativo de los días Domingos del Radio Club Rosario LU4FM. Frecuencia 145.390Mhz Charla sobre recepción de imágenes APT de satélites NOAA. Boletín informativo del Radio Club Rosario LU4FM, día Domingo 12 de agosto de 2012

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo de los días Domingos del Radio Club Rosario LU4FM

Boletín informativo de los días Domingos del Radio Club Rosario LU4FM. Frecuencia 145.390Mhz 29 de Julio de 2012.


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo de LU4FM 22/7/2012

Boletín informativo de LU4FM Radio Club Rosario, 22 de Julio de 2012 11.30h frecuencia 145.390Mhz.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo del Radio club Rosario LU4FM 27/5/2012

Boletín informativo del Radio club Rosario LU4FM 27/5/2012

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Globo y radiobaliza

El amigo y espero que muy pronto colega Luciano Oitana me envió por mail la foto que logró recibir en SSTV del globo de AMSAT y de la radiobaliza interactiva.


¡Felicitaciones Luciano y gracias por escribir!

Actualización 26/5/2012
Daniel LU6FAF desde la ciudad de Casilda envía su foto:



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Contador Geiger casero

En Marzo del 2011, luego del tan mentado tsunami en Japón, fueron tema de conversación en la frecuencia terremotos, tsunamis y lo que se decía en los medios sobre la radiación. Es así que surgió como una especie de inquietud y desafío tratar de armar un contador geiger casero.

Carlos  LU4FHJ se puso manos a la obra desarrollando desde cero el circuito de un contador Geiger.



Lo más complicado del proyecto era conseguir los tubos Geiger, previamente había hablado con Nacho Herrera (Radio escucha de nuestra frecuencia) quien se ofreció amablemente a pedir unos tubos Rusos CI-3BG que encontramos a buen precio en e-bay. Ese modelo de tubo (CI-3BG) es el mismo que se utilizó en Chernóbil en 1986 luego del accidente en la central nuclear.

Unos 15 o 20 días después, llegaron en perfecto estado desde Ucrania diez tubos que habíamos pedido, y para el 20 de Abril más o menos ya estaba listo nuestro detector de partículas.


En el video que adjunto debajo se puede ver una prueba que hicimos con dos mechas de farol tipo “sol de noche” las cuales suelen tener torio.
 


Otra prueba que hicimos fue con electrodos de una máquina de soldar TIG, los electrodos con contenido de torio permiten una mayor capacidad de corriente, mejor iniciación y estabilidad del arco.

Llamamos a las ferreterías más grandes de la ciudad tratando de conseguir electrodos con 3% de torio pero no los pudimos conseguir en ningún lugar. Sólo conseguimos los que tienen 2% y casi no marcaban nada en nuestro instrumento.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo del Radio club Rosario LU4FM 20/5/2012

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Globo AMSAT

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Como en "vida interior" de Tabaré pero del UV-200

Si alguno tuvo curiosidad como yo en saber que había adentro del handy UV-200 aquí algunas fotos:



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo del Radio club Rosario LU4FM 13/5/2012


Boletín informativo de los días Domingo del Radio Club Rosario LU4FM. 13 de mayo de 2012 11:30h frecuencia 1 45.390Mhz. Nota: Había alguien interfiriendo.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

ATV 1.2Ghz Fail


En la tarde de hoy 11 de mayo de 2012, los radioaficionados LU1FBT y LU7FIA montaron a unos 40 metros de altura sobre la azotea de un edificio en la zona centro de la ciudad de Rosario (FF97QB) una estación de ATV en 1.2Ghz.

LU7FIA Willy llevó un Yaesu FT-736R más el módulo de ATV original (TV-736)  y algunas antenas direccionales. Charly LU1FBT cooperó con una cámara fotográfica para la emisión de las imágenes, y además de ocuparse de la logística, preparó y compartió un opulento café con leche acompañado de unas apetitosas medias lunas saladas.



En la zona sur de la ciudad, aproximadamente a unos 6 Km. de distancia en línea recta, estaba Miguel LU5FMC quien se hallaba trabajando. Muy gentilmente realizó una pausa en sus actividades para intentar recibir la emisión de los dos “locos de la azotea”.Para tal fin, Miguel conectó una antena discono al Icom IC-R9000.

A bastante menor distancia de la emisora ATV de campaña, más o menos a unos 1.100 metros en línea recta, con un viejo receptor Drake ESR 1240E y una antena doble quad estaba Carlos LU4FHJ y quien suscribe.



Desde el principio sabíamos que no sería fácil recibir las emisiones de LU7FIA y LU1FBT por la gran cantidad de obstáculos que teníamos, pero quisimos hacer la experiencia de todas formas.

Miguel LU5FMC por cuestiones laborales sólo pudo escuchar una prueba en 1,2Ghz que hizo LU7FIA en fonía, luego tuvo que retirarse.

Con LU4FHJ estábamos más cerca y utilizando el conocido método heurístico de prueba y error hicimos reiterados ensayos con resultados negativos. Si bien, en esta ocasión no lo logramos nos sentimos muy satisfechos por al menos haberlo intentado.

De ninguna manera vamos a darnos por vencidos, el experimento de hoy nos sirvió para obtener experiencia y conocimiento que nos será de mucha utilidad cuando reiteremos el ensayo. A todos los que de una u otra forma colaboraron muchas gracias.

Facundo LU6FPJ.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Interfaz para handy UV200

Somos varios por acá los que tenemos un handy bibanda chino UV-200 es por eso que decidimos hacer nuestra propia interfaz.



Se puede poner perfectamente dentro del mismo DB9

UV-3R_Programming_Software.rar
www.box.com/shared/7abu5t9f6xzgla5vvxvh

USB Programming Cable Project - UV-3R.p
www.box.com/shared/tt8sag485h8ru6s5k7jh

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Touch "Zone of Exclusion"

El 3 de mayo de 2012 se estrenó el capítulo 8 de la serie "Touch" (Zone of Exclusion) ¿Qué tiene que ver esto con el blog? En este capítulo gracias a un radioaficionado (KG2DDD) se logra salvar la vida de un astronauta italiano que estaba en una caminata espacial (EVA) en la Estación Espacial Internacional (ISS)

La NASA y la tripulación de la ISS pierde contacto radial con el astronauta.

Si bien en la serie se pueden ver varios errores (Es ficción para el público general) fue divertido y me pareció muy bueno ver un radioaficionado en la serie.

El radioaficionado viajando en colectivo (autobus) de fondo se ve al protagonista, Kiefer Sutherland.

Kiefer Sutherland (Martin Bohm en la serie) le alcanza una válvula que por accidente se le cae a KG2DDD

Un equipo de Banda Ciudadana Galaxy DX-959

Tripulación de la ISS llamando


El equipo para comunicar con la ISS fue un Receptor Hallicrafters S-20R (1939 aprox.)

Para comunicar con la ISS conecta el micrófono en la salida de auriculares.

La parte de abajo del mismo equipo (Receptor Hallicrafters S-20R) se ve diferente en otra escena.



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Repetidor banda cruzada experimental con pic 16f84a

Con la simple intención de aprender experimentando, decidí armar un repetidor banda cruzada UHF / VHF. aprovechando algunos componentes que dejó el amigo Charly LU1FBT (rezago de la radio baliza interactiva) más otros componentes reciclados y un PIC 16f84a que tenía por ahí.






Para la recepción uso un handy Yaesu FT-50r y para transmisión una base Yaesu FT-2400. (RX 434,415Mhz - TX 147.415Mhz.) tiene beep de cortesía, identificación en CW y anti-poncho. Para evitar desarmar el handy, utilicé una fotoresistencia (LDR) sobre el led del mismo, detectando de esa forma la señal portadora cuando alguien emite. (Para evitar usar audio)



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Boletín informativo del Radio Club Rosario LU4FM


Boletín informativo del Radio Club Rosario LU4FM Domingo 6 de mayo de 2012, 145.390Mhz 11.30h

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Radiobaliza multimodo e interactiva: Algunos reportes.

Estas son algunas fotos que llegaron por mail, a todos muchas gracias por enviarlas y esperamos recibir muchas más.

Desde la ciudad de Villa Gobernador Gálvez LU9FQR:


Desde Coronel Domínguez (30km aprox.) LU8FJH:

Desde la ciudad de Pérez LU1FNR:

Mauro Montenegro desde zona norte:

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Paraje Las hacheras- Impenetrable Chaqueño...

Paraje Las hacheras- Impenetrable Chaqueño... (Por Willy LU7FIA)

El 12 de Abril llegue a Castelli donde tenia que hacer varios tramites, sin tiempo para descansar y después de 13 horas de viaje, me dedique a resolverlos lo antes posible para poder llegar hasta Las hacheras, a unos 100 Km. al norte , en el mismo día. 


La idea era pasar a buscar una vieja Land Rover Santana por el mecánico para llevarla y ponerla en servicio en La casa de la pediatría rural (en el paraje Las hacheras) pero el vehículo no estaba terminado y me demore unas horas mas...

Finalmente opte por buscar la Toyota Hilux... pero también tenia inconvenientes, finalmente compre una batería nueva y una vez instalada partí hacia el monte, previo paso por Miraflores, a unos 50 Km. al norte y por ruta pavimentada. Allí en Miraflores me hicieron "dedo" tres personas que viajaban al norte, subieron todos los bolsos y salimos hacia Las Hacheras, este tramo es por camino de tierral en muy mal estado y si llueve es intransitable... igual decidí partir.


Tarde algo mas de una hora en llegar al paraje, y me dirigí hacia la casa de la pediatría rural donde me esperaban dos albañiles compañeros de trabajo, en el silencio y la magia del monte...


Después de tomar tres mates y cuando ya caía la noche me dispuse a montar las antenas!!!, es que deseaba estar al aire cuanto antes desde la zona G... Por lo que pude averiguar ,nunca antes hubo una estación de radioaficionado desde este lugar...


Me trepe a la torre de 36 mts y colgué los dipolos para 15, 20 y 40 m además de una vertical para 28 mhz... De noche y en una absoluta oscuridad no convenía conectar los coaxiles y demás detalles...


A la mañana siguiente prepare la estación- Kenwood TS 450 S, fuente de alimentación, batería, notboock, interface, base de VHF y termine de acomodar las antenas con sus respectivos coaxiles... al rato ya estaba en el aire...


No hay ruido en las bandas!!! pero las estaciones llegan s9 más treinta!!
Sabia que debía aprovechar los cuatro primeros días para estar activo en radio, dado que luego llegaría el grupo de 11 personas que yo tenia que ir a buscar a Castelli, 5 cineastas con todos los equipos y 6 compañeros de La Higuera ONG, tres médicos y algunos colaboradores (entre ellos mi viejo,el Coco) y a partir de allí ya no había tiempo para la radio.




Realicé unos cuantos qsos en 10, 20 y 40 mts con estaciones de varias provincias argentinas y DX, la antena de 15 mts fue destruida por chanchos moros que andaban por ahí...


Hacia actividad de radio en los tiempos libres, mientras trabajaba en la construcción y preparaba la logística para las actividades programadas en los días siguientes.


Chagas: un asesino silencioso... enfermedad de la pobreza.

Durante los ocho días siguientes se rodó un documental sobre la actividad que desarrolla La Higuera en el área de salud de la región 5 de la provincia del Chaco (impenetrable), proyecto PAICRA (pediatría ambulatoria itinerante para comunidades rurales y aisladas) asistencia medica y lucha contra el mal de Chagas... 


El material registrado mientras se atendía en los diferentes parajes, mas entrevistas y visitas a familias que viven (sobreviven) muy adentro del monte y aisladas de todo, paisajes, lo cotidiano, la vida del grupo humano en la estadía y otras vivencias difíciles de describir se convertirán finalmente en un documental de 30 minutos encargado por la red Al Jazzera a una productora local, el mismo estará listo para el 31 de Mayo y además de dar a conocer el problema del Chagas, recauda fondos destinados a combatir la enfermedad.


Se atendió en seis parajes en un radio de 80 Km. con epicentro en Las hacheras, se recorrieron mas de 1400 Km. en el monte, con tres vehículos, se realizaron análisis de sangre, electrocardiogramas, se suministro medicamentos y se atendieron 70 pacientes.


En parte de la geografía recorrida no hay señal de telefonía celular, parte del trabajo se realizo comunicándose a través de cuatro handys... es decir: cuando ninguna infraestructura de servicios comerciales funciona... la radio, la que nosotros hacemos y practicamos,
sigue funcionando.

Lamentablemente no pude dedicarme a estar activo en las bandas durante los días de trabajo, una gran cantidad de responsabilidades y actividad, mucho movimiento de gente y vehículos, transporte de equipos, tramites, preparación de medicamentos y programas, desayuno, almuerzo y cena para 12 personas, la lluvia, falta de duchas, trabajos en la construcción de La casa de la Pediatría Rural, y tantas cosas mas no dejan tiempo para operar la estación de radio.


Pero "la radio" estuvo presente.-

Las estaciones contactadas:
Mas de 90 QSOs, en fonía y algunos pocos en SSTV.


Provincias Argentinas: Santa Fe, Santiago del Estero, San Luis, Salta, Mendoza, San Juan, La Rioja, Catamarca, Tucuman, Formosa, Chaco, Buenos aires, Entre Rios, Cap federal,Cordoba.

DX: Paraguay, Rusia, Ukrania, Inglaterra, Escocia, Canadá, USA, Camerún, Chile, Venezuela, España, Brasil, Chipre, Eslovaquia, Italia.

SSTV: LU1JY, LU1FVN, VE3YCO,PY2RPD.

A siete Km. del paraje La Armonía (a unos 40 KM mas al Norte de Las Hacheras) necesitan algún tipo de comunicación debido al aislamiento total (no hay señal de celular), la idea es instalar una estación de VHF completa para que puedan comunicarse.


El mismo caso en cercanías del paraje Los Rosales.- Visite también algunas familias que están totalmente incomunicadas.

El grupo de Radio Solidaria 147.415 Mhz se propone en lo posible de instalarle una estación de radio para suplir el aislamiento.

Quienes puedan donar bases de VHF o equipos de Banda Ciudadana, fuentes, antenas o cualquier accesorio para dichas  instalaciones por favor comunicarse con LU6FPJ Facundo Fernández.

Un abrazo.-
Willy.-
LU7FIA

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Radioafición, la aventura del conocimiento y el aprendizaje


Estimados todos, me es muy grato comunicarles que ya se encuentra puesta en marcha y funcionando en la frecuencia 144.980Mhz la nueva radiobaliza experimental multimodo e interactiva.



Los resultados son fruto del trabajo en equipo de LU1FBT, LU4FHJ y quien suscribe, el hardware se compone de la siguiente manera:

Para la transmisión y recepción utilizamos un transceptor marca Vertex modelo FTL-2011 con una antena Ringo a unos 45 metros de altura con aproximadamente 3 vatios de potencia.

La radiobaliza multimodo emite un mensaje en CW, PSK, SSTV y Fonía. De a uno por vez cada 3 minutos.

Comandos DTMF:

DTMF 1: Responde en CW “QAP” y corta por 5 minutos. (No responde a ningún comando)
DTMF 2: Emite el mensaje en fonía.
DTMF 3: Emite el mensaje en PSK.
DTMF 4: Emite una imagen en SSTV (modo Robot36)
DTMF 5: Emite mensaje en telegrafía a 12 PPM.

 
Para el desarrollo decidimos utilizar un microcontrolador (μC) PIC 16F877a, para la detección de tonos DTMF usamos un HT9170 y para SSTV, PSK y Fonía empleamos dos chips de grabación de voz APR9600. (Uno tiene la foto SSTV y el otro el mensaje en fonía y PSK)

En un principio, la idea fue que emitiera el mensaje en CW, Fonía y PSK. Y estábamos en duda si agregábamos también una foto en SSTV, hasta que el amigo Willy LU7FIA nos terminó de convencer. Al enterarse Diego (Futuro radioaficionado) en lo que estábamos trabajando, decidió desinteresadamente comprar y donar un APR9600.

¡Gracias Diego!



Poco tiempo después, con el desarrollo bastante avanzado se decidió también agregar una pequeña pantalla LCD 2 líneas de 16 caracteres para uso interno del encargado de operar la radiobaliza, (LU1FBT) Que entre otras cosas muestra el modo que está transmitiendo, una cuenta regresiva que indica cuanto falta para la próxima transmisión y el tono DTMF detectado.

¡Lo aprendido y toda la experiencia, no se olvida y no tiene precio!

Esperamos recibir reportes de señal, como así también nos gustaría mucho recibir por mail una copia de la imagen o el mensaje recibido.

Preguntas, sugerencias o reportes, escribir por favor a: lu6fpj@hotmail.com

 

Actualización 6/40/2014: Código fuente de la baliza:

/////////////////////////////////////////////////////////////////////////////////
//
//    BALIZA IDENTIFICADORA EN CODIGO MORSE LU6FPJ - LU4FHJ
//    
//    MICRO: 16F877A        ROSARIO 25/04/12
//
//    NUEVA VERSION  +  DTMF   modificado para 16F877A
//
//   
//    INCORPORADOS 2 x VOICE CHIP  APR9600
//
//                     
/////////////////////////////////////////////////////////////////////////////////

// RB 0 
// RB 1 
// RB 2
// RB 3
// RB 4
// RB 5
// RB 6
// RB 7
  
// RA 0  TX
// RA 1  TONO
// RA 2
// RA 3
// RA 4


asm{
 __FUSES _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _WDT_ON & _HS_OSC
   }


//Timing settings

#pragma CLOCK_FREQ  20000000


//------------------------------------------------------------------------------

char PORTC@0x07;
char PORTD@0x08;
char PORTE@0x09;
char  PIR1@0x0C;
char RCSTA@0x18;
char TXREG@0x19;
char RCREG@0x1A;

char ADRESH@0x1e;
char ADCON0@0x1f;
char CCPR1L@0x15;
char CCPR2L@0x1b;

char direc@0x20;
char valor@0x21;

//------------------------------------------------------------------------------

unsigned char aux;

unsigned char aux1;

unsigned char aux2;

unsigned char cursor1;

unsigned char cursor2;

unsigned char morse;

unsigned  char frec;
unsigned  char wpm;

unsigned  int  gx;                   // variables globales multiproposito
unsigned  char gbx;
unsigned  char gbt;

unsigned  int       frecuencia=1000; // desde 400 HZ hasta 1000 HZ
unsigned const char palabrasxm=12;   // desde 4 palabras por minuto

//---------------------------TABLA MORSE----------------------------------------
//
//El primer uno a la izquierda es un marcador que no se reproduce
//
//a partir del mismo de izquierda a derecha 1=raya(DA) 0=punto  (DI)

const unsigned char Table[59]={
                                00000001b,//032    espacio  interpalabra 7 units
                                01101011b,//033  ! -ú-ú-- 
                                01010010b,//034  " ú-úú-ú
                                00111011b,//035  # --ú--    para usar la ¥
                                10001001b,//036  $ úúú-úú-
                                00000001b,//037  %                   No usado
                                00101000b,//038  & ú-úúú    Wait
                                01011110b,//039  ' ú----ú
                                00110110b,//040  ( -ú--ú
                                01101101b,//041  ) -ú--ú-
                                00000001b,//042  *                   No usado
                                00101010b,//043  + ú-ú-ú
                                01110011b,//044  , --úú--
                                01100001b,//045  - -úúúú-
                                01010101b,//046  . ú-ú-ú-
                                00110010b,//047  / -úú-ú

                                00111111b,//048  0 -----
                                00101111b,//049  1 ú----
                                00100111b,//050  2 úú---
                                00100011b,//051  3 úúú--
                                00100001b,//052  4 úúúú-
                                00100000b,//053  5 úúúúú
                                00110000b,//054  6 -úúúú
                                00111000b,//055  7 --úúú
                                00111100b,//056  8 ---úú
                                00111110b,//057  9 ----ú

                                01111000b,//058  : ---úúú
                                01101010b,//059  ; -ú-ú-ú
                                00000001b,//060  <                  No usado
                                00110001b,//061  = -úúú-
                                00000001b,//062  >                  No usado
                                01001100b,//063  ? úú--úú
                                01011010b,//064  @ ú--ú-ú

                                00000101b,//065  A ú-
                                00011000b,//066  B -úúú
                                00011010b,//067  C -ú-ú
                                00001100b,//068  D -úú
                                00000010b,//069  E ú
                                00010010b,//070  F úú-ú
                                00001110b,//071  G --ú
                                00010000b,//072  H úúúú
                                00000100b,//073  I úú
                                00010111b,//074  J ú---
                                00001101b,//075  K -ú-
                                00010100b,//076  L ú-úú
                                00000111b,//077  M --
                                00000110b,//078  N -ú
                                00001111b,//079  O ---
                                00010110b,//080  P ú--ú
                                00011101b,//081  Q --ú-
                                00001010b,//082  R ú-ú
                                00001000b,//083  S úúú
                                00000011b,//084  T -
                                00001001b,//085  U úú-
                                00010001b,//086  V úúú-
                                00001011b,//087  W ú--
                                00011001b,//088  X -úú-
                                00011011b,//089  Y -ú--
                                00011100b //090  Z --úú

                               };

//------------------------FIN TABLA MORSE---------------------------------------

const unsigned char dtmf  [16]={                         
                                'D',//
                                '1',//
                                '2',//
                                '3',//
                                '4',//
                                '5',//
                                '6',//
                                '7',//
                                '8',//
                                '9',//
                                '0',//
                                '*',//
                                '#',//
                                'A',//
                                'B',//
                                'C' //
                               };

//------------------------------------------------------------------------------
//
// FUNCIONES DE MANEJO DE DISPLAY
//
//------------------------------------------------------------------------------

void lcd_byte(char data,char control)
{char low,high;
 low=data&15;
 low=low<<4;
 high=data&240;

 if (control!=2){if(control==1){set_bit(high,2);set_bit(low,2);}
                 PORTD=high;
                 delay_ms(1);
                 set_bit(PORTD,3);
                 delay_ms(1);
                 clear_bit(PORTD,3);
                 delay_ms(1);
                 PORTD=low;
                 delay_ms(1);
                 set_bit(PORTD,3);
                 delay_ms(1);
                 clear_bit(PORTD,3);
                 delay_ms(1);
                }
 if (control==2){
                 PORTD=data;
                 delay_ms(1);
                 set_bit(PORTD,3);
                 delay_ms(1);
                 clear_bit(PORTD,3);
                 delay_ms(1);
                }
}

void lcd_reset(void)
{
 lcd_byte( 00001100b,0 );  // Display On/Off
 lcd_byte( 00011000b,0 );  // Display Shift
 lcd_byte( 00000001b,0 );  // Clear Display
 lcd_byte( 00000110b,0 );  // Entry Mode Set
 lcd_byte( 00101000b,0 );  // Funtion Set 4 bits 2 lines
 lcd_byte( 00000010b,0 );  // Return Home
 lcd_byte( 10000000b,0 );  // Set DD Ram Address
}
void lcd_init(void)
{
   delay_ms(250);
   delay_ms(250);

   lcd_byte( 00110000b,2 );
   delay_ms(5);
   lcd_byte( 00110000b,2 );
   delay_ms(1);
   lcd_byte( 00110000b,2 );
   lcd_byte( 00100000b,2 );
}

void mensaje (char mens)

   char i=0;
  
//   if(mens<20){lcd_reset();}

   if(mens<20){ lcd_byte( 00000001b,0 );  // Clear Display
              }

         //else {lcd_byte( 10101000b,0 );}

// const char *SAMPLE ="0123456789ABCDEF------------------------0123456789ABCDEF";
   const char *texto1 ="   BIENVENIDO                           inicializando...";
   const char *texto2 ="                                        RADIOBALIZA     ";
   const char *texto7 ="                                        CORTE           ";
   const char *texto8 ="                                        VOICE           ";
   const char *texto9 ="                                        PSK             ";
   const char *texto10="                                        SSTV            ";
   const char *texto11="                                        ID CW           ";

   const char *texto20="                  ~ ";


   if(mens==1 ){while(texto1 [i]!=0){lcd_byte(texto1 [i++],1);}}
   if(mens==2 ){while(texto2 [i]!=0){lcd_byte(texto2 [i++],1);}}
   if(mens==3 ){while(texto3 [i]!=0){lcd_byte(texto3 [i++],1);}}
   if(mens==4 ){while(texto4 [i]!=0){lcd_byte(texto4 [i++],1);}}
   if(mens==5 ){while(texto5 [i]!=0){lcd_byte(texto5 [i++],1);}}
   if(mens==6 ){while(texto6 [i]!=0){lcd_byte(texto6 [i++],1);}}
   if(mens==7 ){while(texto7 [i]!=0){lcd_byte(texto7 [i++],1);}}
   if(mens==8 ){while(texto8 [i]!=0){lcd_byte(texto8 [i++],1);}}
   if(mens==9 ){while(texto9 [i]!=0){lcd_byte(texto9 [i++],1);}}
   if(mens==10){while(texto10[i]!=0){lcd_byte(texto10[i++],1);}}
   if(mens==11){while(texto11[i]!=0){lcd_byte(texto11[i++],1);}}
   if(mens==20){while(texto20[i]!=0){lcd_byte(texto20[i++],1);}}
}

void numero( int num )
{

    lcd_byte( 10110100b,0 );//old value 10101101==45

//    lcd_byte( '0' + (num/1000),1);
//    lcd_byte( '0' + (num%1000)/100,1);

//    lcd_byte( ',',1);

//    lcd_byte( '0' + (num%100)/10,1);


    lcd_byte( '0' + (num/100),1);
    lcd_byte( '0' + (num%100)/10,1);
    lcd_byte( '0' + (num%10),1);


}
  

//------------------------------------------------------------------------------
//
// FUNCIONES DE TIEMPO
//
//------------------------------------------------------------------------------

unsigned char segundosDTMF(unsigned int seg)
{

 unsigned char stex1=255;
 unsigned char stex2=255;

 unsigned char dper=0;

 unsigned int sdaux;

 cursor1=0;

 lcd_byte( 00000010b,0 );  // Return Home
 mensaje(20);
 lcd_byte( 00000010b,0 );  // Return Home

 sdaux=seg+1;

 seg=seg*20;

 aux=0;
 aux1=255;
 aux2=0;

 for(gx=0;gx<seg;gx++){
                       
                       if(gx%20==0){

                                    sdaux=sdaux-1;
                                    if(dper==0){numero(sdaux);}
                                    if(dper==1){mensaje(2);}
                                    dper=dper-(dper>0);
                                   }                   

                       clear_wdt();
                       delay_ms(50);
                      
                       aux=(PORTB&10001111b);
                            
                       if(aux>127){
                                   aux1=aux&00001111b;

                                   stex1=dtmf[aux1]; 
                                  
                                   if(stex1!=stex2){
                                                    if(cursor1==16){
                                                                    cursor1=0;
                                                                    lcd_byte( 00000010b,0 );  // Return Home
                                                                    mensaje(20);
                                                                    lcd_byte( 00000010b,0 );  // Return Home
                                                                                   }
                                                    cursor2=128+cursor1;
                                                    lcd_byte(cursor2,0 );                                                               
                                                    lcd_byte(stex1,1);
                                                    cursor1++;
                                                   }
                                   stex2=stex1;
                                                             
                                  }
                       else       {
                                   stex1=255;
                                   stex2=255;
                                  }
                     

                       if((aux1>0)&&(aux1<6)){
                                              if(aux2==0){return (aux1);}
                                             }

                       if((aux1==9)&&(aux2==0))
                                  {
                                   aux2=20;
                                   aux1=255; 
                                  }
                      
                       aux2=aux2-(aux2>0);
                      
                      
                       if(aux1==5){
                                   aux1=255;
                                   if(aux2>0){mensaje(3);dper=15;}
                                   aux2=0;
                                  }

                       if(aux1==6){
                                   aux1=255;
                                   if(aux2>0){mensaje(4);dper=15;}
                                   aux2=0;
                                  }

                       if(aux1==7){
                                   aux1=255;
                                   if(aux2>0){mensaje(5);dper=15;}
                                   aux2=0;
                                  }

                       if(aux1==8){
                                   aux1=255;
                                   if(aux2>0){mensaje(6);dper=15;}
                                   aux2=0;
                                  }
                                                                    
                      }
 aux1=0;

 return 0;

}

unsigned char segundosff(unsigned int seg)
{

 unsigned char stex1=255;
 unsigned char stex2=255;

 unsigned int sfaux;

 unsigned char fper=0;

 cursor1=0;

 lcd_byte( 00000010b,0 );  // Return Home
 mensaje(20);
 lcd_byte( 00000010b,0 );  // Return Home

 sfaux=seg+1;

 seg=seg*20;

 aux=0;
 aux1=255;
 aux2=0;

 for(gx=0;gx<seg;gx++){

                       if(gx%20==0){
                                    sfaux=sfaux-1;
                                    if(fper==0){numero(sfaux);}
                                    if(fper==1){mensaje(2);}
                                    fper=fper-(fper>0);
                                   }      

                       clear_wdt();
                       delay_ms(50);
                      
                       aux=(PORTB&10001111b);
                            
                       if(aux>127){
                                   aux1=aux&00001111b;

                                   stex1=dtmf[aux1];

                                   if(stex1!=stex2){
                                                    if(cursor1==16){
                                                                    cursor1=0;
                                                                    lcd_byte( 00000010b,0 );  // Return Home
                                                                    mensaje(20);
                                                                    lcd_byte( 00000010b,0 );  // Return Home
                                                                   }
                                                    cursor2=128+cursor1;
                                                    lcd_byte(cursor2,0 );                                                                                    
                                                    lcd_byte(stex1,1);
                                                    cursor1++;
                                                   }
                                   stex2=stex1;
                                                             
                                  }
                       else       {
                                   stex1=255;
                                   stex2=255;
                                  }
                      

                       if((aux1==9)&&(aux2==0))
                                  {
                                   aux2=20;
                                   aux1=255; 
                                  }
                      
                       aux2=aux2-(aux2>0);
                      
                      
                       if(aux1==5){
                                   aux1=255;
                                   if(aux2>0){mensaje(3);fper=15;}
                                   aux2=0;
                                  }

                       if(aux1==6){
                                   aux1=255;
                                   if(aux2>0){mensaje(4);fper=15;}
                                   aux2=0;
                                  }

                       if(aux1==7){
                                   aux1=255;
                                   if(aux2>0){mensaje(5);fper=15;}
                                   aux2=0;
                                  }

                       if(aux1==8){
                                   aux1=255;
                                   if(aux2>0){mensaje(6);fper=15;}
                                   aux2=0;
                                  }
                                                                    
                      }
 aux1=0;

 return 0;

}



unsigned char segundosr(unsigned int seg)
{

 seg=seg*20;

 for(gx=0;gx<seg;gx++){
                       clear_wdt();
                       delay_ms(50);
                      
                       aux=(PORTB&10001111b);
                            
                       if(aux>127){
                                   aux=aux&00001111b;
                                   return (aux);}
                      }
 aux=0;

 return 0;
}

void segundosf(unsigned int seg)
{
 seg=seg*10;

 for(gx=0;gx<seg;gx++){
                       clear_wdt();
                       delay_ms(100);
                      }
}

void micropausa(void)
{
 delay_us(frec);
 delay_us(frec);
 delay_us(frec);
 delay_us(frec);
 delay_us(frec);
}
void pausa (unsigned char c)
{
 gbt=wpm;

 for(gbx=0;gbx<c;gbx++)
     {
      clear_wdt();

      while(gbt>0){
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   micropausa();

                   PORTA=1;
                   PORTA=1;
                   PORTA=1;
                   gbt--;
                   asm{nop} 
                   micropausa();

                   PORTA=1;
                   micropausa();
                  }
     }
}

void punto()
{
 gbt=wpm;

 while(gbt>0){
              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();
 
              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();

              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();

              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();

              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();

              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();

              PORTA=3;
              PORTA=3;
              PORTA=3;
              gbt--;
              asm{nop} 
              micropausa();

              PORTA=1;
              micropausa();
             }
 pausa(1);
}

void raya()
{
 gbt=3*wpm;

 while(gbt>0){
              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();

              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();

              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();

              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();
 
              PORTA=3;
              PORTA=3;
              PORTA=3;
              PORTA=3;
              micropausa();
 
              PORTA=1;
              PORTA=1;
              PORTA=1;
              PORTA=1;
              micropausa();

              PORTA=3;
              PORTA=3;
              PORTA=3;
              gbt--;
              asm{nop} 
              micropausa();

              PORTA=1;
              micropausa();
             }
 pausa(1);
}

void codec(unsigned char letra)
{
 unsigned char c=7,x;

 letra=letra&0x7F;
 morse=Table[letra-0x20];

 if(morse==0){morse=1;}

 while(morse<0x80){morse=morse<<1;c--;}
 morse=morse<<1;

// ú                    1 unidad   de tiempo
// -                    3 unidades de tiempo
// gap intra caracter   1 unidad   de tiempo
// gap entre caracteres 3 unidades de tiempo
// gap entre palabras   7 unidades de tiempo
//
// cada punto o raya termina con un gap de 1 para encadenarlo
// con el siguiente simbolo del caracter
// por eso agrego un gap de 2 al final para completar los 3
// luego de cada caracter
//
// de la misma manera agrego 4 para completar los 7 entre palabras
//

 if(c==0){pausa(4);}    //3 del gap de la ultima letra mas 4 = 7

 else    {
          for(x=0;x<c;x++){if(morse<0x80){punto();} else {raya();}
                           morse=morse<<1;
                          }
          pausa(2);
         }
}

void codecc(unsigned char cletra)
{

 if(cletra==0x20){
                  codec(cletra);
                  codec(cletra);
                  codec(cletra);
                  codec(cletra);
                  codec(cletra);
                 }
 else            {
                  codec(cletra);
                 }

}

void tx_morse(unsigned const char *texto)
{
 unsigned char x=0;

 cursor1=0;
 cursor2=0;

 lcd_byte( 00000010b,0 );  // Return Home
 mensaje(20);                                                       
 lcd_byte( 00000010b,0 );  // Return Home                                            

 while(texto[x]!=0){
                    codecc(texto[x]);

                    if(cursor1==16){
                                    cursor1=0;
                                    lcd_byte( 00000010b,0 );  // Return Home
                                    mensaje(20);                                                       
                                    lcd_byte( 00000010b,0 );  // Return Home                                            
                                   }
                                                              
                    lcd_byte(texto[x],1);x++;                  
                                      
                    cursor1++;
                   }

}


void inicio_var(void)
{

 frec=20000/frecuencia;
 frec=frec*5;


 gx=frec*40/1000;          //periodo del loop (T*4)      

 gx=palabrasxm*frec;

 wpm=30000/gx;

 if(wpm>85){wpm=85;}

 if(frec<100){frec=100;}

}
void power_on(void)
{
 PORTA=5;
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 PORTA=1;
 delay_ms(250);
 clear_wdt();
}
void power_off(void)
{
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 PORTA=0;
}

//******************************************************************************
void sstv(void)
{

 mensaje(10);

 power_on();

 clear_bit(PORTB,6);

 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);

 set_bit (PORTB,6);

 segundosf(40);

 power_off();

}
//******************************************************************************
void psk(void)
{

 mensaje(9);

 power_on();

 clear_bit(PORTB,4);

 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);

 set_bit (PORTB,4);

 segundosf(18);

 power_off();

}
//******************************************************************************
void voice(void)
{
 mensaje(8);

 power_on();

 clear_bit(PORTB,5);

 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);
 clear_wdt();
 delay_ms(250);

 set_bit (PORTB,5);

 segundosf(11);

 power_off();

}
//******************************************************************************
void callsign(void)
{
  mensaje(11);         

  power_on();
           
  tx_morse("VVV LU1FBT ");
  tx_morse("LU4FHJ LU6FPJ ");
  tx_morse("FF97QB ");

  power_off();

}
//******************************************************************************
void callqap(void)
{
  mensaje(7);
         
  power_on();
  tx_morse("  QAP  ");
  power_off();

}
//******************************************************************************

void main(void)
{  
 unsigned char maux=2;

cursor1=0;

cursor2=0;

//------------------------------------------------------------------------------
//
// SETEO DE PUERTOS
//
//------------------------------------------------------------------------------


 asm
    {
     bsf STATUS,RP0
     movlw b'10000110'
     movwf ADCON1

     movlw b'00000000'
     movwf TRISD

     bcf STATUS,RP0
    }       


 set_bit( STATUS, RP0 );

 set_tris_a( 00000000b );
 set_tris_b( 10001111b );

 OPTION_REG= 11111111b;

 clear_bit( STATUS, RP0 );

 PORTA=0;
 PORTD=0;

 PORTB=01110000b;

 clear_wdt();

 inicio_var();

 lcd_init();
 
 lcd_reset();

 mensaje(1);

 segundosf(2);   

 mensaje(2);

 segundosf(2);   

 callsign();

 mensaje(2);
               

 while(1){

          if(segundosDTMF(180)!=0){maux=aux1;}

          if(maux==1){callqap();segundosff(300);maux=2;}

          if(maux==2){voice()   ;}
          if(maux==3){psk()     ;}
          if(maux==4){sstv()    ;}
          if(maux==5){callsign();}

          mensaje(2);

          maux++;if(maux>5){maux=2;}
         


         }



            
}




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS