lunes, 12 de junio de 2017

lantester con arduino probador de cables de red

Muy buenas a todos..
Universidad Publica de El Alto
Carrera: Ingeniería de Sistemas
Materia: Redes I

Univ. Aguilar Apaza Rolando Moises

Como lo dije antes en el vídeo aquí publicaría  todos los materiales y el diagrama en simulador para lo que es el lantester con arduino...
dicho todo esto...
COMENCEMOS.....!!!!!!!!!!!!!!

MATERIALES:

1..........ARDUINO UNO
16........RESISTENCIAS DE 16K
1..........INTEGRADO 64HC595
2..........PLUGS O ENTRADAS HEMBRA JR45
1..........LCD DE 16 PINES
1..........POTENCIOMETRO DE 10K

ESTA TAMBIÉN ADJUNTO COMO SE LOS PROMETÍ EL DIAGRAMA ECHO EN EL SIMULADOR..







Y POR ULTIMO LA COMPILACIÓN ECHA EN EL PROGRAMA  ARDUINO Y A PROGRAMAR..!!!


/*

  LAN TESTES CON ARDUINO

  AGUILAR APAZA ROLANDO MOISES

  UNIVERSIDAD PUBLICA DE EL ALTO

  CARRERA DE INGENIERIA DE SISTEMAS

  GESTION I - 2017

 */


 #include

// INICIALIZAMOS EL LCD

LiquidCrystal lcd( 4, 5, 6, 7, 8, 9);

// DAMOS INSTRUCIONES AL INTEGRADO: IC74HC595

int latchPin = 12;

int clockPin = 11;

int dataPin = 13;

byte pinOut = 0;  

int i = 0;

int Lo1 = 0;

int Lo2 = 0;

int Lo3 = 0;

int Lo4 = 0;

int Lo5 = 0;

int Lo6 = 0;

int Lo7 = 0;

int Lo8 = 0;

int cable = 0;

int eth1 = 0;

int eth2 = 0;

int eth3 = 0;

int eth4 = 0;

int eth5 = 0;

int eth6 = 0;

int eth7 = 0;

int eth8 = 0;

int testeth1 = 0;

int verifi1 = 0;



 //Compruebamos las variables de puertas

int ethIn1 = 14;

int ethIn2 = 15;

int ethIn3 = 16;

int ethIn4 = 17;

int ethIn5 = 18;

int ethIn6 = 19;

int ethIn7 = 2;

int ethIn8 = 3;



 void setup() {

    lcd.begin(16,2);

    lcd.setCursor(0,0);

    lcd.print("Proyecto Lan Tester");

    lcd.setCursor(4,1);

    lcd.print("Ethernet");

    delay(3000);

    lcd.clear();

    Serial.begin(9600);



  //configuramos IC de salida

    pinMode(latchPin, OUTPUT);

    pinMode(dataPin, OUTPUT);

    pinMode(clockPin, OUTPUT);


     pinOut = 0;


   //Comprobamos los estados a las puertas


  pinMode(ethIn1, INPUT);

  pinMode(ethIn2, INPUT);

  pinMode(ethIn3, INPUT);

  pinMode(ethIn4, INPUT);

  pinMode(ethIn5, INPUT);

  pinMode(ethIn6, INPUT);

  pinMode(ethIn7, INPUT);

  pinMode(ethIn8, INPUT);




 }


 void loop() {

   Serial.print("---------------INICIO----------------");

    cable = 0;

    Lo1 = 0;

    Lo2 = 0;

    Lo3 = 0;

    Lo4 = 0;

    Lo5 = 0;

    Lo6 = 0;

    Lo7 = 0;

    Lo8 = 0;

    lcd.clear();

    lcd.print("Procesando...: ");

    lcd.setCursor(0,1);

   //ciclo fijo

    for (int i=0; i<= 7; i++){

   

    Serial.println();

    Serial.print("Pin i: ");

    Serial.print(i);

 

    lcd.begin(16, 2);

    lcd.print(i + 1);
 
    pinOut = 0;


    bitSet(pinOut, i);

    digitalWrite(latchPin, LOW);

    shiftOut(dataPin, clockPin, LSBFIRST, pinOut);

    digitalWrite(latchPin, HIGH);

 


 //luego introfucimos en ethIn1

  int eth1 = digitalRead(ethIn1);

  int eth2 = digitalRead(ethIn2);

  int eth3 = digitalRead(ethIn3);

  int eth4 = digitalRead(ethIn4);

  int eth5 = digitalRead(ethIn5);

  int eth6 = digitalRead(ethIn6);

  int eth7 = digitalRead(ethIn7);

  int eth8 = digitalRead(ethIn8);

  int testeth1 = analogRead(ethIn1);



    //puesto de verificacion


     if (i == 0 && eth1 == 1)

    {
      Lo1 = 1;
    }

    else

    {

      if (i == 0 && eth3 == 1) // Si es transversal cambianmos el valor

      {Lo1 = 256 ;

      }
    }

     

     

       if (i == 1 && eth2 == 1)

    {

      Lo2 = 2 ;

    }

    else

    {

            if (i == 1 && eth6 == 1) // se incrociato cambia valore

      {Lo2 = 512 ;

      }

    }
   

   

     if (i == 2 && eth3 == 1)
    {

      Lo3 = 4 ;

    }

    else

    {

            if (i == 2 && eth1 == 1) // se incrociato cambia valore

      {Lo4 = 1024 ;

      }

    }

     

     

       if (i == 3 && eth4 == 1)

    {

      Lo4 = 8 ;

   }

    else

    {

   

    }

     
 

        if (i == 4 && eth5 == 1)

    {

      Lo5 = 16;

    }

    else

    {

   

    }

     

     

        if (i == 5 && eth6 == 1)

    {

      Lo6 = 32;

    }

    else

    {

            if (i == 5 && eth2 == 1)

      {Lo6 = 2024 ;

      }

    }

   

   

      if (i == 6 && eth7 == 1)

    {

      Lo7 = 64;

    }

    else

    {

   

    }

     

     

        if (i == 7 && eth8 == 1)

    {

      Lo8 = 128;

    }

    else

    {

   

    }

      Serial.println();

      Serial.print("Stato lettura porte: ");

      Serial.print(eth1);  

      Serial.print(eth2);

      Serial.print(eth3);

      Serial.print(eth4);

      Serial.print(eth5);

      Serial.print(eth6);

      Serial.print(eth7);

      Serial.print(eth8);

   

   

      cable = Lo1 + Lo2 + Lo3 + Lo4 + Lo5 + Lo6 + Lo7 + Lo8 ;

      Serial.println();

      Serial.print("Sumar los valores observados: ");

      Serial.print(cable);

   }

       

      if ( cable == 255 )

      {

        lcd.clear();

        lcd.print("CABLE DIRECTO...OK");

        delay(2000);

     

      }

        else

    {

            if (cable == 3008 )

              {

               lcd.clear();

                lcd.print("cable inc.  ok");

                delay(2000);

              }

              else

              {

              lcd.clear();

              lcd.print("CABLE CRUZADO...OK");

              lcd.setCursor(0,1);

              lcd.print("DEFECTUOSO");
           

              delay(1000);

              lcd.clear();

              if ( cable == 2496 )

              {

                lcd.print("Pin 2 / 6 ");

                delay(2000);

              }

              else

              {

               

              }


               }

              }

              // comprueva el pin de cualquier error            

              lcd.print("INICIO VERIFICA");

              delay(1000);

              lcd.clear();

              lcd.print("out: ");

              lcd.setCursor(0,1);

              lcd.print("in : ");

             i = 0;

    for (int i=0; i<= 7; i++){

    delay(250);

    pinOut = 0;

    bitSet(pinOut, i);

    digitalWrite(latchPin, LOW);

    shiftOut(dataPin, clockPin, LSBFIRST, pinOut);

    digitalWrite(latchPin, HIGH);

  //fue introducida ethIn1

  int eth1 = digitalRead(ethIn1);

  int eth2 = digitalRead(ethIn2);

  int eth3 = digitalRead(ethIn3);

  int eth4 = digitalRead(ethIn4);

  int eth5 = digitalRead(ethIn5);

  int eth6 = digitalRead(ethIn6);

  int eth7 = digitalRead(ethIn7);

  int eth8 = digitalRead(ethIn8);


 

      Serial.println();

      Serial.print("situacion de puertas y portones finales de lectura : ");

      Serial.print(eth1);  

      Serial.print(eth2);

      Serial.print(eth3);

      Serial.print(eth4);

      Serial.print(eth5);

      Serial.print(eth6);

      Serial.print(eth7);

      Serial.print(eth8);




     if (eth1 == 1)

    {

      verifi1 = 1;

    }

    else

   {

          if (eth2 == 1)

          {verifi1 = 2;

          }

          else

          {

              if (eth3 == 1)

              {verifi1 = 3;

             }

              else

             {

                  if (eth4 == 1)

                   {verifi1 = 4;

                   }

                   else

                   {

                        if (eth5 == 1)

                        {verifi1 = 5;

                        }

                        else

                        {

                            if (eth6 == 1)

                            {verifi1 = 6;

                             }

                             else

                             {

                                  if (eth7 == 1)

                                   {verifi1 = 7;

                                   }

                                   else

                                   {

                                        if (eth8 == 1)

                                        {verifi1 = 8;

                                        }

                                        else

                                        {

                                        }

                                    }

                              }

                           }
                        }
                     }

                   }                            

                  }

     

           

           

              //lcd.print("Error: ");

           

              lcd.setCursor(i+5,0);

           

              lcd.print(i+1);

              lcd.setCursor(i+5,1);

           

              lcd.print(verifi1);
              delay(250);
              verifi1 = 0;

              //fin de verificacion de error

              }

              delay(2000);

            }
       
GRACIAS POR VISITAR

CALCULO PRECISIÓN Y SIMETRÍA

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ADELANTE INGENIERÍA!!!!!!!!!!!!!!!!!!
    





1 comentario:

  1. que tal amigo necesito tu ayuda, al momento de programar me sale error y me dice filename y marca error, a que se debe?

    ResponderEliminar