GPIO La entrada fluctúa entre alto y bajo cuando no se recibe ninguna entrada

2

Publiqué esto en el Raspberry Pi StackExchange, pero creo que podría ser más adecuado aquí, ya que la SE está bastante inactiva de todos modos.

Tengo un circuito bastante simple que hice cuando un detector de movimiento está conectado a una Raspberry Pi B + GPIO por medio de un tramo de cable de aproximadamente 30 pies. El detector está siendo alimentado por una batería de 9V y el esquema es el siguiente:

Estoyejecutandounscriptdepythonpararecogerelmovimientoyeselsiguiente:

importRPi.GPIOasgpioimporttimegpio.setmode(gpio.BCM)gpio.setup(17,gpio.IN)whileTrue:print("LOW","HIGH")[gpio.input(17)]
  time.sleep(.5)

Estaba obteniendo una salida que consistentemente tenía 9-11 HIGHs, luego 9-11 LOWs y luego se repetía, y me preguntaba qué pasaba, así que desconecté el detector de movimiento PIR, dejando el cable no conectado a nada, y obtuve El mismo resultado: una fluctuación constante entre bajo y alto.

De mi investigación, LOW para GPIO es aproximadamente < 0.54V, mientras que HIGH es > 2V. Medir la diferencia de voltaje entre el cable y el pin GND de la Raspberry Pi (PIN 39) me da 0,32 V de manera constante, sin fluctuaciones. ¿Por qué sucede esto y cómo puedo solucionarlo?

    
pregunta globby

2 respuestas

1

Agregue una resistencia de pull-up o pull-down. Intenta 10k. Si eso no funciona, intente 1k. Mi conjetura es que su cable largo está recogiendo algo de EMI y el pin GPIO de muy alta impedancia lo está convirtiendo en un voltaje suficientemente alto para cambiar el estado del pin. Una resistencia de pull-up o pull-down hará esto más difícil.

    
respondido por el alex.forencich
0

Según el esquema que ha suministrado, su detector de movimiento está bien conectado, dejando el GPIO flotante o aplica VCC al GPIO. No muestra que haya una referencia de terreno común. Quizás el circuito sea incorrecto.

Primero, asegúrese de que los circuitos en ambos extremos de su cable compartan una referencia común (GND). El voltaje debe medirse en relación con una referencia. Si cada lado del cable tiene su propia referencia poco común, entonces el sensor esencialmente siempre está flotando en la entrada GPIO.

Si de hecho hay una conexión a tierra común en ambos extremos de su circuito, debe tirar de la entrada hacia arriba o hacia abajo con una resistencia para asegurarse de que cuando se deja abierta, no se dejará flotando. Es posible que el dispositivo conectado ya tenga un pull up / down, pero uno no se muestra en el esquema. Incluso si mide ~ 0V CC, es probable que se detecte algo de EMI de CA en la entrada flotante, especialmente con un cable de 30 pies conectado.

Con un cable tan largo conectado, incluso si la entrada no está flotando, es posible que esté obteniendo suficiente EMI para abrumar la débil potencia de la unidad de su sensor.

    
respondido por el shibley

Lea otras preguntas en las etiquetas