Clock generator with quadrature phase signal and OLED display.
It can be used in many RF applications.
1 arduino
1 Si5351A module
1 OLED screen display with 128x32
1 Incremental encoder
This code makes 3 outputs CLK0, CLK1 and CLK2, it makes the same frequency in CLK0 and CLK1
with a quadrature (90° phase shift) from about 3.2 MHz and 56.2 MHz, CLK2 is an independent output.
The LED screen indications :
Clk|Frequency |Phy
0 3 500 000 Hz0-90 <- Frequency and Phy For CLK0 and CLK1
2 6 000 000 Hz 0 <- Frequency for CLK2
. 720 000 000 Hz . <- Frequency for last PLL called
Use the encoder to change the frequency, rotate counterclockwise (CW) to up the frequency,
rotate anticlockwise (CCW) to down the frequency.
To change the multiple of step make short one click on encoder.
To jump from CLK0-1 to CLK2 frequency setup makes a long push on encoder.
- Resolve the bug of 0 before frequency for the unit indicator
- See code for Serial control
- Add preprocessor directives to enable/disable optional display.
Copied and modified : etherkit/Si5351
You must install these libraries :
adafruit/Adafruit-GFX-Library
adafruit/Adafruit_SSD1306
Thanks to F4IEA for his help and the idea for this project.
Thanks to libraries writers.
Thanks to use, share and report any bugs.