• Ready-made off-the-shelf band switching?

    From gareth evans@21:1/5 to All on Wed Sep 9 14:25:33 2020
  • From Brian Howie@21:1/5 to gareth evans on Thu Sep 10 14:00:44 2020
    On 09/09/2020 14:25, gareth evans wrote:
    Just came in via email ...

    https://thepihut.com/products/8-channel-relay-expansion-board-for-raspberry-pi?utm_source=The+Pi+Hut&utm_campaign=ddf54ca98b-EMAIL_CAMPAIGN_2020_09_09_08_00&utm_medium=email&utm_term=0_a4028431b8-ddf54ca98b-78131173&mc_cid=ddf54ca98b&mc_eid=22518990c8


    It might be useful for MH preamp and linear changeover sequencing. I
    know someone who uses an Arduino for this. Similar to this :-

    https://radio.g4hsk.co.uk/2020/02/24/an-arduino-based-four-event-sequencer/

    Brian GM4DIJ

    --
    Brian

    --
    This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeefaw K. Effkay@21:1/5 to Brian Howie on Sun Sep 13 08:42:49 2020
    On Friday, September 11, 2020 at 12:44:51 AM UTC+1, Brian Howie wrote:
    On 09/09/2020 14:25, gareth evans wrote:
    Just came in via email ...

    https://thepihut.com/products/8-channel-relay-expansion-board-for-raspberry-pi?utm_source=The+Pi+Hut&utm_campaign=ddf54ca98b-EMAIL_CAMPAIGN_2020_09_09_08_00&utm_medium=email&utm_term=0_a4028431b8-ddf54ca98b-78131173&mc_cid=ddf54ca98b&mc_eid=22518990c8

    It might be useful for MH preamp and linear changeover sequencing. I
    know someone who uses an Arduino for this. Similar to this :-

    https://radio.g4hsk.co.uk/2020/02/24/an-arduino-based-four-event-sequencer/

    Here's a bit of Arduino code wot I wrote to select the appropriate low pass filter on a broadband amp (output stage of a Codan NGT commercial HF radio) from the "band data" of an FT-817ND. The band data is actually an analogue voltage which changes
    according to the band.

    The LPF board in the Codan NGT's amplifier just needs the appropriate pin to be grounded, and the Arduino's digital outputs are man enough for the job.

    // December 28th 2019
    // Mike Gathergood, G4KFK
    // Interface between Yaesu FT-817ND
    // and Codan NGT HF Amplifier
    // Determines Codan NGT's LPF settings
    // from Yaesu FT-817ND band data output
    // mike@g4kfk.co.uk

    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>

    #define I2C_ADDR 0x3F
    #define BACKLIGHT_PIN 3
    #define En_pin 2
    #define Rw_pin 1
    #define Rs_pin 0
    #define D4_pin 4
    #define D5_pin 5
    #define D6_pin 6
    #define D7_pin 7

    int bandPin = A2; // Analog Input A2 reads band data from
    int banddata = 0; // Yaesu FT-817ND accessory port
    int band = 0; //

    int pttPin = A0; // Digital Input A0 reads PTT from
    int ptt = 0; // Yaesu FT-817ND accessory port

    int band1Pin = 8; // d8 is low for 1.6 to 2.4MHz
    int band3Pin = 9; // d9 is low for 2.4 to 5.6MHz
    int band4Pin = 10; // d10 is low for 5.6 to 8.5MHz
    int band5Pin = 11; // d11 is low for 8.5 to 13MHz
    int band6Pin = 12; // d12 is low for 13 to 19.7MHz
    int band7Pin = 13; // d13 is low for 19.7 to 30MHz

    LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

    void setup()
    {

    pinMode(band1Pin, OUTPUT);
    pinMode(band3Pin, OUTPUT);
    pinMode(band4Pin, OUTPUT);
    pinMode(band5Pin, OUTPUT);
    pinMode(band6Pin, OUTPUT);
    pinMode(band7Pin, OUTPUT);

    pinMode (pttPin, INPUT_PULLUP);

    lcd.begin (16,2);
    lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
    lcd.setBacklight(HIGH);
    lcd.setCursor (0,0);
    lcd.print("G4KFK Linear Amp");
    lcd.setCursor (0,1);
    lcd.print("V1.0 Dec 2019 ");
    delay (2000);
    lcd.setCursor (0,1);
    lcd.print(" ");

    }

    void loop()
    {

    banddata = analogRead(bandPin);

    lcd.setCursor (0,1);

    if ((banddata >50) && (banddata <100))
    {
    lcd.print("160m");
    digitalWrite(band1Pin,LOW);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >100) && (banddata <150))
    {
    lcd.print("80m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,LOW);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >150) && (banddata <230))
    {
    lcd.print("40m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,LOW);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >230) && (banddata <300))
    {
    lcd.print("30m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,LOW);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >300) && (banddata <360))
    {
    lcd.print("20m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,LOW);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >380) && (banddata <450))
    {
    lcd.print("17m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,LOW);
    digitalWrite(band7Pin,HIGH);
    }

    if ((banddata >450) && (banddata <500))
    {
    lcd.print("15m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,LOW);
    }

    if ((banddata >500) && (banddata <560))
    {
    lcd.print("12m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,LOW);
    }

    if ((banddata >560) && (banddata <610))
    {
    lcd.print("10m ");
    digitalWrite(band1Pin,HIGH);
    digitalWrite(band3Pin,HIGH);
    digitalWrite(band4Pin,HIGH);
    digitalWrite(band5Pin,HIGH);
    digitalWrite(band6Pin,HIGH);
    digitalWrite(band7Pin,LOW);
    }

    if ((banddata >610) && (banddata <700)) lcd.print("6m ");
    if ((banddata >700) && (banddata <780)) lcd.print("2m ");
    if ((banddata >780) && (banddata <900)) lcd.print("70cm");

    lcd.setCursor (13,1);
    ptt = digitalRead(pttPin);
    if (ptt==HIGH) lcd.print("RCV");
    if (ptt==LOW) lcd.print("XMT");

    }

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)