digitalWrite()
Para controlar una salida digital, se debe usar la función digitalWrite(). Esta función acepta como argumentos el GPIO al que se hace referencia y su estado (alto o bajo).
digitalWrite(GPIO, STATE)
digitalRead()
Para leer una entrada digital, como un botón, se utiliza la función digitalRead(). Esta función acepta como argumento el GPIO al que se hace referencia.
digitalRead(GPIO)
Ejemplo:

const int pulsadorPin= 4; // El número de pin al que está conectado el pulsadorconst int ledPin = 16; // El número de pin al que está conectado el LED
/* variable de tipo entero que sirve para almacenar en cada momento el estado en el que se encuentra el pulsador*/
int estadoPulsador= 0;
void setup()
{
Serial.begin(115200); // Configuramos la velocidad del puerto seriepinMode(pulsadorPin, INPUT); // Configuramos el pin del pulsador como entradapinMode(ledPin, OUTPUT); Configuramos el pin del LED como salida
}
void loop()
{
// Lee el estado del pin donde está conectado el pulsador y lo almacena en la variable "estadoPulsador"estadoPulsador = digitalRead(pulsadorPin);Serial.println(estadoPulsador );// Chequea si el pulsador está presionado.// Si es así, el estado del pulsador pasa a HIGHif (buttonState == HIGH)
{digitalWrite(ledPin, HIGH); // enciende el LED }
else
{digitalWrite(ledPin, LOW); // Apaga el LED}
}