dilluns, 21 de juliol del 2014

Entradas analógicas.



Entradas analógicas.
Arduino tiene 6 entradas analógicas numeradas desde A0 a A5.



Entradas analógicas

Una entrada analógica es aquella que lee datos que varían con el tiempo, se asocian a estas entradas sensores de luz, temperatura, tensión, es decir señales físicas variables con el tiempo. Arduino permite además utilizar estas entradas como entradas/salidas digitales [21]
Vamos a utilizar una resistencia variable (potenciómetro) para simular una señal analógica en Arduino y ver su valor a través del monitor de puerto serie de comunicaciones.


Potenciómetro.

Un potenciómetro es una resistencia variable con un eje central. Tiene tres PINS de forma que conectando el PIN 2 a una entrada analógica y variando el eje tendremos valores entre 0 y Rmax, así si el potenciómetro es de 10KΩ los valores estarán entre 0 y 10000Ω. Los conversores A/D son de 10 bits, por lo tanto Arduino reconocerá valores entre 0 y 1023  (2¹⁰) 

ENTRADAS ANALÓGICAS POR POTENCIÓMETRO

Vamos a implementar un circuito para leer entradas analógicas mediante un potenciómetro.

Materiales:
1 Arduino.
1 Potenciómetro 10 kΩ 
cables y una Protoboard 

Para ello vamos a introducir dos conceptos nuevos en Ardublock, VARIABLES y SERIAL PRINT.
Una variable es un espacio de memoria que asignamos para guardar valores que cambien durante la ejecución del programa. Utilizaremos una variable pot para guardar los valores leidos por la entrada analógica A1. [22]
Por otra parte para poder visualizar los datos leídos a través de la entrada A1, vamos a utilizar  SERIAL PRINT para imprimir los datos. [23] Desde el Arduino IDE abrimos el menú de herramientas y encontraremos la opción monitor serie.
Circuito:
Potenciómetro entrada Analógica.

Podemos ver como el PIN central que corresponde a un cursor que se mueve solidariamente con el eje lo conectados a A1.
Los otros dos PINS los conectamos a +5V y GND de Arduino.

Programa:

Potenciómetro Ardublock
Código:
// LECTURA ANALÓGICA POTENCIÓMETRO

int _ABVAR_1_pot = 0 ;   // DEFINICIÓN VARIABLE POT

void setup()
{
  Serial.begin(9600);       // ACTIVAMOS SERIAL PORT (VELOCIDAD 9600 BAUDIOS)
}

void loop()
{
  _ABVAR_1_pot = analogRead(1) ;  // ASIGNAMOS VALOR LEIDO A1 A POT
  Serial.print("VALOR POT 0");           // ESCRIBIMOS EL MENSAJE VALOR POT 0
  Serial.print(_ABVAR_1_pot);           // ESCRIBIMOS EL VALOR DE LA VARIABLE
  Serial.println();                                    // SALTO DE LÍNEA
}

DETECCIÓN DE NIVEL POR POTENCIÓMETRO

Vamos a añadir un LED al ejemplo anterior, de forma que al pasar los 2/3 del valor se indique mediante un LED conectado a D8.

Materiales:
1 Arduino.
1 Potenciómetro 10 kΩ 
1 LED
1 Resistencia 330Ω 
cables y una Protoboard 

Circuito:
Potenciómetro entrada Analógica.
Esquema:
Esquema Potenciómetro entrada Analógica.

Programa:

Activación LED con POT Analógico
Código:
int _ABVAR_1_pot = 0 ;                // ACTIVACION LED SI POT > 2/3 RECORRIDO

void setup()
{
  Serial.begin(9600);
  pinMode( 8 , OUTPUT);
}

void loop()
{
  _ABVAR_1_pot = analogRead(1) ;
  Serial.print("VALOR POT 0");
  Serial.print(_ABVAR_1_pot);
  Serial.println();
  if (( ( _ABVAR_1_pot ) > ( 680 ) ))  // SI POT > 680 (2/3) entonces
  {
    digitalWrite( 8 , HIGH );   // ACTIVA LED
  }
  else
  { digitalWrite( 8 , LOW );  // SI POT <680  DESACTIVA LED
   }
 }

Código de programación SKETCH que aparece en Arduino IDE.



Monitor Puerto Serie.

Podemos ver los diferentes valores leídos por el puerto analógico A1 mediante la herramienta Monitor Serie de Arduino IDE, Ardublock también puede lanzar el monitor mediante el botón Serial Monitor.




El circuito en funcionamiento.
Links:
[21] http://arduino.cc/es/Tutorial/AnalogInputPins
[22] http://arduino.cc/es/Tutorial/Variables
http://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n)
[23]http://arduino.cc/es/Serial/Print
[24] Potenciómetros:
http://es.wikipedia.org/wiki/Potenci%C3%B3metro
http://www.sparkfun.com/datasheets/Components/General/R12-0-.pdf
http://es.rs-online.com/web/p/potenciometros/7899403/
Youtube : http://youtu.be/nEG5C2Z3o34

E.Serra

Cap comentari:

Publica un comentari a l'entrada