Premiers pas avec GPIO sur un Raspberry Pi

Si vous pensiez que l'Arduino était cool, attendez de mettre la main sur un Raspberry Pi - ces choses sont incroyables. En plus d'être un ordinateur entièrement fonctionnel, ils ont aussi une sélection de broches d'entrée / sortie à usage général.

Si vous pensiez que l'Arduino était cool, attendez de mettre la main sur un Raspberry Pi - ces choses sont incroyables.  En plus d'être un ordinateur entièrement fonctionnel, ils ont aussi une sélection de broches d'entrée / sortie à usage général.
Publicité

featured-rpi-gpio Si vous pensiez que l'Arduino était cool, attendez de mettre la main sur un Raspberry Pi - ces choses sont incroyables. En plus d'être un ordinateur entièrement fonctionnel, ils ont aussi une sélection de broches d' entrée / sortie à usage général . Tout comme un Arduino, nous pouvons les utiliser pour créer des projets électroniques - et il est étonnamment facile de commencer.

Aujourd'hui, nous allons connecter un relais et l'utiliser pour allumer une LED, mais vous pouvez tout aussi bien allumer une lampe.

Cette introduction sert de première partie à un plus grand projet de domotique. Christian a déjà jeté les bases pour commencer avec un Pi, donc je ne vais pas répéter les étapes initiales ici de télécharger un OS ou de brancher la carte SD - je suppose que vous avez déjà un système Raspian en état de marche .

Attention : Bien qu'un Raspberry Pi puisse être utilisé de la même manière qu'un Arduino, un peu plus de soin est nécessaire. Les broches du Pi fonctionnent à 3.3v, tandis que l'Arduino utilise 5v . Alors qu'il est possible de casser un Arduino, il est beaucoup plus facile de casser un Pi que les broches se connectent directement à la puce embarquée - envoyer 5v là-bas peut le faire frire.

Par conséquent, soyez très prudent lorsque vous essayez de répliquer des projets Arduino sur votre Pi - soit suivez un tutoriel spécifique Pi, ou assurez-vous d'avoir une bonne compréhension de l'électronique de base.

Exigences:

  • Transistor NPN, tel que P2N2222A
  • Résistance 1k
  • Relais; J'utilise un module 5v à 4 relais qui a un circuit de protection supplémentaire intégré (donc pas besoin de diodes supplémentaires
  • LED et résistance 220 ohms pour les tests
  • Câble de dérivation

Câble de dérivation ("Cobbler Kit")

Les broches GPIO sont situées sur le côté du Pi, à côté de la prise de sortie vidéo RCA.

câble de dérivation

Bien que vous puissiez brancher techniquement des câbles de connexion femelles directement à ceux-ci, ils ne sont pas étiquetés de manière utile et vous êtes donc plus susceptible de casser quelque chose. Au lieu de cela, obtenez un câble d'évasion tel que celui-ci d'Adafruit, ou l'un des nombreux clones moins chers sur eBay. Vous devrez peut-être souder cela car il viendra sous forme de kit.

table de cassure

Bien que le côté de la carte comporte une encoche pour indiquer le placement correct du câble, le côté Pi ne le fait pas. Assurez-vous que les broches 3v et 5v dans le coin le plus éloigné du Pi sont alignées avec les broches correspondantes de la carte. Bien sûr, si vous avez acheté un étui qui n'expose pas l'en-tête du GPIO, alors vous allez devoir courir avec du Pi nu ou faire un trou.

clear-case-gpio

Alternativement, vous pouvez obtenir une carte complète qui appose sur votre Pi, et vient généralement avec une sélection de composants utiles.

Circuit de base

Configurez le circuit comme indiqué ci-dessous. J'ai laissé de côté les circuits de relais car cela peut varier. Utilisez les bornes NO (normalement fermé) et COM de votre relais pour votre LED ou un autre appareil.

circuit

Utilisez la broche 4 du Raspberry Pi. Sur ma table de discussion, il est marqué + GPCLK0; Peu importe, c'est la quatrième broche à compter de 3V3.

pin4

Test de ligne de commande

Dans les exemples suivants, je suppose que vous êtes connecté via SSH ou autrement en tant qu'utilisateur root. Si ce n'est pas le cas, vous devrez préfacer certaines des commandes avec sudo pour les privilèges élevés.

Premièrement, nous devons installer WiringPi .

git clone git://git.drogon.net/wiringPi cd wiringPi ./build 

En supposant que tout se soit bien passé, nous devrions maintenant pouvoir contrôler directement le GPIO depuis la ligne de commande comme ceci:

 gpio -g mode 4 sur gpio -g ecrire 4 1 

La première commande est similaire à la fonction de configuration de l'Arduino où nous disons que Pi utilise la broche 4 comme sortie. La commande suivante écrit une valeur de 1 sur la broche, ce qui devrait déclencher le transistor, activer le relais, fermer le circuit de la LED et l'allumer.

Impressionnant. Si ce n'est pas le cas, revenez en arrière et vérifiez votre câblage. Est-ce que le relais clique?

Python

Bien que Python ne soit pas le seul moyen de communiquer avec les broches GPIO, il est généralement considéré comme le plus simple et le plus communément utilisé dans les projets existants. Contrairement à C, Python est relativement facile à apprendre (voici 5 sites pour apprendre Python Les 5 meilleurs sites Web pour apprendre la programmation Python Les 5 meilleurs sites Web pour apprendre la programmation Python Au cours de la dernière décennie, le langage de programmation Python a explosé en popularité chez les programmeurs. domaines du codage.A partir de développeurs web aux concepteurs de jeux vidéo aux créateurs d'outils internes, beaucoup de gens sont tombés dans ... Lire la suite).

Commencez par installer les extensions Python suivantes:

 apt-get install python-dev apt-get install python-rpi.gpio 

Maintenant, créez un nouveau fichier appelé test.py. Si vous utilisez une ligne de commande, tapez

 nano test.py 

Collez ou tapez ce qui suit (également sur cette pastebin):

 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) for x in range(0, 10): time.sleep(5) GPIO.output(4, 1) time.sleep(5) GPIO.output(4, 0) 

Ceci est un script Python très simple qui va allumer la LED (ou tout ce que vous avez branché à votre relais) pendant 5 secondes, puis éteint pendant 5 secondes, 10 fois . Vous devriez être capable de comprendre la plupart du code. La ligne GPIO.setmode est simplement utilisée pour indiquer le schéma de numérotation des broches que nous allons utiliser.

C'est tout! Pour exécuter le code, tapez:

 python test.py 

fini

La semaine prochaine, nous allons élaborer un peu la configuration et faire des choses intéressantes comme l'ajout de contrôle vocal. Si vous souhaitez ajouter des composants électriques haute tension dans le circuit de relais, vous devez vous assurer que vous utilisez un relais de valeur nominale sur le câble sous tension, et assurez-vous de placer tout ce qui est éloigné des doigts indiscrets. des bébés, ou maman. Sérieusement, soyez en sécurité.

S'il vous plaît postez vos questions, commentaires, commentaires et haïkus dans la case ci-dessous - mais gardez à l'esprit que je vais vous noter sur l'utilisation de la grammaire.

In this article