Arduino Beacon
BEACON? Antony M0IFA Beacon Synth • AD9850 - a sine wave output synthesiser • Programmable in • Hertz + centi-Hertz 7080000.00 + 100 = 7080001.00Hz • Varicode to store symbols • Can do CW, PSK31, RTTY, AD9850 module WSPR… HELL… New ADS9850 library #define ADS_XTAL 125000000.0 class ADS9850 { public: ADS9850(); void begin(int W_CLK, int FQ_UD, int DATA, int RESET); void setFreq(double Hz, double Chz, uint8_t phase); void calibrate(double calHz); void down(); private: int _W_CLK; int _FQ_UD; int _DATA; int _RESET; double _calFreq; void update(uint32_t d, uint8_t p); void pulse(int _pin); }; Example #include "ADS9850.h" // pins #define W_CLK 8 #define FQ_UD 9 #define DATA 10 #define RESET 11 // create ads object ADS9850 ads; void setup() { ads.begin(W_CLK, FQ_UD, DATA, RESET); // set up pins ads.calibrate(124999000.0); // calibrated XTAL freq ads.setFreq(7100000.0, 146); // on & output 7100001.46 Hz delay(30000); // 30sec ads.down(); // off } void loop() { } VARICODE Let’s look at each symbol system ASCII & Morse 0… • Morse is subset of ASCII (0-127) • ASCII code is a 7bits, in decimal numbers morse is 32 = SPACE to 90 = Z • Some do not have Morse symbol e.g. # $ % & …127 Morse varicode Varicode Examples no. Char ASCII index VC bin morse bits 0 48 16 248 11111000 5 - - - - - 1 49 17 120 01111000 5 . - - - - … M 77 45 192 11000000 2 - - ‘M’ Index = 77 - 32 (SPACE) = 45 Array counts 0 to 58 ASCII & PSK31 Part of PSK31 symbols All ASCII codes (0 - 127) PSK31 Uses symbols which all start with ‘1’, & end with ‘1’, Never has ’00’ in symbol, ’00’ is character space 1 is continuous output, 0 is 180deg phase change Baud rate 31.5, or pulse timing 32ms Pulses should be cosine shaped - to reduce ‘clicks’ PSK31 varicode Varicode Examples no.
[Show full text]