2

こんにちは、誰かが私を助けてくれるかもしれません。基本的には、コンピューター制御の同軸スイッチを構築しようとしています。どのチャンネルが出力にパッチされているかを処理するために、通常の集積回路マルチプレクサを使用しています。だから基本的に私は持っています:

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

マイクロコントローラ ----> | マルチプレクサ | --------------- I (1 X 同軸出力)

アイデアは、コンピューターを使用して、8 つのビデオ フィードのどれを視聴できるかを制御できるようにすることです。結線がストレートなので減衰はそれほど気にならないかなと思っていたのですが、ブレッドボードでサンプルを組んでみましたが、ほとんど写りません。どうすればそれを機能させることができるかについてのアイデアはありますか?

私は現在、リストしたすべてのコンポーネントといくつかの小さなゲージ ケーブル (ブレッド ボードに収まるように) を備えたブレッドボードを使用しています。

4

1 に答える 1

0

ソフトウェア:

putty をインストールする必要があります
。putty はクロスプラットフォームのシリアル クライアントです。
sshおよびシリアルポートクライアントに使用できます

ハードウェア:

スイッチングに通常のリレーを使用できます(リレーのコイルの両端にダイオードを忘れない
でください)およびマルチプレクサマルチプレクサ、

マルチプレクサ データ ピンを arduino から 3 つのデジタル IO に配線します。
例:mux0 = ピン 2、mux1 = ピン 3、mux3 = ピン 4

ソフトウェア:

このようなもの

//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) ボー
タイプ 選択したい番号

于 2012-06-11T18:21:03.457 に答える