OL-OM-OC
SKETCH
ARDUINO TX
#include <si5351.h>
#include "Wire.h"
Si5351 si5351;
// Definizione pin pulsanti
const int btn0 = 2;
const int btn1 = 3;
const int btn2 = 4;
// STATI DELLE USCITE ON/OFF
bool clk0_on=false;
bool clk1_on=false;
bool clk2_on=false;
void setup() {
// Inizializzazione I2C e Si5351
si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0, 0);
si5351.drive_strength(SI5351_CLK1,SI5351_DRIVE_8MA); //VARIAZIONE PWR OUT 8MA=8 mW
// Configurazione pin come ingressi con pull-up
pinMode(btn0, INPUT_PULLUP);
pinMode(btn1, INPUT_PULLUP);
pinMode(btn2, INPUT_PULLUP);
// Esempio: Imposta frequenze iniziali (frequenza in centesimi di Hz)
si5351.set_freq(23400000ULL, SI5351_CLK0); // 234 KHz su CLK0
si5351.set_freq(100800000ULL, SI5351_CLK1); // 1008 KHz su CLK1
si5351.set_freq(620500000ULL, SI5351_CLK2); // 6205 KHz su CLK2
// Spegni tutte le uscite all'avvio
si5351.output_enable(SI5351_CLK0, 0);
si5351.output_enable(SI5351_CLK1, 0);
si5351.output_enable(SI5351_CLK2, 0);
}
void loop() {
// Controllo CLK0: attiva se il pulsante è premuto
si5351.output_enable(SI5351_CLK0, !digitalRead(btn0));
// Controllo CLK1
si5351.output_enable(SI5351_CLK1, !digitalRead(btn1));
// Controllo CLK2
si5351.output_enable(SI5351_CLK2, !digitalRead(btn2));
delay(10); // Debounce minimo
}