Pines de Arduino

¿Cómo utilizarlos?

Este post es la continuación de Programando con Arduino. Si no lo has leído te recomiendo que lo hagas antes de continuar.
Si ya lo has leído entonces..

¡Comencemos!

  • Declaración de Pines
  • Escritura de Pines
  • Lectura de Pines
  • Ejemplo práctico

A continuación te explicaré de forma sencilla como se utilizan los pines que contiene la placa.


Declaración de Pines

Como he comentado en el post anterior, estos pines pueden ser tanto de entrada como de salida. Por lo tanto, debemos declarar cuáles pines utilizaremos y de qué modo.

De forma genérica sería algo asi:

  • pinMode(“numero_de_pin”, INPUT);
  • pinMode(“numero de pin”, OUTPUT);

La función pinMode es propia del Arduino.
Esta función nos pedirá dos valores: el número de pin (será aquel que indique la placa) y el tipo de pin, que será de entrada (INPUT - Lectura) o de salida (OUTPUT - Escritura).

Ejemplo:
Siguiendo el código del anterior post (te lo escribo nuevamente por si no lo recuerdas)

void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);   
  delay(1000);              
  digitalWrite(13, LOW);    
  delay(1000);
}

En la línea 2 pinMode(13, OUTPUT); está la declaración del pin 13 como pin de salida. En este caso el pin 13 tiene por defecto conectado un LED en la placa Arduino. Si quisieras utilizar el pin 12, deberás conectar tu propio LED a la placa.

IMPORTANTE! Las declaraciones de los pines se hacen en la función setup para que solo se ejecuten una vez.


Escritura de Pines

Una vez que hemos declarado qué pin utilizaremos para el LED, deberemos indicarle en qué momento se encenderá y apagará.
Para esto, debemos mandarle un pulso de 5V.
Es decir, si queremos que el LED se encienda le enviamos un pulso en alto:

digitalWrite("numero_de_pin,HIGH)

En caso de querer que el LED se apague le enviamos un pulso bajo:

digitalWrite("numero_de_pin,LOW)

DATO en lugar de escribir LOW o HIGH se puede escribir 0 o 1 respectivamente.


Lectura de Pines

Un pin necesitaremos leerlo cuando por ejemplo conectamos un botón.
Esto es porque cuando se presiona el botón estaremos enviando un 1 o 0 (según se lo configure) y deberemos preguntar su estado para realizar cierta acción.

Ejemplo: Si quisieramos encender un LED con un botón, deberíamos leer el estado de este último y enviar al LED una señal alta o baja según corresponda.

Para leer el estado de un pin necesitaremos escribir la siguiente linea de código:

digitalRead(“numero de pin”);


Ejemplo práctico utilizando lectura y escritura de pines

El ejemplo más común como ya he comentado es el de encender un LED presionando un botón.

Dicho ejemplo podrás encontrarlo en: Archivo - Ejemplos - 02.Digital - Button.

const int buttonPin = 2; 
const int ledPin =  13;
int buttonState = 0;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}
void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

La función setup se encarga de la declaración de los pines. El pin 13 será pin de salida mientras que el pin 2 será de entrada (botón).

La función loop se encargará de leer el estado del botón. En base a lo que se lea se encenderá o no el LED.
Si se presionó el botón una vez, el estado de este será HIGH y por lo tanto la luz encenderá.

¡Si tienes alguna duda escríbela en los comentarios y te ayudaré!


Deja un comentario