El DIP switch es un componente del tipo pasivo que permite controlar el encendido o apagado de varios circuitos dependiendo de la configuración con la que se adquiera. En nuestra tienda podrás encontrar variantes de 4, 6 y 8 canales independientes. Gracias a su pequeño tamaño se pueden utilizar en protoboard y en circuitos electrónicos realizados en una placa de circuito impreso o placa perforada.
El DIP switch generalmente se utiliza para definir el estado de las entradas de un circuito digital, pudiendo con esto definir su comportamiento. Es entonces un dispositivo de entrada y/o una forma de configurar el comportamiento de un circuito electrónico. Se puede usar tanto con microcontroladores y tarjetas de desarrollo como con circuitos lógicos combinacionales o secuenciales. Debido a su versatilidad es un componente indispensable para estudiantes y profesionales de la electrónica.
El nombre de este dispositivo proviene de la distribución de sus terminales, que es compatible con el empaquetado dual in-line package (empaquetado de doble hilera) que se usa también para el montaje de circuitos integrados del tipo through-hole.
Los interruptores DIP tienen una capacidad muy limitada para conducir corriente, por lo que no se recomienda su uso para el control de motores o cargas que demanden mucha corriente. Se utilizan principalmente con señales lógicas de 5 y 3.3 volts de baja corriente.
Características y especificaciones de DIP switch
- Encapsulado: DIP
- Tipo de mecanismo: Interruptor deslizante
- Vida útil: 3000 ciclos
- Voltaje de operación (recomendado): 24 VDC
- Corriente máxima: 25 mA
- Resistencia de contacto: 50mΩ
- Separación entre pines: 2.54 mm (0.1 pulgadas)
- Separación entre hileras de pines: 7.46 mm (0.3 pulgadas)
- Desplazamiento del switch: 2 mm
- Resistencia de aislamiento: 100MΩ mínimo @ 500 VDC
- Rigidez dieléctrica: 500 VAC / 1 minuto
- Disponible en versión de 4, 6 y 8 vías
Cómo leer un DIP switch con Arduino
En este programa mostramos como leer el valor de un DIP switch de 8 posiciones a una variable. El bit menos significativo está asignado al pin 2, mientras que el más significativo va conectado al pin 9. El programa activa las resistencias pull-up internas para ayudarnos a simplificar el armado del circuito de pruebas.
/**
Geek Factory - "Dale vuelo a tus proyectos"
www.geekfactory.mx
PROGRAMA DE PARA LEER UN DIPSWITCH EN ARDUINO
CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE
MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO.
PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0).
GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES.
SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS.
Resumen: Este programa esta diseñado para leer el valor de un DIP switch y mostrar el resultado
a través de la interfaz serial en la computadora.
*/
#define PIN_INICIAL_DIP_SWITCH 2
#define PIN_FINAL_DIP_SWITCH 9
/**
Función setup: se ejecuta una vez cuando encendemos el Arduino
*/
void setup() {
// iniciar el puerto serie
Serial.begin(9600);
// iniciar los pines como entrada con resistencia pull-up
for (uint8_t i = PIN_INICIAL_DIP_SWITCH; i <= PIN_FINAL_DIP_SWITCH; i++) {
pinMode(i, INPUT_PULLUP);
}
}
/**
Función loop: se ejecuta continuamente mientras el Arduino permanece encendido
*/
void loop() {
static uint8_t ultimo;
uint8_t estado = leer_dip_switch();
// solo imprimimos cuando algo cambie para evitar saturar el monitor serial
if (estado != ultimo) {
ultimo = estado;
Serial.print(F("Estado del DIP switch: "));
Serial.println(estado, BIN);
}
// espera entre lecturas
delay(100);
}
/**
@brief Leer a una variable el estado de un DIP switch.
Esta función lee cada uno de los bits de un DIP switch y entrega el resultado en
una variable que puede ser tratada como un número.
*/
uint8_t leer_dip_switch() {
uint8_t lectura = 0;
for (uint8_t i = PIN_INICIAL_DIP_SWITCH; i <= PIN_FINAL_DIP_SWITCH; i++) {
// si el pin se lee en estado bajo indica que el DIP switch esta activado
// debido a que estamos utilizando una configuración pull-up
if (digitalRead(i) == LOW) {
// almacenar el bit en la posición correcta
lectura |= (1 << (i - PIN_INICIAL_DIP_SWITCH));
}
}
return lectura;
}
Documentación
Información relacionada con este producto













Valoraciones
No hay valoraciones aún.