Introduction: C/C++ En Arduino: Pines

Picture of C/C++ En Arduino: Pines

En el Arduino, toda la información que entra y sale, lo hace a través de "pines". Los pines en el Arduino son las conexiones que están a los lados y en los cuales se pueden conectar cables como se ve en la foto.

En este instructable se concentra en como inicializar y utilizar los pines. Esto funciona exclusivamente para la programación de micro-controladores y no es general para el lenguaje C para desarrollo de software

Este es parte de la colección C en Arduino.

Step 1: Digitales Y Análogicos

Picture of Digitales Y Análogicos

Visto desde arriba (y con la conexión USB hacia arriba), como en la foto, hay a la izquierda abajo, seis pines analógicos, marcados de A0 a A5 (analog in). Son analógicos pues reciben como entrada voltajes que pueden ir de 0 voltios a 5 voltios. El Arduino, al se una computadora digital, convierte esa información a digital, como valores de 0 a 1023 (por ser 10 bits de información). o voltios corresponden a 0 en digital, y 5 voltios a 1023. En el ejemplo explicaré como funciona esto.

Los pines digitales se encuentra a la derecha y van de 0 a 13. Estos pines leen información de entrada como voltajes de 0 o 5 voltios, convirtiéndolos a valores de 0 o 1 respectivamente. Estos pines además, se puede utilizar como salidas de información. Envían voltajes de 0 o 5 voltios, y en el caso de los que están marcados con una "~", pueden ser utilizados para enviar voltajes entre o y 5 voltios.

Ahora veremos que significa todo esto con un ejemplo.

Step 2: Materiales

Picture of Materiales

Ocupamos:

  1. Arduino UNO
  2. cables
  3. Un potenciómetro de 10k Ohm
  4. Un botón

Step 3: Conexión Analógica

Picture of Conexión Analógica

Las conexiones de entradas analógicas se hacen a través de los pines A0 a A5. En este caso conectamos el potenciómetro como se indica en la foto. La pata izquierda a 5V, y la derecha a GND. La del centro al pin A0.

Step 4: Conexión Digital

Picture of Conexión Digital

En esta caso vamos a conectar el botón a un pin digital. Como ven la conexion es muy simple, dado que utilizaremos lo que se llama un pullup resitor en el pin 2, evitándonos tener que utilizar resistencias.

Un pullup resitor garantiza que a través del pin va a pasar una cantidad baja de corriente y que además va a estar estable en HIGH o LOW y no oscilando. Sparkfun da una buena explicación de esto. Para hacer que el micro-controlador los utilice, lo hacemos a nivel de programación, en el siguente paso lo veremos.

Cuando ya estemos corriendo el programa veremos como funciona

Step 5: Código

Picture of Código

Configuración de pines

En la sección de setup, especificamos el funcionamiento de los pines:

pinMode(A0,INPUT);
pinMode(2,INPUT_PULLUP);
pinMode(13,OUTPUT);

En la primera línea (línea 6 del código) indicamos el "modo" del pin A0, indicando que va a ser INPUT. Este es el pin que va a leer la información del potenciómetro. En la segunda línea (línea 7 del código), le indicamos al Arduino, que en pin 2 queremos activar el pullup resitor del controlador, indicando INPUT_PULLUP, en el comando pinMode(). La última línea indica que vamos a usar el pin 13 de salida (OUTPUT), en ese pin está conectado el led del Arduino.

Lectura de pines de entrada

En el código, en las líneas 14 a la 15, se lee la información del potenciómetro y del botón. En la línea 14:

int val = analogRead(A0);

Se lee la información del pin A0 con analogRead(A0). esta es almacenada en la variable de tipo entero que llamamos val. Al usar analogRead(), se hace una lectura de los pines análogos, y el resultado de la lectura es un valor entre 0 - 1023.

La línea 15, por el contrario:

int boton = digitalRead(2);

Se hace una lectura digital del pin 2, a través de digitalRead(2). Esta infromación se almacena en una variable de tipo entero. El comando digitalRead(), solamente leerá 0 o 1, dependiendo del voltaje de entrada, es decir, si el botón está apretado, que permite el paso de corriente, o sin apretar que impide el paso.

Escritura a pines de salida

El único pin de salida es el 13, que en la linea 13:

digitalWrite(13, HIGH);

Manda un voltaje alto "HIGH" para encender, y luego, en la línea 22 uno bajo "LOW" para apagar el led que viene en la placa de Arduino.

Mandando datos al Serial

Como ven las líneas 16 a 18, lo que hacen es mandar la información de la variable val y boton, al puerto serial mediante Serial.print(). Este comando lo que hace es mandar (imprimir) lo que sea que esté entre paréntesis al puerto serial. El comando Serial.println(), hace lo mismo solo que adicionalmente envía un "enter" para que lo siguiente salga en la próxima línea, y en el monitor serial se vea solamente dos valores (val , boton) por línea.

Step 6: Funcionando

Picture of Funcionando

Cargar el código y abrir el monitor serial del arduino. Como verán, al mover el pontenciómetro obtenemos valores que van desde 0 a 1023, y al apretar el botón se verá el valor 0 o 1.

Comments

About This Instructable

694views

5favorites

License:

Bio: Músico, matemático, computación, ciencia... insolente y subversivo, pero siempre propositivo
More by tomasdecamino:Kit Ciencia Y Arte: Un Makey Makey a Otro NivelCómo Crear Un InstructableKit Ciencia Y Arte: Máquinas Que Aprenden Sonido
Add instructable to: