Étape 6: Comment fonctionne le Circuit ?
Voici l’idée générale : nous devons être en mesure d’activer/désactiver un signal logique de 5V sur off pour tromper la télécommande en pensant les boutons sont pressés. Le Raspberry Pi fonctionne à 3, 3V niveau logique, mais généralement les puces conçus pour logique 5V reconnaîtra encore 3.3V « élevé ». Ainsi, idéalement vous devriez juste pouvoir câbler les broches GPIO le Raspberry Pi directement à la télécommande, avec aucun circuit intermédiaire. C’est le genre de ce que vous voyez dans ce Instructable (bien que les broches ne sont pas connectés directement à l’enlever, il y a une résistance entre les deux).
Donc, j’ai essayé cette méthode tout d’abord, mais pourrait l’obtenir pas fonctionner du tout (même pour une plage de valeurs de résistance différents). Finalement, après quelques retouches autour avec un multimètre, il semblait que ma télécommande tirait plus de courant que pourraient fournir les broches GPIO le Raspberry Pi - qui était à l’origine la tension de sortie chute à près de deux-point-quelque chose, c’est trop faible pour être reconnue comme une grande logique. Quelques recherches sur Google par les limites actuelles de broche GPIO conduisent à un tas de forums de discussion sur comment vous êtes censé vraiment pour utiliser un tampon avec les broches GPIO, ils ne sont pas conçus pour conduire une grande partie de quoi que ce soit directement.
Ainsi, le circuit de mémoire tampon à l’aide de relais et transistors MOSFET. Un relais est un interrupteur commandé électriquement avec un électro-aimant à l’intérieur. Un « single pole double jet » relais (inverseurs) peuvent alterner entre deux connexions différentes, selon si l’électro-aimant est sous tension. Donc dans ce cas, nous pouvons accrocher un relais jusqu’au + 5V et 0V et bascule en arrière selon laquelle tension que nous voulons envoyer à la télécommande. Nous utilisons le Raspberry Pi pour contrôler l’électro-aimant pour activer le relais ou hors - mais que les électro-aimants nécessitent encore plus de courant que les broches GPIO le Raspberry Pi peuvent fournir. Ainsi, nous utilisons un MOSFET, qui vous permet de conduire des charges de forte puissance à l’aide d’une source de faible puissance (vous ne peut pas dessiner comme par magie puissance de nulle part - vous devrez vous connecter à une plus grande alimentation externe, dans ce cas source de 5V de la Raspberry Pi venant tout droit de USB, qui peut fournir plus de courant que le GPIO broches eux-mêmes). Vous pourriez être familier avec les MOSFETs si vous avez déjà essayé de contrôler une bande de LED moteur ou énorme avec un Arduino, qui a aussi des limitations actuelles.
Les trois schémas ci-dessus montrent ce qui se passe selon laquelle GPIO broches ont la valeur haute en Python (qui nous allons arriver au prochains). Lorsque les deux broches sont assis à la basse, les deux relais connecter les boutons de la télécommande à 0V (sol), donc rien ne se passe. Lorsque GPIO 17 est défini sur Elevé, le premier MOSFET active, qui permet de courant de circuler à travers l’électro-aimant dans le premier relais, renversant l’interrupteur et en le connectant à 5V au lieu de 0V. Cela envoie un signal de 5V à broche sur la touche la télécommande, rendant la distance pense le bouton est enfoncé. Le même concept s’applique aux 18 GPIO et le bouton OFF.