RSS

Radiobaliza Arduino Nano - módulo DRA818V

Se encuentra funcionando en forma experimental una pequeña radiobaliza QRP que emite un mensaje en CW cada 5 minutos aproximadamente en la frecuencia 144.055Mhz. Los reportes son bienvenidos lu6fpj@gmail.com o vía twitter en @lu6fpj.



Adjunto el circuito para quien le interese:

Para quien no posea el módulo DRA818 se puede mediante una pequeña y sencilla modificación, hacer funcionar la radiobaliza con un handy. (Por ejemplo Yaesu FT23r)

Circuito para conexión con handy Yaesu FT-23r


El código fuente para usar con el módulo DRA818:

#include <stdio.h>
#include <SoftwareSerial.h>
#include "DRA818.h"


#define PD      10  
#define RX      0   
#define TX      1   


// Establecer parámetros para el DRA818V
int bw = 1; // ancho de banda en KHz (0 = 12.5KHz or 1 = 25KHz)
float ftx = 144.0550; // Frecuencia de TX en MHz (134.0000 - 174.0000)
float frx = 144.0550; // Frecuencia de RX en MHz (134.0000 - 174.0000)
String tx_ctcss = "0000"; // Frecuencia de Subtonos CTCSS en TX (0000 - 0038); 0000 = "Sin CTCSS"
String rx_ctcss = "0000"; // Frecuencia de Subtonos CTCSS en RX  (0000 - 0038); 0000 = "Sin CTCSS"
int squ = 5; // Nivel del squelch (0-8); 0 = "Abierto, sin squelch"


int pinPTT = 4; // Pin para PTT
int MorseLEDPin = 13; // Led
int MorseTonePin = 5; // Pin de audio
int MorseToneFreq = 1000; // Frecuencia del tono
int MorseWPM = 20; // Velocidad (Palabras Por Minuto)

#define strBeacondID "     VVV VVV RADIOBALIZA LU6FPJ FF97QA    " // Mensaje que va a emitir la baliza


char* MorseCodeCharacters[] = {
"A", ".-",
"B","-...",
"C","-.-.",
"D","-..",
"E",".",
"F","..-.",
"G","--.",
"H","....",
"I","..",
"J",".---",
"K","-.-",
"L",".-..",
"M","--",
"N","-.",
"O","---",
"P",".--.",
"Q","--.-",
"R",".-.",
"S","...",
"T","-",
"U","..-",
"V","...-",
"W",".--",
"X","-..-",
"Y","-.--",
"Z","--..",
"0","-----",
"1",".----",
"2","..---",
"3","...--",
"4","....-",
"5",".....",
"6","-....",
"7","--...",
"8","---..",
"9","----.",
"/","-..-.",
"*","-.-.-",
".",".-.-.",
"&","...-.-",
" "," "
};

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


void setup() {
   

  Serial.begin(9600);
  pinMode(pinPTT, OUTPUT);
  pinMode(MorseLEDPin, OUTPUT);
  pinMode(MorseTonePin, OUTPUT);
  Serial.println(" Morse "); Serial.println();
}

  void TransmitMorse(String MorseString, int MorseWPM,int MorseToneFreq) {


  delay (10);
Serial.print ( "AT+DMOSETGROUP="); // comenzar mensaje
Serial.print (bw);
Serial.print ( ",");
Serial.print (ftx,4);
Serial.print ( ",");
Serial.print (frx,4);
Serial.print ( ",");
Serial.print (tx_ctcss);
Serial.print ( ",");
Serial.print (squ);
Serial.print ( ",");
Serial.println (rx_ctcss);// siempre finalice el comando con una nueva línea "println"

  delay (10);

  Serial.print("Mensaje: ");
  Serial.println(MorseString);

  int CWdot = 1200 / MorseWPM;
  int CWdash = (1200 / MorseWPM)*3;
  int istr;
  for (istr=0; istr < MorseString.length(); istr++) {
    String currentchar = MorseString.substring(istr,istr+1);
    int ichar = 0;
    while(ichar < sizeof(MorseCodeCharacters)) {
      String currentletter = MorseCodeCharacters[ichar];  
      String currentcode = MorseCodeCharacters[ichar+1];  
      if (currentletter.equalsIgnoreCase(currentchar)) {
        int icp=0;
        for (icp=0;icp < currentcode.length(); icp++) {
         
          if (currentcode.substring(icp,icp+1).equalsIgnoreCase(".")) {
            digitalWrite(MorseLEDPin, HIGH);
            tone(MorseTonePin, MorseToneFreq);
            delay(CWdot);
            digitalWrite(MorseLEDPin, LOW);
            noTone(MorseTonePin);
            delay(CWdot);
          }
         
          else if (currentcode.substring(icp,icp+1).equalsIgnoreCase("-")) {
            digitalWrite(MorseLEDPin, HIGH);
            tone(MorseTonePin, MorseToneFreq);
            delay(CWdash);
            digitalWrite(MorseLEDPin, LOW);
            noTone(MorseTonePin);
            delay(CWdot);
          }
          else if (currentcode.substring(icp,icp+1).equalsIgnoreCase(" ")) {
            delay(CWdot*3);
          };
          }
        }
        ichar=ichar+2;
     }
      delay(CWdot*3);
      }    
    delay(CWdot*7);
  }

void loop() {
  digitalWrite(pinPTT, LOW);
  TransmitMorse(strBeacondID, MorseWPM, MorseToneFreq);
  digitalWrite(pinPTT, HIGH);
  delay(300000); // Tiempo en milisegundos (1000 milisegundos = 1 Segundo) cada cuanto va a emitir el mensaje la radiobaliza
}


Código fuente para usar con handy Yaesu FT-23r:

// Radiobaliza


int pinPTT = 4; //Pin arduino para activar PTT
int MorseLEDPin = 13; //Pin arduino led
int MorseTonoPin = 5; //Pin arduino tono
int MorseTonoFrec = 1000; //Pin arduino frecuencia en HZ del tono
int MorsePPM = 16; //Pin arduino cantidad de palabras por minuto PPM


#define BalizaID "      CQ CQ CQ BALIZA  " //Mensaje que emite la baliza


char* AlfabetoMorse[] = {
"A", ".-",
"B","-...",
"C","-.-.",
"D","-..",
"E",".",
"F","..-.",
"G","--.",
"H","....",
"I","..",
"J",".---",
"K","-.-",
"L",".-..",
"M","--",
"N","-.",
"O","---",
"P",".--.",
"Q","--.-",
"R",".-.",
"S","...",
"T","-",
"U","..-",
"V","...-",
"W",".--",
"X","-..-",
"Y","-.--",
"Z","--..",
"0","-----",
"1",".----",
"2","..---",
"3","...--",
"4","....-",
"5",".....",
"6","-....",
"7","--...",
"8","---..",
"9","----.",
"/","-..-.",
"*","-.-.-",
".",".-.-.",
"&","...-.-",
" "," "
};

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


void setup() {
  Serial.begin(9600);
  pinMode(pinPTT, OUTPUT);
  pinMode(MorseLEDPin, OUTPUT);
  pinMode(MorseTonoPin, OUTPUT);
  Serial.println(" Morse "); Serial.println();
}

  void TransmitMorse(String CadenaMorse, int MorsePPM,int MorseTonoFrec) {

  Serial.print("Mensaje: ");
  Serial.println(CadenaMorse);

  int CWpuntito = 1200 / MorsePPM;
  int CWrayita = (1200 / MorsePPM)*3;
  int istr;
  for (istr=0; istr < CadenaMorse.length(); istr++) {
    String currentchar = CadenaMorse.substring(istr,istr+1);
    int ichar = 0;
    while(ichar < sizeof(AlfabetoMorse)) {
      String currentletter = AlfabetoMorse[ichar];  
      String currentcode = AlfabetoMorse[ichar+1];  
      if (currentletter.equalsIgnoreCase(currentchar)) {
        int icp=0;
        for (icp=0;icp < currentcode.length(); icp++) {
         
          if (currentcode.substring(icp,icp+1).equalsIgnoreCase(".")) {
            digitalWrite(MorseLEDPin, HIGH);
            tone(MorseTonoPin, MorseTonoFrec);
            delay(CWpuntito);
            digitalWrite(MorseLEDPin, LOW);
            noTone(MorseTonoPin);
            delay(CWpuntito);
          }
         
          else if (currentcode.substring(icp,icp+1).equalsIgnoreCase("-")) {
            digitalWrite(MorseLEDPin, HIGH);
            tone(MorseTonoPin, MorseTonoFrec);
            delay(CWrayita);
            digitalWrite(MorseLEDPin, LOW);
            noTone(MorseTonoPin);
            delay(CWpuntito);
          }
          else if (currentcode.substring(icp,icp+1).equalsIgnoreCase(" ")) {
            delay(CWpuntito*3);
          };
          }
        }
        ichar=ichar+2;
     }
      delay(CWpuntito*3);
      }    
    delay(CWpuntito*7);
  }

void loop() {
  digitalWrite(pinPTT, HIGH);
  TransmitMorse(BalizaID, MorsePPM, MorseTonoFrec);
  digitalWrite(pinPTT, LOW);
  delay(12000); //Tiempo de espera de baliza para volver a transmitir en milisegundos
}


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

Geiger counter...


Somos un grupo de amigos, y radioaficionados, hace casi 25 años que nuestras tertulias son en la frecuencia de VHF 147,415Mhz. (En el trabajo, el coche o en nuestra casa, siempre hay una radio encendida.)

En Marzo del 2011, luego del terremoto y tsunami en Japón, fue tema de conversación en nuestra frecuencia de encuentro el accidente en la central nuclear de Fukushima.

Así fue que surgió como una especie de inquietud y desafío tratar de armar un contador geiger casero, Algunos de nuestros objetivos, además de la radio siempre fueron promover el interés por la lectura, la investigación, las ciencias, el pensamiento crítico y la divulgación científica entre otros.

Poco tiempo después de esa charla habíamos logrado armar el primer contador Geiger, usamos un tubo Geiger que le compramos a un ucraniano de Odesa vía e-bay, el modelo era SI-3BG Ese modelo de tubo fue uno de los que se utilizaron en Chernóbil en 1986 luego del accidente en la central nuclear.

Si bien nuestro detector de partículas casero había funcionado, gracias a lo investigado y a la experiencia adquirida descubrimos que por sus características técnicas, el modelo de tubo que usamos se utiliza en zonas donde ya se sabe que hay radiación por lo tanto es bastante menos sensible que otros modelos.



El primer contador Geiger

En otra de nuestras tertulias radiales, se nos ocurrió con Charly LU1FBT y Carlos LU4FHJ hacer un nuevo detector de partículas pero utilizando otro modelo de tubo Geiger que fuera más sensible.

Así que decidimos comprar un nuevo modelo de tubo, el SI-29BG, además mejorarlo agregándole un display LCD de 16x2 (16 caracteres, 2 líneas) Para principio del año 2012 teníamos el nuevo tubo en nuestras manos y una parte del hardware listo. Pero, por las vueltas de la vida, nuestro proyecto quedó archivado hasta Mayo de 2016 más o menos.

¡Casi ocho meses después quedó listo y funcionando!

Algunos datos:

El tubo SI-29BG (Detecta radiaciones beta / gamma)
El display muestra todo el tiempo CPM (Cuentas Por Minuto)
Con un botón se puede cambiar entre las unidades uSv/h (Microsievert por hora) y uRn/h (Microroentgen por hora)

En el video que adjunto (https://youtu.be/ALSJKErsRss) se puede ver un farol tipo “Sol de noche” Su principal característica consiste en que posee una manta luminosa, conocida comúnmente como “camisa”, que brilla poniéndose incandescente sin quemarse. Esto se debe a que en su construcción se utiliza el torio, que es un metal radiactivo natural de alto punto de fusión.



El radón y sus efectos en la salud


Saludos cordiales.


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

Boletín del Radio Club Rosario LU4FM

Boletín informativo semanal emitido por el Radio Club Rosario LU4FM por 145.390Mhz. Domingo 30 de Noviembre de 2014.

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

Boletín informativo semanal irradiado por el Radio Club Rosario LU4FM 13 de Abril 2014

Boletín informativo semanal irradiado por el Radio Club Rosario LU4FM, en la frecuencia 145.390Mhz -600 por LU7FW Jorge.

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

Boletín LU4FM 6 de Abril de 2014

Boletín informativo semanal de LU4FM Radio Club Rosario, Domingo 6 de Abril de 2014. Frecuencia 145.390Mhz -600 desde la ciudad de Rosario, Santa Fe Argentina.

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

Boletín LU4FM 30 de Marzo de 2014

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

Boletín LU4FM 23 de Marzo de 2014

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

Boletín LU4FM 16 de Marzo de 2014

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