Using 3 Channel Video Switcher Module with Arduino

Hey all I am wondering how to go about switch from camera 1, 2 or 3 using this 3 Channel Video Switcher Module on ebay here.

Since there's only V+, V- and signal for the "switch" it looks to take a PWM but I am not quite sure if that's correct or not. If correct then how would I (in code) send that out for each camera to change?

Anyone??

Well I've tried the following code:

int LED_pin = 9; // must be one of 3, 5, 6, 9, 10 or 11 for PWM

void setup() {
  pinMode(LED_pin, OUTPUT); // Initialize pin for output
}

void loop() {
  int dtwait = 1000; // Pause interval, milliseconds
  int V1=20, V2=220, V3=120; // 8-bit output values for PWM duty cycle
  analogWrite(LED_pin, V1);
  delay(dtwait);
  analogWrite(LED_pin, V2);
  delay(dtwait);
  analogWrite(LED_pin, V3);
  delay(dtwait);
}

and just to test it I hooked up 2 green LEDs to digital pin 9 and I can confirm it does light the led's in 3 stages. From bright, medium and then dim-ish.

So I went ahead and powered up the FPV by hooking it up like so:

I'm not getting any voltage off that pin on the FPV. I even hooked up a volt meter and tested it without the LEDs attached to that pin and still had no reading.

Someone suggested looking at this post 10$ DIY RSSI diversity based on HK video switch - RC Groups but there so much code that I'm not sure what i need and what i don't need.

What could I be doing incorrectly?

One looks like it says P15V 331QE BZ10

While the other side has one that maybe says STC 15F104E F-4V938.A

Alright I got it.

Using the #include <Servo.h> Servo library I was able to get the following values confirmed that switched the video input:

cam1 = 0-64 and also 153-180
cam2 = 65-123
cam3 = 124-152

The arduino code looks like this:

#include <Servo.h>

Servo myservo;
int pos = 0;

void setup()
{
  myservo.attach(9);
  Serial.begin(9600);
}

void loop()
{
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    Serial.println(pos);
    delay(1000);                     // waits 1 minute so i can see the value
  }
}
1 Like