ESP8266 Entradas Salidas Digitales - pensactius/Tutoriales GitHub Wiki
(Información extraída de RANDOM NERD TUTORIALS)
ESP8266 Salidas Digitales
Antes de nada habrá que configurar el pin como Salida
. Usaremos la función de Arduino pinMode()
como se muestra:
pinMode(GPIO, OUTPUT);
Para controlar el valor de la salida digital usaremos la función digitalWrite()
, que acepta como argumento, el GPIO que queremos controlar, y el estado, HIGH
(1) o LOW
(0).
digitalWrite(GPIO, STATE);
ESP8266 Entradas Digitales
Primero configuraremos el pin como entrada, usaremos la función pinMode()
:
pnMode(GPIO, INPUT);
Para leer una entrada digital, como un pulsador, usaremos la función digitalRead()
, que acepta como argumento, el GPIO que queremos leer:
digitalRead(GPIO);
TODO: traducir GPIOs que se pueden usar
Proyecto de Ejemplo
Para ilustrar como funcionan las entradas y salidas digitales, montaremos un pequeño ejemplo con un pulsador y un LED. Leeremos el estado del pulsador y encenderemos el LED de forma acorde como se muestra en la figura.
Conexiones
Monta el circuito como se muestra a continuación. Conectaremos el LED al GPIO 5
(D1) y el pulsador al GPIO 4
(D2).
Lista de Componentes
Necesitarás los siguientes componentes para montar el circuito:
- Una placa basada en ESP8266 (NodeMCU o WeMos D1 Mini)
- LED
- Resistencia de 220 o 330 Ohm
- Resistencia de 10K Ohm
- Protoboard
- Cables de conexión
// Código original de: https://RandomNerdTutorials.com/esp8266-nodemcu-digital-inputs-outputs-arduino/
// Constantes para los pines a usar
const int buttonPin = 4; // GPIO al que está conectado el pulsador
const int ledPin = 5; // GPIO al que está conectado el LED
// variable para almacenar el estado del pulsador
int buttonState = 0;
void setup() {
// Inicializa el pulsador como entrada
pinMode(buttonPin, INPUT);
// initializa el LED como salida
pinMode(ledPin, OUTPUT);
}
void loop() {
// lee el estado del pulsador y lo almacena en la variable 'buttonState'
buttonState = digitalRead(buttonPin);
// comprueba si el pulsador está pulsado.
// si lo está, el valor de buttonState será HIGH (1)
if (buttonState == HIGH) {
// enciende el LED
digitalWrite(ledPin, HIGH);
} else {
// apaga el LED
digitalWrite(ledPin, LOW);
}
}