GPIOs

Los GPIOs son salidas digitales que admiten solo dos estados, HIGH (encendido o 1), y LOW (apagado o 0). Pueden ser configurados para entrada o para salida, permitiendo leer o escribir información respectivamente.

Los GPIOs disponen de varios modos,

  • OUTPUT: De salida, permitirá enviar una señal de HIGH o LOW.
  • INPUT: De entrada, permitirá leer el valor conectado al pin, si no está conectado a nada puede devolver cualquier valor.
  • INPUT_PULLUP: De entrada, funciona igual que INPUT salvo que devolverá HIGH salvo que se conecte a una entrada LOW.

    Para usar un GPIO lo primero será definir su modo, normalmente la función void setup() mediante pinMode()

 void setup() {
    //Establecemos el pin 13 como salida
    pinMode(13, OUTPUT);

    //Establecemos el pin 10 como entrada
    pinMode(10, INPUT);
 }

Posteriormente podremos leer o escribir con las funciones digitalRead() y digitalWrite().

 void loop() {
    //Escribimos el valor HIGH en el pin 13
    digitalWrite(13, HIGH);

    //Leemos el valor del pin 10
    int status = digitalRead(10);

 }

Adicionalmente, los GPIOs pueden utilizarse para controlar dispositivos más avanzados mediante el uso de ciertas bbliotecas como veremos más tarde.