Tenga en cuenta: aunque esta pregunta involucra una Raspberry Pi (en adelante, RPi ), ¡en realidad es una pregunta puramente electrónica en el fondo!
Estoy tratando de conectar mi RPi 1 Modelo A a una placa de pruebas con un único y simple interruptor de encendido y apagado . El truco aquí es que, aunque estoy usando un interruptor de encendido y apagado, realmente solo quiero que funcione como un interruptor normal (de encendido y apagado). Es decir: presiónelo una vez, el circuito se cierra y envía una señal de entrada a mi RPi. Púlselo de nuevo y se abrirá el circuito. Enjuague y repita.
Me dieron este diagrama a seguir para conectar las cosas:
Luego, inferí mi propia versión de esto, que muestra más claramente la unión de los pines izquierdo y derecho del interruptor (dándole el comportamiento de encendido y apagado deseado), así como también cómo conectar la alimentación de 3.3V en el RPi al GPIO. pin de entrada:
Entonces, para comenzar, si algo de lo anterior le parece incorrecto o incorrecto, ¡comience por corregirme!
Asumiendo que estoy en el buen camino, ahora estoy tratando de conectar esto en la vida real, entre mi RPi y mi protoboard. Aquí está mi mejor intento:
No importa el LED y las resistencias en la esquina inferior derecha de la placa de prueba, son restos de otro experimento y no están conectados a nada más.
En el lado izquierdo de la foto de arriba tenemos el interruptor, aquí hay una mejor vista del cableado/configuración:
GND
riel a través de un puente negroEsto nos lleva al centro del tablero de cuentas, donde cuelga esa gran resistencia de 10 kOhm:
Recuerda, al final del día, todo lo que quiero hacer es:
Entonces pregunto: ¿mi circuito logrará el siguiente comportamiento? ¿Está cableado correctamente (uniones correctas de los cables, uso correcto de la resistencia, etc.)? ¿O "freirá mi pi"? Si algo es incorrecto, ¿cuál es la corrección/solución?
Varios usuarios me han señalado que mi cableado alrededor del interruptor es incorrecto, aquí hay un diagrama de Fritzing de lo que creo que es la solución:
Cableado cuando configuro la resistencia del pin interno en la capa de software y omito la resistencia de la placa de pruebas:
Figura 1. Dominada incorrecta.
Su resistencia pull-up está conectada al riel equivocado. Está tirando hacia abajo. Su botón simplemente lo tira hacia abajo mejor.
simular este circuito : esquema creado con CircuitLab
Figura 2. (a) Lo que pretendías. (b) La forma en que lo conectó. (c) Con pull-up interno habilitado.
El enlace de cable en el extremo derecho de su resistencia está conectado a GND en lugar de V +.
Si puede programar el GPIO con pull-up interno, omita la resistencia. No es requerido. En la configuración actual, compite con el pull-up y el voltaje de entrada nunca puede superar el establecido por el divisor de potencial creado por el pull-up y el pull-down.
Aclaración extrema:
Figura 2. El cable puente de la resistencia pull-up debe moverse para terminar en la posición 2, no en la posición 1.
De los comentarios:
Bien, inicializaré mi pin en la capa de software a través de gpioController.provisionDigitalOutputPin(RaspiPin.GPIO_23, 'RunningLed', PinState.HIGH), lo que hará que la resistencia interna del pin GPIO #23 se "levante" (PinState.HIGH) , de modo que cuando alguien presione el interruptor (que a su vez cierra el circuito), la resistencia interna se activará, ¿sí?
Eso funcionará correctamente, pero su descripción de la acción es incorrecta.
Figura 3. Pull-up interno con interruptor pull-down externo.
Tenga en cuenta que anteriormente en la discusión iba a tener un menú desplegable externo y un menú desplegable interno. Esto no funcionaría ya que el voltaje (con el interruptor abierto) no sería ni completamente alto ni completamente bajo y probablemente estaría en un estado indefinido alternando entre los dos cuando lo lea su programa.
gpioController.provisionDigitalOutputPin(RaspiPin.GPIO_23, 'RunningLed', PinState.HIGH)
, lo que hará que la resistencia interna del pin GPIO #23 se "levante" ( PinState.HIGH
), de modo que cuando alguien presione el interruptor (que a su vez cierra el circuito) la resistencia interna entrará en acción, ¿ sí ?
Ignacio Vázquez-Abrams
pedro bennett
smeeb
usuario253751
smeeb
usuario253751
smeeb
usuario253751
jalalipop
Transistor