miércoles, 6 de abril de 2016

Lectura de entada Analógica desde el puerto Serial (Comunicación Serial 1)

En esta entrada explicaré como leer un potenciómetro con el arduino y observar el valor del mismo en vuestro ordenador, como en las entradas anteriores al final encontrareis el código completo:


Las entradas analógicas del Arduino leen valores comprendidos entre 0 y 1023 ya que tiene una resolución de 10 bits.

El puerto serie del arduino uno está relacionado con los pines 0 y 1 con lo que si se está utilizando el puerto serie para leer valores desde el ordenador no podremos utilizar estos pines ni como entradas ni salidas normales. Los valores a los que se puede configurar los baudios del puerto en Arduino son: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, o 115200.

Empecemos con el programa:

     1.Lo primero es declarar las variables que contendrán el pin de analógico y el valor del mismo:
             int Led = 13;
             int Poten = 0; //Esta variable corresponde al pin A0 en nuestro Arduino
             int VAnalog = 0; //En esta variable guardaremos el valor del potenciómetro

    2.Declaramos el Led como una salida e iniciamos el puerto serie, todo esto lo hacemos dentro del          void setup:
            void setup() 
            {
               pinMode(Led,OUTPUT);
               Serial.begin(9600); //Con esta función iniciamos el puerto serie del Arduino y le indicamos                  //los Baudios entre paréntesis en mi caso lo configuro a 9600
               Serial.println("Iniciando..."); //Con esta función escribimos en el puerto serie el texto entre                  //paréntesis y situamos el cursor en la siguiente línea
               delay(50);// hacemos una pequeña pausa de 50 milisegundos
             }
     3.Ahora llega el momento de la lectura del pin analógico, esto lo haremos dentro del void loop:
        void loop() 
        {
           VAnalog = analogRead(Poten);//Con esta función leemos el pin analógico A0 y guardamos el              //valor en la variable para luego trabajar con el 
           Serial.print("Valor del potenciómetro: ");
           Serial.println(VAnalog);
           if(VAnalog >= 512)//En estas lineas del código encenderemos el Led cuando el valor del                      //potenciómetro sea mayor o igual de 512 apagando cuando sea menor de ese valor
          {
            digitalWrite(Led,HIGH);
           }
           else
          {
            digitalWrite(Led,LOW);
           }
         }
Como cablear el potenciómetro:
El potenciómetro tiene una resistencia de 100 Kohms.

Como visualizar los datos desde el ordenador y el IDE de Arduino:
El propio compilador de arduino cuenta con una herramienta que nos permite leer y escribir en el puerto serie del Arduino, esto es muy útil para programas como este en el que leemos un valor de una entrada analógica. Para acceder a el hacemos clic en la lupa y nos abrirá una ventana desde la cual podremos visualizar y configurar la comunicación serie con el arduino.

Aquí os dejo el código completo:
   int Led = 13;
   int Poten = 0;
   int VAnalog = 0;
   void setup() 
  {
    pinMode(Led,OUTPUT);
    Serial.begin(9600); 
    Serial.println("Iniciando..."); 
    delay(50);
   }

   void loop() 
  {
    VAnalog = analogRead(Poten);
    Serial.print("Valor del potenciómetro: ");
    Serial.println(VAnalog);
    if(VAnalog >= 512)
    {
      digitalWrite(Led,HIGH);
    }
    else
   {
      digitalWrite(Led,LOW);
   }

  }





No hay comentarios:

Publicar un comentario