#include <LiquidCrystal.h> //libreria del lcd 16x2 //pines del LCD 16x2 LiquidCrystal lcd(7, 6, 5, 4, 3, 2); /* FUNCIONES BASICAS DEL LCD 16X2: - POSICION DE ESCRITURA lcd.setCursor(columna,fila); - ESCRIBIR lcd.print(dato); - LIMPIAR PANTALLA lcd.clear(); */ //pines de LECTURA int extremoa[] = {37, 35, 33, 31, 29, 27, 25, 23}; //pines del rj45 extremo "b" int falla[] = {36, 34, 32, 30, 28, 26, 24, 22}; //pines de falla int extremob[] = {53, 51, 49, 47, 45, 43, 41, 39}; //pines del rj45 extremo "a"000 int lectura[] = {44, 46, 42, 48, 40, 50, 38, 52}; int almacen1[] = {0, 0, 0, 0, 0, 0, 0, 0}; int almacen2[] = {1, 2, 3, 4, 5, 6, 7, 8}; //tipo b = (3, 6, 1, 4, 5, 2, 7, 8) char eter[]={1,2,3,'X','X',6,'X','X'};//cable de internet void setup() { //Dimension del lcd lcd.begin(16, 2); lcd.setCursor(3, 0); lcd.print("LAN TESTER"); delay(1000); lcd.clear(); pinMode(extremoa[0], OUTPUT); pinMode(extremoa[1], OUTPUT); pinMode(extremoa[2], OUTPUT); pinMode(extremoa[3], OUTPUT); pinMode(extremoa[4], OUTPUT); pinMode(extremoa[5], OUTPUT); pinMode(extremoa[6], OUTPUT); pinMode(extremoa[7], OUTPUT); pinMode(extremob[0], OUTPUT); pinMode(extremob[1], OUTPUT); pinMode(extremob[2], OUTPUT); pinMode(extremob[3], OUTPUT); pinMode(extremob[4], OUTPUT); pinMode(extremob[5], OUTPUT); pinMode(extremob[6], OUTPUT); pinMode(extremob[7], OUTPUT); pinMode(falla[0], OUTPUT); pinMode(falla[1], OUTPUT); pinMode(falla[2], OUTPUT); pinMode(falla[3], OUTPUT); pinMode(falla[4], OUTPUT); pinMode(falla[5], OUTPUT); pinMode(falla[6], OUTPUT); pinMode(falla[7], OUTPUT); pinMode(lectura[0], INPUT); pinMode(lectura[1], INPUT); pinMode(lectura[2], INPUT); pinMode(lectura[3], INPUT); pinMode(lectura[4], INPUT); pinMode(lectura[5], INPUT); pinMode(lectura[6], INPUT); pinMode(lectura[7], INPUT); pinMode(A15, INPUT); pinMode(A9, INPUT); pinMode(A2, INPUT); } int internet=0; int conect = 0; int conect1 = 0; int conect2 = 0; int estado = 0; int funcion = 0; int pin = 1; int tipo = 0; int tipob = 0; int extra = 0; int comienzo = 0; void loop() { conect1 = digitalRead(A15); conect2 = digitalRead(A2); if (conect2 == 1) { conect = 2; } if (conect1 == 1) { conect = 1; } /* if (conect1 == 0 && conect2 == 0) { /* conect = 0; /* }*/ switch (conect) { case (2): { estado = 3; break; } case (1): { estado = 1; break; } case (0): { estado = 0; lcd.setCursor(2, 0); lcd.print("CONECTE EL"); lcd.setCursor(2, 1); lcd.print("EXTREMO 'A'"); delay(15); lcd.clear(); break; } } if (estado == 1 ) { for (int i = 0; i < 8; i++) { if (digitalRead(lectura[i]) == 1) { comienzo++; } } if (comienzo > 0) { estado = 2; comienzo = 0; } else { lcd.setCursor(2, 0); lcd.print("CONECTE EL"); lcd.setCursor(2, 1); lcd.print("EXTREMO 'B'"); delay(15); lcd.clear(); conect1 = digitalRead(A15); if (conect1 == 1) { } else{ estado = 0; conect = 0; } } } if (estado == 2) { for (int j = 0; j < 8; j++) { digitalWrite(extremob[j], HIGH); lcd.setCursor(j, 0); lcd.print(pin); for (int i = 0; i < 8; i++) { if (digitalRead(lectura[i]) == 1) { almacen1[i] = pin; } } delay(300); pin ++; } pin = 1; for (int i = 0; i < 8; i++) { if (almacen1[i] > 0) { lcd.setCursor(i, 1); lcd.print(almacen1[i]); digitalWrite(extremoa[almacen1[i] - 1], HIGH); } else { if (almacen1[i] == 0) { lcd.setCursor(i, 1); lcd.print("X"); digitalWrite(falla[i], HIGH); } } } for (int i = 0; i < 8; i++) { if (almacen1[i] == almacen2[i]) { tipo ++; } } if (tipo < 5) { if (almacen1[0] == almacen2[2]) { tipob ++; } if (almacen1[1] == almacen2[5]) { tipob ++; } if (almacen1[2] == almacen2[0]) { tipob ++; } if (almacen1[5] == almacen2[1]) { tipob ++; } } if (tipob > 4) { lcd.setCursor(10, 0); lcd.print("CABLE"); lcd.setCursor(9, 1); lcd.print("CRUZADO"); } else { if (tipo > 4) { lcd.setCursor(10, 0); lcd.print("CABLE"); lcd.setCursor(9, 1); lcd.print("DIRECTO"); } else { for (int i = 0; i < 8; i++) { if (almacen1[i] == eter[i]) { internet ++; } } if(internet>3){ lcd.setCursor(10, 0); lcd.print("CABLE"); lcd.setCursor(8, 1); lcd.print("INTERNET"); } else{ lcd.setCursor(10, 0); lcd.print("DAnO"); lcd.setCursor(9, 1); lcd.print("EXTREMO"); } } } delay(8000); internet=0; conect = 0; for (int i = 0; i < 8; i++) { //pines del rj45 extremo "b" digitalWrite(extremob[i], LOW); //pines del rj45 extremo "a" digitalWrite(extremoa[i], LOW); //pines de falla digitalWrite(falla[i], LOW); //pines del almacen almacen1[i] = 0; } } if (estado == 3) { double largo; for (int i = 0; i < 1024; i++) { largo += analogRead(A9); } largo = largo / 1024; largo = 1023 - (largo); largo = (largo / 7) / 2; largo = largo * 3; lcd.setCursor(1, 0); lcd.print("LARGO DE CABLE"); lcd.setCursor(1, 1); lcd.print(largo); lcd.setCursor(10, 1); lcd.print("METROS"); delay(300); conect = 0; } tipo = 0; tipob = 0; lcd.clear(); estado = 0; }
MAESTRO-LANTESTER
Suscribirse a:
Entradas (Atom)
No hay comentarios.:
Publicar un comentario