Generatore di subtoni per ponti radioamatoriali

buonasera a tutti,

sono un radioamatore in possesso di una radio che però non ha la scheda subtoni quindi non posso aprire i ponti radioamatoriali in VHF e UHF.

Purtroppo sono un neofita di arduino e di programmazione in generale.

Volevo chiedervi se fosse possibile programmare arduino per ottenere un tono audio, ad es. 67Hz, 79.1, 88,5 Hz e altri toni.

Benvenuto, alberto67! :)
Sì, certo!

Per cortesia, come da regolamento, per prima cosa presentati nell'apposita discussione spiegando bene quali esperienze hai in elettronica e programmazione, affinché possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Poi leggi attentamente tutto il regolamento, in particolare leggi bene i punti 15.3 e 17.1, e impegnati a rispettarlo.

Ti ricordo che, purtroppo, fino a quando non avrai fatto la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto.

Ci sono già esempi online per generare frequenze audio a bassa frequenza con tone() o con timer configurati direttamente. Per i subtoni è importante che la frequenza sia stabile e abbastanza precisa, quindi conviene usare i timer hardware invece di delay o loop software.

Se ti serve, posso indicarti uno schema base di collegamento.

@brandonx34 :

Buongiorno e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

Già il forum stesso ti propone discussioni in cui è stato trattato l'argomento.

Qui propongo di generare le frequenze usando micros(), da filtrare con un RC perché esce un'onda quadra:
https://forum.arduino.cc/t/attiny85-generare-tono-continuo-a-71-9-hz/1148096/46

Qui, invece, il segnale viene generato tramite PWM:
https://forum.arduino.cc/t/3-toni-ctcss-modifica-a-un-firmware-esistente/1401334/8

Si potrebbe anche fare una via di mezzo generando un PWM quasi sinusoidale tramite una tabella sinusoidale semplificata, tanto un filtro RC ci va messo comunque. Per generare i segnali tramite PWM, comunque, è meglio aumentare la frequenza del PWM abbassando il prescaler del Timer 1 (anche se si potrebbe provare con i 976Hz standard):

E' meglio non usare il Timer 0, perché è usato anche da millis().

Comunque non puoi usare l'oscillatore interno del microcontrollore. Il risuonatore ceramico di gran parte delle schede Arduino potrebbe garantire una precisione sufficiente, altrimenti bisogna usare un quarzo.