Using 3 Channel Video Switcher Module with Arduino

Status
Not open for further replies.

StealthRT

Member
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 **broken link removed**.



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?

UPDATE

Well I've tried the following code:
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 https://www.rcgroups.com/forums/showthread.php?t=1955631 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?
 
Last edited:
This is a FPV camera switcher.
It is looking for the servo output of a radio controlled receiver.
Some of them need to be calibrated.
You will fine much more info if you look at "FPV camera switcher"
 
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:
Code:
cam1 = 0-64 and also 153-180
cam2 = 65-123
cam3 = 124-152
The arduino code looks like this:
Code:
#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
  }
}
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…