« YHDC SCT-013-000 CT とArduinoで家庭内の電流を測定する | Main | 大杉谷登山口から大台ヶ原駐車場へ縦走 »

05/23/2018

Arduino NANO を使ってEthernet Cable Checker

Arduino_nano_ethernet_cable_checker LANの調子がおかしいので、ArduinoでEthernet の ケーブルチェッカーを作って、調べてみた。
青色のLANケーブル(ストレートケーブル)は僕が作ったもので、カシメ処理に問題があり、信号が正しく届かなかったようだ。白色のLANケーブルは市販品で、信号の問題が無いもの。信号線の不具合は、外観を見ただけでは、不具合があるように見えない。簡単に確認が出来て良かった。
下に掲載した写真では、1枚のブレッドボードの中に2つの回路を置いたが、電源を引かなければならない等の問題は無いので、左の絵のように、其々別のブレッドボード上に置けば、LANケーブルが長くモジュラージャックが離れた場所にあってもチェックができる。
僕がチェックした問題のあるLANケーブル(ストレートタイプ)では、4,5番のLEDが同時点灯し、6番のLEDが消えるという表示になった。市販品のLANケーブルでは、LEDが順番に点灯して行き、そのような表示にはならなかった。


使った部品など

 下記2),3)は手持ちの中に無かったため、Amazonで購入。 その他は、保有品の中から活用
1)Arduino NANO x1個
4)抵抗100Ω 1/4W  x8個
5)LED x8個
6)ジャンパーケーブル
7)ブレッドボード
8)検査用のLANストレートケーブル

Img_20180521_175021 Img_20180521_174957















参考にしたブログなど
  僕は、ブレッドボードの中で完結させたかったので、Arduino NANOを使い、抵抗値は、保有品の中から適当なものを選んだ。
  スケッチは、ほぼそのまま利用させて戴いたが、このブログは自分のメモでもあるので、添付しておく。

《スケッチ》
#define VERBOSE

char straight[8] = {2, 3, 4, 5, 6, 7, 8, 9};
char cross[8] = {4, 7, 2, 5, 6, 3, 8, 9};

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(12, INPUT); // Straight (normal) cable or cross cable
  pinMode(13, OUTPUT); // Control LED
#ifdef VERBOSE
  Serial.begin(9600);
#endif
}

void loop() {
  if (digitalRead(12) == LOW) { // Cross cable
#ifdef VERBOSE
    Serial.println("Cross cable");
#endif
    for (char n = 0;n < 8;n++) {
#ifdef VERBOSE
      Serial.print(n+1, DEC);
      Serial.print(": line ");
      Serial.print(cross[n]-1, DEC);
      Serial.print(" (pin ");
      Serial.print(cross[n], DEC);
      Serial.println(")");
#endif
      PulseOut(cross[n], 1000);
      PulseOut(13, 50);
    }
  } else { // Straight (normal) cable
#ifdef VERBOSE
    Serial.println("Straight cable");
#endif
    for (char n = 0;n < 8;n++) {
 #ifdef VERBOSE
      Serial.print(n+1, DEC);
      Serial.print(": line ");
      Serial.print(straight[n]-1, DEC);
      Serial.print(" (pin ");
      Serial.print(straight[n], DEC);
      Serial.println(")");
#endif
      PulseOut(straight[n], 1000);
      PulseOut(13, 50);
    }
  }
}

void PulseOut(char pin, int ms)
{
  digitalWrite(pin, HIGH);
  delay(ms);
  digitalWrite(pin, LOW);
}

« YHDC SCT-013-000 CT とArduinoで家庭内の電流を測定する | Main | 大杉谷登山口から大台ヶ原駐車場へ縦走 »

PC and PC troubles」カテゴリの記事

Comments

Post a comment

Comments are moderated, and will not appear on this weblog until the author has approved them.

(Not displayed with comment.)

TrackBack


Listed below are links to weblogs that reference Arduino NANO を使ってEthernet Cable Checker:

« YHDC SCT-013-000 CT とArduinoで家庭内の電流を測定する | Main | 大杉谷登山口から大台ヶ原駐車場へ縦走 »

August 2019
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Recent Trackbacks

無料ブログはココログ