Firmware (Arduino®) per beacon ARDF

In un precedente articolo vi ho raccontato come ho realizzato un semplice beacon per ARDF a 433.92 MHz basato su di un microcontrollore Microchip PIC12F509 e programmato in linguaggio Assembly. Qui di seguito invece vi riporto il codice per attivare un semplice beacon per ARDF utilizzando Arduino® : viene inviata la lettera “S” in codice Morse con una frequenza di una volta al secondo e la durata di un punto è pari a 100 ms.

Lo schema da utilizzare è il seguente. Al posto del LED collegherete l’ingresso di abilitazione del trasmettitore (vedete schema nell’articolo menzionato).

Qui di seguito riporto il codice. Viene utilizzato un timer di periodo 100 ms

include “Timer.h”
define LED 13
void timerISR();
int counter = 0;
int event = 0;
Timer t;


void setup() {
pinMode(LED, OUTPUT); // LED on PIN 13
int timerEvent = t.every(100, timerISR, (void*)0); // ISR every 100 ms
}


void loop() {
t.update();
if (event == 1) // timer interrupt event
{
startTime = millis();
switch (counter){
case 0:
digitalWrite(LED, HIGH);
break;
case 1:
digitalWrite(LED, LOW);
break;
case 2:
digitalWrite(LED, HIGH);
break;
case 3:
digitalWrite(LED, LOW);
break;
case 4:
digitalWrite(LED, HIGH);
break;
case 5:
case 6:
case 7:
case 8:
case 9:
digitalWrite(LED, LOW);
break;
default:
break;
}
event = 0;
}
}


void timerISR() {
if (++counter >= 10)
{
counter = 0;
}
event = 1;
}

Per utilizzare la libreria del Timer dovrete installarla: trovate tutte le informazioni che vi servono qui.

Per dubbi o chiarimenti scrivetemi.

73 de IZ0ABD Francesco

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.