Mise en route avec gpio sur un raspberry pi

vedette-IPD-gpioSi vous que le Arduino était cool, attendez juste jusqu`à ce que vous obtenez vos mains sur une Tarte aux framboises - Ces choses sont incroyables. En plus d`être un ordinateur entièrement fonctionnel, ils ont aussi une sélection de General Purpose Input / Output épingles. Tout comme un Arduino, nous pouvons les utiliser pour créer des projets d`électronique - et il est étonnamment facile à démarrer.

Aujourd`hui, nous allons connecter jusqu`à un relais et l`utiliser pour allumer une LED, mais vous pourriez tout simplement tourner aussi facilement sur une lampe.

Cette introduction sert de la première partie d`un projet plus vaste de la domotique. Christian a déjà jeté les bases sur la mise en route avec un Pi, donc je ne vais pas répéter les étapes initiales ici de télécharger un système d`exploitation ou de brancher la carte SD - Je suppose que vous avez un système de travail Raspian déjà mis en place.

Attention: Bien qu`un Raspberry Pi pouvez être utilisé de manière similaire à un Arduino, un peu plus de soins est nécessaire. Les broches du Pi fonctionnent à 3.3v, tandis que les utilisations Arduino 5v. Bien qu`il soit possible de briser un Arduino, il est beaucoup plus facile de briser un Pi que les broches se connectent directement à la puce à bord - envoi 5v là-bas peut faire frire.

Par conséquent, être très prudent d`essayer de reproduire les projets Arduino sur votre Pi - soit suivre un tutoriel spécifique Pi, ou être sûr d`avoir une bonne compréhension de l`électronique de base.

Exigences:

  • le transistor NPN, tel que P2N2222A
  • résistance 1k
  • Relay- J`utilise un 4-relais 5v module qui a plus un circuit de protection intégré (donc pas besoin de diodes supplémentaires
  • résistance LED et 220 ohms pour les tests
  • câble Breakout

Câble Breakout ( "Kit Cobbler")

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

évasion-câble

Bien que vous puissiez techniquement connecter directement des câbles volants terminés à ces femmes, ils ne sont pas étiquetés en aucune manière utile et vous êtes donc plus susceptibles de casser quelque chose. Au lieu de cela, obtenir un câble épanoui tel que le tson seul de Adafruit, ou l`un des nombreux clones moins chers sur eBay. Vous pouvez avoir besoin de souder ce que ça va venir sous forme de kit.

évasion à bord

Bien que le côté de la carte comporte une encoche en elle pour indiquer le placement correct des câbles, le côté Pi ne fonctionne pas. Veiller à ce que les 3v et 5v broches dans le coin de la Pi sont alignés avec les broches appropriées sur la carte. Bien sûr, si vous avez acheté un cas qui ne révèle pas l`en-tête de GPIO alors vous allez avoir besoin de courir avec Pi nu, ou découper un trou.

clair cas gpio

Alternativement, vous pouvez obtenir une pension complète qui affixes sur le dessus de votre Pi, et vient habituellement avec une sélection de composants utiles.

Circuit de base

Mettre en place le circuit tel que décrit ci-dessous. Je l`ai laissé sur le circuit de relais comme cela varie. Utilisez le NON (Normalement fermé) et COM bornes de votre relais pour votre LED ou tout autre appareil.

circuit

Utilisez la broche 4 de la Raspberry Pi. Sur mon conseil d`évasion, il est étiqueté + GPCLK0- quel que soit, il est le quatrième axe à compter de 3V3.

pin4

test de ligne de commande

Dans les exemples suivants, je suppose que vous êtes connecté via SSH ou autrement, comme l`utilisateur root. Sinon, vous aurez besoin de faire précéder certaines des commandes avec sudo pour des privilèges élevés.

Tout d`abord, nous devons installer WiringPi.

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

En supposant que tout va bien, nous devrions maintenant être en mesure de contrôler directement les GPIO de la ligne de commande comme ceci:

Le mode 4 outgpio gpio de -g écrire 4 1

La première commande est similaire à la fonction de configuration de l`Arduino où nous disons la broche d`utilisation de Pi 4 en tant que sortie. La commande suivante écrit une valeur de 1 à la broche, qui devrait déclencher le transistor, activer le relais, fermer le circuit pour la LED et allumez-le.

Génial. Si elle ne le fait pas, revenir en arrière et vérifier votre câblage. Est-ce que le relais cliquez?

Python

Bien que Python est pas le seul moyen de communiquer avec les broches GPIO, il est généralement considéré comme le plus facile, et il est le plus souvent trouvé dans les projets existants. Contrairement à C, Python est relativement facile à ramasser (Voici 5 sites pour apprendre Python).

Commencez par installer les extensions Python suivantes:

apt-get install python-devapt-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 dans ce qui suit (aussi ce pastebin):

import RPi.GPIO que GPIOimport timeGPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) pour x dans la plage (0,10): temps time.sleep (5) GPIO.output (4,1). sommeil (5) GPIO.output (4,0)

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

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

python test.py

fini

La semaine prochaine, nous allons élaborer le programme d`installation un peu et faire quelques choses passionnantes comme l`ajout d`une commande vocale. Si vous allez ajouter des éléments à haute tension électrique dans le circuit de relais, vous voulez être sûr que vous utilisez un relais correctement évalué sur le fil en direct, et assurez-vous de joindre tout il est donc loin des doigts indiscrets des bébés, ou maman. Sérieusement, fais attention.

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

» » Mise en route avec gpio sur un raspberry pi