http://pastebin.com/gY08uck1
Tutaj kod, zachęcam do testowania.
Bardzo skrócona instrukcja użycia:
1. Do kompilacji potrzebna jest biblioteka JTEncode - instalujemy przez wbudowanego w środowisko Arduino "Library Managera" - początkowo sam przpeisałem proces kodowania wiadomości na język C, ale ta implementacja jest zdecydowanie lepsza.
2. Po zaprogramowaniu podajemy na port szeregowy kolejno 3 wartości:
tryb nadawania: 1 - JT65, 2 - JT9
treść wiadomości
częstotliwość - jako odstęp od "bazowej"
Muszą one być odseparowane od siebie znakiem nowej linii. Po wciśnięciu ostatniego entera rozpocznie się nadawanie, po nadaniu całości DDS wróci na częstotliwość "bazową" (dla 20m: 14076kHz).
Przykładowa komenda sterująca:
1\nSQ3SWF CQ\n1200\n - nada emisją JT65 wiadomość o treści "SQ3SWF CQ" na częstotliwości 14077,2 (14076 + 1,2).
Zachęcam do testów
Napisałem też małą aplikację w pythonie do wygodniejszego nadawania, działa pod linuxem, pod windowsem bez przeróbek nie ma szansy - kod (okropny - pisane na bardzo szybko) tutaj:
http://pastebin.com/656Z5KdM - po kliknięciu guzika "enable tx" program czeka do pełnej minuty i dopiero wtedy wysyła ciąg sterujący.
Tak to wygląda u mnie:
http://i.imgur.com/3OPVgmv.png