IZ3KLB

Come sprecare un

ARDUINO NANO

Ragazzi Anno nuovo, progetti nuovi, ho cominciato nel 2013 ad interessarmi ai radiofari, detti anche BEACON, e “annusando” l’etere ho trovato uno spazio giusto giusto per me, 432550 che dalla mia posizione JN55tt e completamente aperto da 90° a 270° con un’altezza di beh 850mt, mi avrebbe permesso di far strada e di dare una buona indicazione di propagazione verso la mia locazione. Dopo essermi informato ho imbastito il tutto utilizzando uno Yaesu FT857, che h la funzione Beacon e che ben si prestava alle prove. Nel frattempo mi son procurato un vecchio MOTOROLA MC Micro che opportunamente programmato mi permetterà di fare il tutto e di dimenticarmene. Ecco i primi problemi, l’idea iniziale era di chiudere il PTT, ma aimè il tempo di aggancio del PLL non mi permetteva di generare una nota pulita, al che, il mio maestro Luciano I3CLZ ha fatto la “magia” interrompendo l’alimentazione del finale e lasciando sempre inserito il PTT la nota è perfetta . Altro problemino, il keyer; cercando in rete ho trovato qualcosa, ho recuperato PIC, fatto fare le PCB, ma il recuperare tutti i componenti cominciava ad annoiarmi, e poi il PIC, chi me lo programma, e se voglio modificare qualcosa? Spendere parecchi €uro per comperare pure il programmatore di PIC mi sembrava assurdo. Da qui, comperando un Rosmetro/Wattmetro costruito da IW2NDH Luca fatto appunto con un ARDUINO ecco il lampo, spreco sto coso per le mie cose, c’è da studiare però zuccone come sono. Alla fine però ci sono riuscito, e con ARDUINO veramente le cose sono, anzi diventano facili. Vista la natura del hardware, mi sembra doveroso condividere il mio sketch con tutti, quindi vi basta cambiare nominativo locator nella stringa finale e il beacon e il gioco è fatto.

Per scelta non metto le soluzioni che io ho adottato, io per esempio ho usato una schedina relè a 5V pilotata direttamente da Arduino per la commutazione, ottimale per me ma probabilmente inutile per altri, quindi ragazzi, buon lavoro de IZ3KLB Michele

 

NOTA: Lo sketch è di libero uso, se lo utilizzate e/o lo modificate, per cortesia datemene info via e-mail, GRAZIE iz3klb@yahoo.it

Casella di testo: Home Page
Casella di testo: Once Upon a Time...
Casella di testo: Photo Album
Casella di testo: The Brain Storm
Casella di testo: e-QSL
Casella di testo: The Toys
Casella di testo: Single El Delta Loop
Casella di testo: Un’Antenna da Salotto
Casella di testo: Commutatore Remoto
Casella di testo: EW6/IZ3KLB
Casella di testo: “Bambini Invisibili”
Casella di testo: The Shack
Casella di testo: Una Chiave tutta Mia

Il mio RADIOFARO

//

//Arduino Nano Beacon ver 1.1

// Written by Michele Casali Iz3klb

// Email: iz3klb@yahoo.it

//

// This code is so trivial that I'm releasing it completely without

// restrictions.  If you find it useful, it would be nice if you dropped

// me an email. Feel free to use whatever.

//

 

 

struct t_mtab { char c, pat; } ;

 

struct t_mtab morsetab[] = {

                 {'.', 106},

                 {',', 115},

                 {'?', 76},

                 {'/', 41},

                 {'A', 6},

                 {'B', 17},

                 {'C', 21},

                 {'D', 9},

                 {'E', 2},

                 {'F', 20},

                 {'G', 11},

                 {'H', 16},

                 {'I', 4},

                 {'J', 30},

                 {'K', 13},

                 {'L', 18},

                 {'M', 7},

                 {'N', 5},

                 {'O', 15},

                 {'P', 22},

                 {'Q', 27},

                 {'R', 10},

                 {'S', 8},

                 {'T', 3},

                 {'U', 12},

                 {'V', 24},

                 {'W', 14},

                 {'X', 25},

                 {'Y', 29},

                 {'Z', 19},

                 {'1', 62},

                 {'2', 60},

                 {'3', 56},

                 {'4', 48},

                 {'5', 32},

                 {'6', 33},

                 {'7', 35},

                 {'8', 39},

                 {'9', 47},

                 {'0', 63}

} ;

 

#define N_MORSE  (sizeof(morsetab)/sizeof(morsetab[0]))

 

#define SPEED  (12)

#define DOTLEN  (1200/SPEED)

#define DASHLEN  (3*(1200/SPEED))

#define UNDERSCORELEN  (75*(1200/SPEED)) //Timing for final line

int LEDpin = 13 ;

 

void

underscoreDash()

{

  digitalWrite(LEDpin, HIGH) ;

  delay(UNDERSCORELEN);

  digitalWrite(LEDpin, LOW) ;

  delay(DOTLEN) ;

}

 

void

dash()

{

  digitalWrite(LEDpin, HIGH) ;

  delay(DASHLEN);

  digitalWrite(LEDpin, LOW) ;

  delay(DOTLEN) ;

}

 

void

dit()

{

  digitalWrite(LEDpin, HIGH) ;

  delay(DOTLEN);

  digitalWrite(LEDpin, LOW) ;

  delay(DOTLEN);

}

 

void

send(char c)

{

  int i ;

    if (c == '_') {

    Serial.print(c) ;

    underscoreDash() ;

    return ;

  }

 

  if (c == ' ') {

    Serial.print(c) ;

    delay(7*DOTLEN) ;

    return ;

  }

  for (i=0; i<N_MORSE; i++) {

    if (morsetab[i].c == c) {

      unsigned char p = morsetab[i].pat ;

      Serial.print(morsetab[i].c) ;

 

      while (p != 1) {

          if (p & 1)

            dash() ;

          else

            dit() ;

          p = p / 2 ;

      }

      delay(2*DOTLEN) ;

      return ;

    }

  }

  /* if we drop off the end, then we send a space */

  Serial.print("?") ;

}

 

void

sendmsg(char *str)

{

  while (*str)

    send(*str++) ;

  Serial.println("");

}

 

void setup() {

  pinMode(LEDpin, OUTPUT) ;

  Serial.begin(9600) ;

  Serial.println("Simple Arduino Morse Beacon v1.1") ;

  Serial.println("Written by Michele Casali <iz3klb@yahoo.it>") ;

  Serial.println("Check out site @ http://iz3klb.it") ;

  Serial.println("") ;

}

 

void loop() {

  sendmsg("VVV IZ3KLB/B JN55TT PWR5W PSE QSL _") ;

  delay(5000) ;

}

Arduino Nano3 Sketch By IZ3KLB