« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/540128/66744596

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

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

August 2018
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

無料ブログはココログ