使用Arduino和多路复用器的同轴开关

时间:2012-04-16 09:14:27

标签: video arduino integrated

嗨,也许有人可以在这里帮助我,基本上我正在尝试构建一个计算机控制的同轴开关。我正在使用常规的集成电路多路复用器来处理哪个通道被修补输出。基本上我有:

                  (8 X Coaxial Inputs)
                  I I I I I I I I 

微控制器----> |多路复用器|                       ---------------                              一世                       (1 X同轴输出)

我的想法是,我可以使用电脑来控制我可以观看的8个视频输入中的哪一个。我认为,因为连接是直的,我不必担心衰减,但我尝试使用面包板进行样本设置,我几乎看不到图片。关于如何使其发挥作用的任何想法?

我目前正在使用带有我列出的所有组件的面包板加上一些小规格电缆(以便它们适合面包板)

1 个答案:

答案 0 :(得分:0)

<强>软件

你需要安装putty:
putty是一个跨平台的串行客户端 它可以用于ssh和串口客户端

<强>硬件

您可以使用常规继电器进行切换(不要忘记继电器线圈上的二极管)
和你的多路复用器,

将多路复用数据引脚连接到arduino到3个数字IO。
例如mux0 =引脚2,mux1 = pin3 mux3 = pin4

<强>软件

类似这样的事情

//assign multipex pins
const int mux0=2;
const int mux1=3;
const int mux2=4;

//global variables
int current=0;

void setup()
{
  Serial.begin(9600);
  displayMenu();
}
void loop()
{
  if(Serial.available()) //check if new byte is comming
  {
    char in = Serial.read();//read the byte
    if(in >= '0' && in <= '7')//check if it is a usable number
    {
      current = in - 48; // ASCII 0= 48 ASCII 7=55 so it is linear moved whith 48
      //write output; by reading individual bits of in and write them to te outputs
      digitalWrite(mux0,bool(current & 0b00000001));
      digitalWrite(mux1,bool(current & 0b00000010));
      digitalWrite(mux2,bool(current & b00000100));
      //update screen
      Serial.write(8); //removes last char;
      Serial.print(current)
    }
    else
      displayMenu(); //if wrong input then displayMenu
  }
}
void displayMenu()
{
  //clear output 
  for(int i=0;i<=200;i++)
    Serial.write(10); //line feed
  Serial.write(13); //carriage return

  //replace 'input x' by were the camera is placed; 
  Serial.println("0: input 0");
  Serial.println("1: input 1");
  Serial.println("2: input 2");
  Serial.println("3: input 3");
  Serial.println("4: input 4");
  Serial.println("5: input 5");
  Serial.println("6: input 6");
  Serial.println("7: input 7");
  Serial.println();
  Serial.print("current selected: ");
  Serial.print(current);
}

未经测试但应该有效;

<强>手册

你打开串口终端。 (腻子)
连接到串口(9600)波特
输入您要选择的号码