ESP8266 - interruptor DIP

Los interruptores DIP (paquete en línea dual) se utilizan ampliamente en electrónica para diversas tareas de configuración, como direcciones de dispositivos, configuraciones de comunicación y códigos de seguridad. Este tutorial abordará el uso del interruptor DIP con el ESP8266. Específicamente, cubriremos:

ESP8266 NodeMCU con interruptor DIP

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×DIP Interruptor
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de DIP Switch

Los interruptores DIP se utilizan principalmente para configurar dispositivos, permitiendo a los usuarios ajustar configuraciones como la dirección del dispositivo, parámetros de comunicación, códigos de seguridad, modos de operación y preferencias del sistema en diversas industrias y aplicaciones.

Un interruptor DIP consta de varios interruptores deslizantes pequeños agrupados. Cada uno de estos interruptores deslizantes se conoce como una 'posición'. Los interruptores DIP están disponibles en diferentes tipos según la cantidad de posiciones que ofrecen. Por ejemplo, existen interruptores DIP de 2 posiciones, de 4 posiciones, de 5 posiciones, de 6 posiciones, de 8 posiciones y de 10 posiciones.

Un interruptor DIP puede representar un número configurable. Cada posición del interruptor corresponde a un bit del número. Al cambiar las posiciones entre encendido y apagado, podemos establecer el número deseado.

Disposición de pines

Diagrama de pines del interruptor DIP
image source: diyables.io

Un interruptor DIP está compuesto por dos filas de pines, siendo el número de pines en cada fila igual al número de posiciones disponibles del interruptor. Por ejemplo, un interruptor DIP de 4 posiciones incluye un total de 8 pines, distribuidos de manera uniforme con 4 pines en cada lado. Dentro de la estructura del interruptor DIP, cada par de pines opuestos forma un interruptor deslizante. Cabe mencionar que no es necesario diferenciar entre los pines de los dos lados, ya que pueden usarse indistintamente.

Cómo funciona

En los interruptores DIP, cuando un interruptor está en la posición ON, significa que el interruptor está cerrado. Esto indica que la conexión eléctrica está establecida, permitiendo que la corriente pase a través del interruptor.

Por el contrario, cuando un interruptor se encuentra en la posición apagada, eso implica que el interruptor está abierto. En este estado, la conexión eléctrica está interrumpida y la corriente no puede fluir a través del interruptor.

Entonces, para resumir:

  • Posición ON: circuito cerrado, permitiendo el flujo de corriente.
  • Posición OFF: circuito abierto, impidiendo el flujo de corriente.

Cuando conectamos un lado de un interruptor a GND y el otro a un pin del ESP8266, y luego configuramos el pin del ESP8266 como entrada digital con pull-up, la tabla a continuación ilustra la relación entre las posiciones del interruptor y los valores leídos por el ESP8266:

DIP switch position Binary representation Circuit state ESP8266 pin state
ON 1 CLOSED LOW
OFF 0 OPEN HIGH

En las próximas partes, usaremos, por ejemplo, un interruptor DIP de 4 posiciones. Puede adaptarse fácilmente a interruptores DIP de 2, 3, 5, 6, 8 y 10 posiciones.

Diagrama de Cableado

Diagrama de cableado del interruptor DIP ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Código ESP8266 - Interruptor DIP

Aprenderemos a través de dos fragmentos de código:

  • Lectura del estado encendido/apagado de cada posición del interruptor DIP.
  • Codificación de las posiciones en un número.

Código ESP8266 - Lectura del estado ENCENDIDO/APAGADO del interruptor DIP

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-dip-switch */ #define POSITION_NUM 4 #define ON LOW #define OFF HIGH // define the ESO8266 pins connected to the dip switch const int SWITCH_PINS[] = { D7, D6, D5, D2 }; void setup() { // initialize serial communication Serial.begin(9600); // set the dip switch pins as inputs with pull-up resistors enabled for (int i = 0; i < POSITION_NUM; i++) pinMode(SWITCH_PINS[i], INPUT_PULLUP); } void loop() { // Read the state of each switch position for (int i = 0; i < POSITION_NUM; i++) { Serial.print("position "); Serial.print(i + 1); Serial.print(": "); int state = digitalRead(SWITCH_PINS[i]); if (state == ON) Serial.println("ON "); else Serial.println("OFF "); } Serial.println(); // add a delay to prevent rapid readings delay(500); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en el IDE de Arduino si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre el Arduino IDE en tu ordenador.
  • Elige la placa ESP8266 correcta, como (por ejemplo, NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
  • Realiza el cableado tal como se muestra en el diagrama anterior.
  • Conecta el ESP8266 al PC mediante un cable USB.
  • Abre el Arduino IDE.
  • Selecciona la placa y el puerto correctos.
  • Haz clic en el botón Subir del Arduino IDE para cargar el código al ESP8266.
  • Coloca cada posición del interruptor DIP en ON, una por una.
  • Mira el resultado en el Monitor Serial.
COM6
Send
position 1: OFF position 2: OFF position 3: OFF position 4: OFF position 1: ON position 2: OFF position 3: OFF position 4: OFF position 1: ON position 2: ON position 3: OFF position 4: OFF position 1: ON position 2: ON position 3: ON position 4: OFF position 1: ON position 2: ON position 3: ON position 4: ON
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Código ESP8266 - Codificación de los estados del interruptor DIP en un número

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-dip-switch */ #define POSITION_NUM 4 #define ON LOW #define OFF HIGH // define the ESO8266 pins connected to the dip switch const int SWITCH_PINS[] = { D7, D6, D5, D2 }; void setup() { // Initialize serial communication Serial.begin(9600); // Set the DIP switch pins as inputs with pull-up resistors enabled for (int i = 0; i < POSITION_NUM; i++) pinMode(SWITCH_PINS[i], INPUT_PULLUP); } void loop() { int encoded_state = 0; for (int i = 0; i < POSITION_NUM; i++) { int state = digitalRead(SWITCH_PINS[i]); if (state == ON) encoded_state |= 1 << (POSITION_NUM - i - 1); } Serial.print("encoded state: "); Serial.println(encoded_state); // add a delay to prevent rapid readings delay(500); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora mediante un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM respectivo.
  • Carga el código anterior al ESP8266.
  • Coloca cada posición del DIP switch en ON una por una.
  • Ve el resultado en el Monitor Serial; se ve como se muestra a continuación.
COM6
Send
encoded state: 0 encoded state: 1 encoded state: 2 encoded state: 3 encoded state: 4 encoded state: 5 encoded state: 6 encoded state: 7 encoded state: 8 encoded state: 9 encoded state: 10 encoded state: 11 encoded state: 12 encoded state: 13 encoded state: 14 encoded state: 15
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Tenga en cuenta que el valor depende de las posiciones de cada interruptor deslizante. La tabla a continuación muestra la correspondencia entre la posición ON/OFF y el valor entero para un interruptor DIP de 4 posiciones:

Position-1Position-2Position-3Position-4Binary ValueDecimal Value
OFF OFF OFF OFF 0000 0
OFF OFF OFF ON 0001 1
OFF OFF ON OFF 0010 2
OFF OFF ON ON 0011 3
OFF ON OFF OFF 0100 4
OFF ON OFF ON 0101 5
OFF ON ON OFF 0110 6
OFF ON ON ON 0111 7
ON OFF OFF OFF 1000 8
ON OFF OFF ON 1001 9
ON OFF ON OFF 1010 10
ON OFF ON ON 1011 11
ON ON OFF OFF 1100 12
ON ON OFF ON 1101 13
ON ON ON OFF 1110 14
ON ON ON ON 1111 15

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!