Paso 6: ¿Cómo funciona el circuito?
Aquí le damos la idea general: tenemos que ser capaces de cambiar una señal lógica de 5V en y off para el mando a distancia del truco en el pensamiento de que se pulsen los botones. El Raspberry Pi opera a un 3,3 v nivel de lógica, pero generalmente chips diseñados para lógica de 5V reconocerá aún 3.3V como "alto". Por lo tanto, idealmente sólo debería poder conectar pines GPIO de la Raspberry Pi directamente al mando a distancia con ningún circuito intermedio. Esa es la clase de lo que ves en este Instructable (aunque los pasadores no están conectados directamente al quita, hay una resistencia en el medio).
Así, intenté primero ese método, pero no pudo hacer que funcione en todos (incluso para un rango de valores de resistencia diferentes). En última instancia, después de algunos retoques alrededor con un multímetro, parecía que mi control remoto fue dibujo más corriente que pueden suministrar pernos GPIO de la Raspberry Pi - que estaba causando la tensión de salida caerá a alrededor de dos-punto-algo, demasiado baja para ser reconocidos como una gran lógica. Algunos googlear acerca de las limitaciones actuales pin GPIO conducen a un montón de discusiones del foro acerca de cómo realmente se supone que utilizando un buffer de los pines GPIO, no están diseñados para conducir mucho de nada directamente.
Así, el circuito buffer utilizando relés y MOSFETs. Un relé es un interruptor controlado eléctricamente con un electroimán dentro. Un "tiro doble unipolar" relés (SPDT) pueden alternar entre dos conexiones distintas, dependiendo de si el electroimán está energizado. Así que en este caso, podemos enganchamos un relé para + 5V y 0V y palanca hacia adelante y hacia atrás dependiendo de qué voltaje queremos enviar al control remoto. Usamos el Raspberry Pi para controlar el electroimán para activar el relé o off - pero que los electroimanes aún requieren más corriente que la que pueden suministrar pernos GPIO de la Raspberry Pi. Por lo tanto, utilizamos un MOSFET, que le permite manejar cargas de alta potencia con una fuente de baja potencia (por arte de magia no puede dibujar energía de la nada - tenes que conectar a una fuente de alimentación externa más grande, en este caso fuente de 5V de la Raspberry Pi viene directamente desde USB, que puede suministrar más corriente que la GPIO pins ellos mismos). Puede familiarizarse con MOSFETs si alguna vez has probado controlar una motor enorme LED tira con un Arduino, que también tiene limitaciones actuales.
Los tres diagramas anteriores indican lo que sucede dependiendo de cual GPIO pins se establecen en alta en Python (que vamos a llegar al siguientes). Cuando ambos pasadores están sentados en el bajo, ambos relés conectan los botones del mando a distancia a 0V (tierra), por lo que no pasa nada. Cuando GPIO 17 está establecido en alto, el primer MOSFET se enciende, que permite corriente fluya a través del electroimán en el primer relais, el interruptor y conectarlo a 5V en vez de 0V. Esto envía una señal de 5V al pin del botón de encendido del mando a distancia, hacer el control remoto creo que el botón ha sido presionada. El mismo concepto se aplica a 18 GPIO y el botón de apagado.