Con las partes en el correo, no he tenido tiempo de probar, pero la pregunta simple es: ¿funcionará esto o qué mejoras son necesarias?
Qué se supone que debe hacer: un interruptor MOSFET para cargas de 12V, 0.5-3A, controlado por un nivel lógico de 3.3V (que resultó ser demasiado bajo incluso para mis MOSFET de nivel lógico). El chip se inicia con los puertos altos, MOSFET desactivado. Al establecer el pin bajo se enciende.
Luego el fondo.
Estoy usando una placa NodeMCU de nivel lógico de 3.3 V para mi proyecto. Para esto me conseguí un puñado de MOSFET IRL540N (después de leer los foros, y las cosas son baratas). De la hoja de especificaciones tuve la idea de que funcionaría a 3.3 V pero no hubo suerte allí. En el nivel de compuerta de 5-6V se abre bien (conecté 21W de LED de 12V para probar, funcionó a la perfección, el IRL540N ni siquiera se calentó). Pero a 3.3 V no hubo suerte, los LED apenas se encendieron.
El uso de un controlador de transistores funcionó, pero luego se invirtió: el puerto bajo estaba activado, por lo tanto, está predeterminado por defecto, y eso no es seguro para mi proyecto. Debe estar desactivado por defecto, por lo que en el inicio (pines bajos) simplemente está desactivado.
Entonces me di cuenta de que tenía que usar un voltaje más alto, y aquí es donde entra en juego el optoacoplador. Me permite tirar de la puerta del MOSFET al nivel de 12V con solo 3.3V.
El siguiente esquema que diseñé para la combinación con un expansor de puerto PCF8574. Sus pines deben por defecto salir, alto. En estado alto, puede generar solo 0,3 mA aproximadamente, muy poco, lo suficiente para controlar un transistor pero no un LED. Sin embargo, puede hundir al menos 20 mA, por lo que es lo suficientemente bueno como para conducir un LED o un optoacoplador.
La idea detrás de este esquema: cuando están encendidos, los puertos son altos, no hay corriente a través del LED, la compuerta MOSFET está baja y está apagada.
Luego, cuando hago que el puerto sea bajo, se hunde la corriente para el LED en el optoacoplador, la compuerta se pone en alto y se enciende el MOSFET. El 12V asegura que está saturado.
La carga puede ser lámparas o un motor o incluso un solenoide, D1 está ahí para evitar que el circuito se fríe al apagarse.