Arduino pinMode, sintaxis y ejemplos

La función de Arduino pinMode permite configurar a cada pin, de forma individual, como entrada o como salida. Aquí te explicamos su uso con ejemplos.También está función es usada en conjunto con digitalWrite y digitalRead. Por lo general, pinMode es usado sólo en la función setup().

Sintaxis:

pinMode(#PIN, Modo);

Parámetros de entrada:

  • #PIN. Es el numero del pin que se quiere configurar, este numero esta escrito en la tarjeta Arduino que se usara.
  • Modo. Puede ser tres opciones:
    • INPUT.  Configura al pin como entrada.
    • INPUT_PULLUP. Se le agrega al pin una resistencia de pull-up interna y se configura como entrada.
    • OUTPUT. El pin se configura como salida digital.

Parámetros de salida:

  • Ninguno

 

Funciones complementarias:

La función Arduino pinMode usada para las tarjetas, es indispensable para cualquier aplicación donde se requiere usar entradas o salidas digitales. Previamente, la historia de está función comienza con la forma en la que se configuran a las entradas y salidas usando el lenguaje C para un microcontrolador AVR. Esta arquitectura es la que utiliza un Arduino UNO R3. Originalmente la función de configuración esta controlada por el registro de propósito específico llamado DDRX, donde la X representa el puerto a configurar. Por ejemplo, si tomamos en cuanta a un Arduino UNo, cuyo micro es el ATMEGA328P, vemos que los pines del 0 al 13 están conectados en realidad a los puertos D, C y B. Finalmente, la Figura-1, muestra las banderas de los registros B, C y D conectadas a cada pin.

En otras palabras, para controlar la configuración de entrada/salida la función de Arduino pinMode escribe y configura a los registros DDRB, DDRC y DDRD. Por ejemplo, la bandera 0 del registro DDRB configura directamente al pin 8 para una tarjeta Arduino UNO R3. Entonces, si esta bandera vale ‘1’ el pin se configura como salida. Por el contrario si vale ‘0’ se configura como entrada.

Arduino pinMode pinout



Figura-1. Puerto B, C y D conectados a los pines de Arduino. Se muestran las banderas asociadas a cada pin.

Arduino pinMode Códigos de ejemplo

Por ejemplo, el siguiente código permitirá configurar al pin D0 como salida. Este pin corresponde al pin 8 de una tarjeta Arduino UNO.

El código anterior equivale a la función de pinMode:

Por el contrario, las siguientes instrucciones equivalentes, configurarían al mismo pin como entrada.

Las siguientes tres instrucciones son equivalentes para configurar al pin 13 como salida. Las operaciones lógicas que se aplican al registro DDRB son enmascaramientos  (& – operación lógica AND) para no afectar a las banderas de los otros pines y sumas logias (|) para configurar a la bandera como salida (1) o como entrada (0).

Ejemplo de blink con Arduino pinMode y con DDRB

Entonces usar al registro DDRB es una alternativa a la función pinMode();.

 

 

Fuentes:

[1] – https://rua.ua.es/dspace/bitstream/10045/11833/1/arduino.pdf

 

Autor: Dr. Rubén E-Marmolejo.

Profesor Universidad de Guadalajara, México



Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.