RECURSO ARD.DIG. .- Funciones básicas: pinMode, digitalWrite y delay


Anteriormente comentamos cómo se podía llamar a una determinada función en lenguaje C.
Ahora veremos algunas funciones predefinidas que trae el entorno integrado de desarrollo: pinMode, digitalWrite y delay

pinMode.


Se utiliza para determinar si un pin específico del microcontrolador debe de ponerse en alguno de los tres siguientes modos:
  • INPUT o 0 : Es un pin de entrada, es decir, que en ese pin se aporta una tensión desde el exterior. Esa tensión la impone un sensor externo y el micro se la lee.
  • OUTPUT o 1: Es un pin de salida, es decir, aporta una tensión y el pin funciona como si fuese una pila de que se puede encender a 5V o apagar a 0V cuando se lo diga el micro. Ten en cuenta que nunca dos pines de salida deben de conectarse entre sí.
  • INPUT_PULLUP o 2 : Es un pin de entrada pull-up : es otra forma de hacer un pin de entrada, que lo conecta internamente a 5V a través de una resistencia.

A la función pinMode hay que llamarla con dos parámetros, el primero es el número del pin al que queremos aplicar el modo, y el segundo es el modo que queremos aplicar.Un ejemplo de llamada es:

pinMode(13, 1);



Esta llamada hace que el micro ponga el pin número 13 en modo salida.

A menudo se utilizan constantes predefinidas, que hacen más legible el código, de manera que la llamada anterior también puede escribirse como

pinMode(LED_BUILTIN, OUTPUT);



que es totalmente equivalente a la anterior.

Cuando hablamos de una función, suele resultar interesante saber cuántos parametros podría llegar a aceptar, y para qué sirve cada uno. Con la simbología de corchetes y barras realizamos una enumeración de todos los posibles valores que puede tener un parámetro.

Por ejemplo, el segundo parámetro de la función pinMode puede tener alguno de estos tres parámetros : INPUT, OUTPUT, INPUT_PULLUP esto lo escribiremos asi : [ INPUT | OUTPUT | INPUT_PULLUP]. Con este criterio escribiremos el prototipo de la función pinMode

pinMode(numero_del_pin , [ INPUT | OUTPUT | INPUT_PULLUP] )






digitalWrite.
Se utiliza para determinar si un pin específico del microcontrolador que ha sido puesto en en modo salida con la función pinMode debe de escribir alguno de los dos siguientes valores:

  • HIGH o 1: Indica un valor alto de salida, es decir, aporta una tensión y el pin funciona como si fuese una pila de un valor alto de tensión (alrededor de 5V).
  • LOW o 0: Indica un valor bajo de salida, es decir, aporta una tensión y el pin funciona como si fuese una pila de un valor bajo de tensión (alrededor de 0V).

A la función digitalWrite hay que llamarla con dos parámetros, el primero es el número del pin al que queremos aplicar el valor, y el segundo es el valor que queremos aplicar.

Un ejemplo de llamada es:

     digitalWrite(13, 1);


Esta llamada hace que el micro ponga el pin número 13 en valor alto.

A menudo se utilizan constantes predefinidas, que hacen más legible el código, de manera que la llamada anterior también puede escribirse como

   digitalWrite(LED_BUILTIN, HIGH);  


que es totalmente equivalente a la anterior.

Escribiremos el prototipo de la función

digitalWrite(numero_del_pin , HIGH | LOW);


Resumen de funciones de los pines:

 

Modo

Tipo

Función

Valor

 Acción

Salida

Digital

digitalWrite(pin , Valor);

num 0 o 1

Escribe 0V o 5V en el pin







delay
Se utiliza para congelar el funcionamiento del micro durante una cantidad especifica de tiempo.
A la función delay hay que llamarla con un sólo parámetro, que es el número de milisegundos que debe de estar congelado.
Un ejemplo de llamada es:

 
    delay(500); 


Esta llamada hace que el micro se detenga durante 500 milisegundos, o lo que es lo mismo, medio segundo.
Escribiremos el prototipo de la función

  delay(tiempo_de_espera);