Tutorial Arduino 3.-Potenciómetro

Publicado por Loli Diéguez en

En este tercer artículo de la seria de Arduino te comento como comenzar a trabajar con Arduino y cubriremos conceptos como estructuras básicas de código, interfaz con sensores, actuadores y más. 

El potenciómetro es uno de los dispositivos de entrada más útiles, y aquí vamos a ver cómo usar uno con Arduino. 

Hardware necesario:

  • Ordenador / portátil o netbook
  • Microcontrolador Arduino
  • Adaptador USB a serie (si su microcontrolador no tiene un puerto USB)
  • Cable USB apropiado (las placas Arduino obtienen energía del puerto USB, todavía sin baterías)
  • Potenciómetro (rotativo o lineal) Ejemplo: Sensor de rotación DFRobot
  • LED secundario opcional.

 

 

Abre el sketch de ejemplo "AnalogInput" en Archivo -> Ejemplos -> Analógico, deberías ver algo de este estilo.

Pantalla del archivo Ejemplo Analógico

 

Las líneas nuevas de código que verás aquí son estas:

int sensorPin = A0;

El "int" es la abreviatura de "integer" que hace referencia a un tipo de número entero. El nombre "sensorPin" identifica la variable, puedes poner cualquier nombre, pero te recomiendo que siempre pongas nombres que puedas identificar rápido para que sepas cuál es la funciona de la variable que identifica

La declaración de la variable "sensorPin" es igual a A0, donde "A0" es el pin analógico 0 en el Arduino. Por sí solo, "A0" no es un término reservado. Sin embargo, cuando se usa en contexto, el sistema lo reconoce como pin analógico 0. La línea debe terminar con un punto y coma. 

Lo que te comento en el párrafo anterior tiene dos ventajas principales:

1) Hace que el código sea más descriptivo y fácil de entender

2) Si deseas cambiar el valor de la variable, solo tendrás que hacerlo en un sitio, en el lugar de la declaración de variables.

Otra línea del código te sirve para leer un voltaje en un pin, la siguiente línea hace esto que te comento, y como verás, entre paréntesis, tiene la variable que antes hemos comentado, sensorPin.

 

sensorValue = analogRead (sensorPin);

Esta línea utiliza el término "analogRead " para leer el voltaje del pin que se le indica en el parámetro de la función, en este caso el pin A0, que es el identificado por la variable senrorPin.

La mayoría de los microcontroladores Arduino no leen un valor analógico de voltaje, sino que realizan una conversión del valor leído en analógico y lo interpretan en digital, para representar este valor digital utilizan 10 bits, que son 2 10 números posibles = 1024.

Por lo tanto, un voltaje de 0 V corresponde a un valor numérico de 0. Un voltaje de 5 V corresponde a un valor numérico de 1024 Por tanto, un valor de 3V correspondería a un valor numérico de:

3/5 = x / 1024, x = 3 * 1024/5 = ~ 614

Otra forma de escribir esta línea de código sería tal que así: sensorValue = analogRead (A0);

 

int ledPin = 13;

Una vez más, el término "ledPin" no es una palabra reservada en Arduino, se eligió para describir qué pin estaba conectado al LED. El valor "13" es un valor normal, pero al igual que "A0", cuando se usa en contexto representa el pin 13.

int sensorValue = 0;

El término "sensorValue " tampoco es un término reservado.

 

Ahora toca conectar el potenciómetro

Conecta el potenciómetro a los pines A0, 5V y GND. El cable del medio (limpiador) es el que se conecta al pin analógico y el voltaje varía en este pin. No importa la orientación de los otros dos pines. 

Otra opción es conectar el potenciómetro a los pines A0, A1 y A2. Sin embargo, deberás agregar el siguiente código en void setup ():

digitalWrite(A1, LOW);

digitalWrite(A2, HIGH);

Esto establece los pines correspondientes a 0V (GND) y 5V (PWR). Una vez que el potenciómetro esté conectado, carga este boceto o sketch en la placa y abre el monitor serial. A medida que giras la perilla, los valores deben cambiar entre 0 y 1023. En consecuencia, el LED parpadeará con un retraso más rápido o más lento.

Leer un valor en un pin de Arduino

Para leer un valor en una de las entradas de Arduino hay que usar la función "analogRead()", en el ejemplo el pin seleccionado es el pin # 2. Si utilizaste el pin analógico # 5, cambiaría el código para leer:

int sensorpin = 5;

Si el sistema no funciona, verifica la sintaxis y asegúrate de que el código se carga correctamente. Luego, revisa las conexiones al potenciómetro asegurándote de que el cable del medio vaya al pin correcto y que los otros pines estén alimentados a 0V y 5V. 

Si utilizas un potenciómetro antiguo o muy barato, existe la posibilidad de que tenga defectos mecánicos. Puedes probar esto con un multímetro y conectar los extremos al pin del medio y al pin exterior. Configura el multímetro para leer la resistencia y gira la perilla; si la resistencia cambia lentamente significará que está funcionando. Si la resistencia es errática, necesitas un nuevo potenciómetro.

Pantalla analoginput

 

Ahora, ¿qué pasa si quieres ver el valor? Echa un vistazo al código anterior y escríbelo en la interfaz de Arduino como un nuevo boceto. 

Imprimir un valor

Serial.println (sensorValue);

Esto imprime por la pantalla del terminal sería el valor contenido en la variable "sensorValue".

 


Compartir esta publicación



← Publicación más antigua Publicación más reciente →