Problema con el botón de encendido de Arduino

0

Estoy tratando de construir un circuito que permita que mi tarjeta arduino se encienda mediante un botón (interruptor). Al igual que un botón de encendido en la PC. Aquí está mi esquema.

En la vida real utilicé un cargador de teléfono en lugar de la batería.

Y aquí está el código arduino. void setup() { pinMode(11, OUTPUT); pinMode(11,HIGH); } void loop() { // put your main code here, to run repeatedly }

La configuración debería funcionar así.

  1. El usuario presiona el botón
  2. El pin Arduino GND está conectado al cargador de teléfono GND
  3. Arduino comienza
  4. Arduino pin 11 va alto
  5. El pin activa el transistor 2n2222
  6. El transistor conecta otro pin GND arduino a tierra
  7. El usuario suelta el botón
  8. Arduino permanece encendido

El problema es que cuando conecto el cargador, arduino se enciende sin que el usuario presione el botón. Encontré que el transistor es culpable porque si desconecto el colector del transistor del arduino gnd pin, el arduino se apaga. Intenté cambiar el transistor y no hubo suerte. Lo mismo sucede si pongo el pin 11 a BAJO en el código. No tengo idea de lo que está pasando aquí y cómo es posible. Soy relativamente nuevo en la electrónica. ¿Hay soluciones posibles que no impliquen circuitos complicados? También tengo en cuenta que solo tengo transistores NPN 2N2222, por lo que las soluciones que involucran FET, MOSFET, PNP y otros transistores no me ayudarán. ¡Gracias de antemano!

    
pregunta Marko Scekic

5 respuestas

2
  • Deja el Arduino encendido permanentemente.
  • Haga que su código ponga el dispositivo en modo de reposo en el momento adecuado.
  • Busque ejemplos de "despertar del sueño".
  • Simplemente conecta el botón de activación a la entrada de activación / desactivación.

El micro se encenderá en el encendido inicial.

    
respondido por el Transistor
2

Parece que Pinus ya respondió con lo que sugeriría, pero pensé que agregaría alguna idea de por qué creo que puede funcionar. Antes de que la MCU encienda la base del transistor, esencialmente estará flotando. Si flota hacia arriba, el transistor debería encenderse y si flota hacia abajo, se apagará. La razón por la que está flotando es debido a las resistencias internas dentro del Arduino. Siempre habrá alguna resistencia (generalmente muy alta) entre un pin GPIO y la base de un Arduino. Esto conduce esencialmente a una resistencia muy alta entre el colector y la base de ese transistor.

Lo primero que intentaría sería agregar una resistencia desplegable desde la base del transistor a la tierra de la fuente de alimentación.

P.S. Esta es la primera vez que publico, así que espero no haber arruinado una convención. Además, nunca he probado este circuito antes, así que puedo estar totalmente equivocado

    
respondido por el jortt
1

Cuando se supone que el Arduino está apagado, usted pretende que su conexión GND sea alta (cerca de la tensión de alimentación). Pero para mantener el 2N2222 apagado, la unidad base debe estar apagada, y su conexión a la base está cerca de la tensión GND real, es decir, aproximadamente 4,3 V por debajo de la GND de Arduino. El pin Arduino no puede permanecer sin conductor en esta condición (y podría dañarse).

No puedes hacer esto de manera robusta con solo 1 transistor. Además, normalmente es más conveniente para un uso posterior del Arduino cambiar su suministro, no GND.

Conecte un 2N3906 (o casi cualquier PNP): Emisor = fuente de 5 V, colector = fuente de Arduino, base = 10k a 'X', y también agregue 100k R entre la base y el emisor. Ahora conecte un 2N2222 (o cualquier NPN): Emisor = suministro GND, Colector = nodo 'X' (es decir, el otro extremo del 10k), base = 10k al pin 11 (o cualquier otro) del Arduino. Para mantener la salida activada, mueva el pin Arduino ALTO

    
respondido por el jp314
0

Sí, lo siento, lo tengo un poco tarde. intente vender resistencia adicional entre menos de la batería y la base del transistor.

    
respondido por el Pinus
0

SOLUCIÓN QUE UTILIZA SOLAMENTE TRANSISTORES NPN

Todas las resistencias son 1Kohm. Hay una caída de voltaje de 0,8 V cuando se usa esta solución (la fuente de alimentación de 5 V deja 4,2 V para arduino). La solución de jp314 es probablemente mucho mejor, pero no tuve ningún transistor PNP para probarlo.

    
respondido por el Marko Scekic

Lea otras preguntas en las etiquetas