Questo beacon funziona ad interruzione di portante.
Potete cambiare il piedino di uscita e la pausa tra messaggi nelle prime due righe di programma
Cambiate il CALL usando la stessa sintassi, inserendo "punto(); " o "linea(); ", ove necessario, secondo il codice Morse.
Non modificate il resto!
Per prova, collegate un cicalino da 5 volt (NON un altoparlante!!) tra il piedino di uscita e GND.
Buon divertimento!
// ------------------------- inizio programma ---------------------------
/*
Achille De Santis - 20-06-2019, V3.0
Beacon CW singolo.
*/
// ------------------------ I/O ---------------------------------------------
#define pin 13 // Definizione "uscita" sul piedino 13.
// --------------------------------------------------------------------------
const int TS=10; // attesa IN SECONDI!; fine messaggio
const int T =100; // base tempi.
const int T2=2*T;
const int T3=3*T;
const int T4=4*T;
const int TA=1000*TS;
void genera(int T1)
{
digitalWrite(pin, HIGH); delay(T1);
digitalWrite(pin, LOW); delay(T);
}
void punto() { genera(T); }
void linea() { genera(T3); }
void setup ()
{pinMode (pin, OUTPUT); } //Variabile di uscita
void loop ()
{
linea(); punto(); punto(); delay (T2); // D
punto(); delay (T4); // E
// ------------------------- call ----------------------------------------
punto(); punto(); delay (T2); // I
linea(); linea(); punto(); punto(); delay (T2); // Z
linea(); linea(); linea(); linea(); linea(); delay (T2); // 0
linea(); linea(); delay (T2); // M
punto(); punto(); punto(); linea(); delay (T2); // V
linea(); punto(); delay (T4); // N
// ----------------------- fine call ------------------------------------------------------
linea(); punto(); linea(); delay (T2); // K - fine messaggio
// ----------------------------------------------------------------------------------------
delay(TA);
}
// --------------------- fine programma -----------------------------------
Beacon CW OOK
> Arduino N° 4
Nessun commento:
Posta un commento