señal de 5v para cambiar la entrada de 3.3v

3

Tengo un arduino que tiene una de sus entradas muy alta y "escucha" cuando se presiona uno de los dos botones pulsando el suelo.

Me gustaría que esta señal también se envíe a una frambuesa pi cercana en uno de sus pines GPIO, de modo que se coloque alto de forma predeterminada y cuando se presiona cualquiera de los botones pulsadores también se tira a tierra. Como el rpi espera 3.3v, me preguntaba si un simple transistor sería suficiente aquí.

¿Funcionaría el circuito anterior como se esperaba? Entonces, cuando el transistor se enciende, se alejarán los 3.3 voltios, dejando ese pin de entrada en el rpi que lee 0 voltios.

Por último, si el circuito tiene sentido, es correcto el siguiente cálculo para la resistencia de base ...

  • actual en el colector = V / R = 3.3 / 10000 = 0.00033 A
  • hfe = 35
  • actual en la base ... Ib = Ic / hfe = 0.00033 / 35 = 0.000009428 A
  • R1 = V / I = (5 - 0.7) / 0.000009428 = 456000 Ohm
pregunta user2921789

1 respuesta

2

Tienes varios problemas con tu esquema. S1 y S2 proporcionan un cortocircuito directo en la alimentación de 5 V. R1 está conectado a GND, nunca cambiará a nivel alto.

Una solución simple es simplemente evitar que el suministro de 5 V llegue al pin GPIO de 3,3 V mediante un diodo.

simular este circuito : esquema creado usando CircuitLab

Figura 1. Un diodo evita que 5 V alcancen la Raspberry Pi 3.3. V entrada.

Para su resistencia de base PN2222, el enfoque estándar es conducir el transistor a saturación para proporcionar una disipación de potencia mínima en el transistor y un voltaje máximo para la carga. Como resultado, se utiliza una corriente de base mucho mayor. Una resistencia de 1k a 10k sería una buena opción.

  

Sin embargo, por curiosidad, ¿puedes explicar cómo / si puedo obtener el mismo resultado usando un transistor?

simular este circuito

Figura 2. ¡Otra forma que no funciona!

No puedo pensar en una forma realmente clara de abandonar la lógica de 5 V a 3,3 V mientras se comparte una señal de esta manera. La figura 2 ilustra el problema.

  • Primero observe que el transistor invertirá la lógica de señal que alimenta el RPi. Cuando Ard GPIO sea alto, RPi GPIO será bajo.
  • R1 está tirando el Arduino alto, pero si introducimos R3 tirará la entrada Arduino por debajo de 5 V. Podríamos aumentar el valor de R3 para que la entrada Arduino sea lo suficientemente alta como para leer como una lógica 1 pero es un poco "Vago" como señal digital. Probablemente podrías hacerlo funcionar.
  • No podemos omitir R3, ya que la unión b-e Q1 se verá como un diodo conectado a través de SW1 y SW2, y la entrada de Arduino se mantiene baja.

La solución de la Figura 1 tiene ventajas de simplicidad, confiabilidad, no inversión y clara intención de diseño. No confundirá a nadie.

    
respondido por el Transistor

Lea otras preguntas en las etiquetas