Table des matières:

Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero : 10 étapes
Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero : 10 étapes

Vidéo: Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero : 10 étapes

Vidéo: Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero : 10 étapes
Vidéo: Mon avis sur la Nuki Smartlock dans ma maison Homekit avec les shortcuts 2024, Novembre
Anonim
Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero
Quincaillerie pour ouvre-porte de garage Raspberry Pi Zero

L'une des inspirations de ce projet était l'excellent instructable à l'ouvre-porte de garage Raspberry Pi 3, ainsi que plusieurs autres trouvés sur Internet. N'étant pas un électronicien chevronné, j'ai fait de nombreuses recherches supplémentaires sur les moyens d'interfacer avec le Raspberry Pi et j'ai beaucoup appris sur l'importance des résistances avec des ampoules LED et avec tout le câblage GPIO. J'ai également découvert les avantages des circuits matériels pull-up et pull-down par rapport à la fonctionnalité Pi intégrée.

Parce que ce projet de porte de garage est vraiment un processus en plusieurs parties comprenant du matériel Pi, des logiciels et une installation avec vos ouvre-portes de garage, j'ai pensé que je me concentrerais d'abord sur le matériel Pi, car il est nécessaire pour toutes les autres étapes.

Mon approche doit être très basique, agissant comme un résumé de l'apprentissage que j'ai fait pour pouvoir compléter le matériel. Cela commencera par quelques informations, puis nous construirons des circuits sur une maquette. Chaque étape affinera notre conception et nos connaissances, aboutissant à la construction d'une solution matérielle permanente pour interfacer le Pi avec un relais et des capteurs Reed.

De plus, contrairement à d'autres projets, j'ai décidé d'utiliser un Raspberry Pi Zero W, que j'ai mis en vente il y a quelque temps mais qui était toujours inutilisé sur mon bureau. L'avantage est que, lors du prototypage, si j'endommageais l'un des circuits GPIO, il était bon marché et facile à remplacer et à poursuivre le prototypage. L'inconvénient est qu'il n'a qu'un processeur ARMv6, donc certaines choses, comme Java, ne seront pas utilisables.

L'autre chose que j'ai décidé de faire était de créer ma propre carte d'extension pour les circuits, donc devrais-je changer ou remplacer mon Pi, tant que les brochages sont les mêmes, la carte devrait être facilement branchée sur le nouveau Pi. Cela, espérons-le, minimisera le câblage d'un nid de rat.

Mes hypothèses sont:

  • Vous êtes à l'aise pour souder
  • Vous savez déjà utiliser les commandes de base du terminal sur le Raspberry Pi
  • Vous utilisez Raspbian Buster ou une version plus récente.
  • Vous avez une interface avec la ligne de commande Pi; soit avec un moniteur dédié, un clavier, etc. ET/OU en utilisant SSH.
  • Vous connaissez le concept de base de la conception de circuits électriques; par exemple, vous connaissez la différence entre l'alimentation et la terre et vous comprenez le concept de court-circuit. Si vous pouvez installer une nouvelle prise de courant dans votre maison, vous devriez pouvoir suivre.

Fournitures

Selon votre degré de dévouement à ce projet, vous pouvez commencer avec les éléments nécessaires à chaque étape et continuer à partir de là. Beaucoup de ces pièces sont disponibles dans votre magasin local d'électronique ou de bricolage/fabricant, mais j'ai inclus des liens Amazon pour améliorer les descriptions.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (pour faire le HAT final pour le Pi)
  • Module de relais DC 5V à 2 canaux (obtenez un canal à 1 canal si vous avez une porte, 2 pour 2 portes, etc.)
  • Interrupteur de porte basculante, normalement ouvert (NON) (Si, à ce stade, vous ne faites que du prototypage et que vous souhaitez utiliser des interrupteurs à lames bon marché pour commencer, c'est très bien)
  • Electronic Fun Kit Bundle (il contenait toutes les résistances dont j'avais besoin, ainsi qu'une maquette et une unité d'alimentation pour aider à prototyper, tester et apprendre avant de faire la carte permanente). Si vous avez déjà tout cela, assurez-vous d'avoir quelques résistances de 10K, 1K et 330 ohms à portée de main.
  • Fils de cavalier de planche à pain (n'importe lequel fera l'affaire)
  • Fer à souder avec petite panne
  • Soudure à noyau de colophane
  • Nettoyant pour panne de fer à souder
  • Alimentation 9v de rechange (pour alimenter la maquette)
  • Cartes de prototypage bon marché pour la pratique de la soudure (facultatif)
  • Fonctionnement Raspberry Pi Zero ou Pi de votre choix
  • Broches d'en-tête pour le Raspberry Pi (si le vôtre n'a pas déjà l'en-tête)
  • En-têtes d'empilage à utiliser sur le protoboard HAT.
  • Petite pince à bec effilé
  • Kit tournevis de bijoutier
  • Petites pinces coupantes (pour couper le fil après soudure)
  • Pince à épiler
  • Du fil de petit calibre (je préfère le noyau solide) pour une utilisation sur le protoboard
  • Un peu de silicone (si vous choisissez d'utiliser des LED à montage en surface de 1,8 mm au lieu de celles fournies dans le kit)
  • J'ai trouvé qu'une lampe loupe était super utile pour voir le petit travail de soudure

Étape 1: Introduction au GPIO Raspberry Pi

L'interface principale que nous utiliserons avec le Raspberry Pi est le GPIO (General Purpose Input/Output).

Trouvez le schéma de broche approprié pour votre Pi ici. Cette instructable se concentrera sur le Pi Zero W v1.1.

Nous n'utiliserons que les broches GPIO vertes, en évitant les broches SDA, SCL, MOSI, MISO, etc. (J'ai découvert que certaines broches GPIO ont des objectifs particuliers, l'un des avantages du prototypage sur une maquette, alors je suis resté fidèle aux broches GPIO 17 (broche #11), 27 (broche #13) et 12 (#32) telles qu'elles étaient dans de bonnes positions pour ma planche à pain.

Les broches GPIO sont conçues pour fonctionner comme des commutateurs numériques (binaires); ils existent logiquement comme l'un des deux états: 1 ou zéro. Ces états dépendent du fait que la broche fournit ou reçoit une tension supérieure à un seuil particulier (1) ou fournit ou reçoit une tension inférieure à un seuil particulier. (Nous parlerons des seuils plus tard.)

Il est important de noter que, alors que le Raspberry Pi peut fournir à la fois 5V et 3,3V (3V3), les broches GPIO fonctionnent en utilisant jusqu'à 3,3V. Plus que cela et vous endommagez le GPIO et éventuellement l'ensemble du contrôleur. (C'est pourquoi nous prototypons sur une maquette et utilisons le Pi le moins cher possible !)

L'état des broches peut être manipulé soit par logiciel (sortie) soit par d'autres dispositifs alimentant l'état (entrée).

Essayons cela en utilisant quelques commandes SYSFS de base. Je ne sais pas si cela nécessite WiringPi, mais si vous rencontrez des problèmes, vous souhaiterez peut-être l'installer si vous utilisez l'image Raspbian minimale.

Tout d'abord, donnons-nous accès à GPIO 17:

sudo echo "17" > /sys/class/gpio/export

Vérifions maintenant la valeur du GPIO:

sudo cat /sys/class/gpio/gpio17/value

La valeur doit être zéro.

À ce stade, le GPIO ne sait pas s'il s'agit d'une entrée ou d'une sortie. Ainsi, si vous essayez de manipuler la valeur GPIO, vous recevrez « Erreur d'écriture: opération non autorisée ». Disons simplement à la broche qu'elle est sortie:

sudo echo "out" > /sys/class/gpio/gpio17/direction

Et maintenant, définissez la valeur sur 1:

sudo echo "1" > /sys/class/gpio/gpio17/value

Vérifiez à nouveau la valeur pour voir… et la valeur devrait être 1.

Félicitations, vous venez de créer une sortie GPIO et d'en changer l'état !

Maintenant, il y a un peu plus, mais apprenons d'abord quelques autres choses.

Étape 2: Comprendre les résistances

Donc, vous pouvez rechercher des résistances sur Wikipedia, mais que signifient-elles pour nous ? Ils protègent principalement nos composants.

Rappelez-vous, lorsque nous avons parlé des GPIO, qu'ils fonctionnent jusqu'à 3,3 V ? Cela signifie que si vous donnez plus que cela à une broche GPIO, vous pouvez la faire frire. Pourquoi est-ce important? Parfois, il y a de petites surtensions dans n'importe quel circuit et si le maximum est de 3,3 V, tout petit hoquet peut causer des problèmes. Fonctionner à la tension maximale est une proposition risquée.

Cela est particulièrement vrai pour les LED. Une LED consomme autant d'énergie que possible. En fin de compte, la LED s'éteindra, mais l'importante consommation de courant peut utiliser toute la puissance disponible dans un circuit, provoquant un dysfonctionnement.

Par exemple: que se passerait-il si vous mettiez une fourchette dans les deux broches d'une prise électrique ? Il y a peu ou pas de résistance et vous ferez sauter le disjoncteur. (Et probablement vous blesser au cours du processus.) Pourquoi le grille-pain ne le fait-il pas ? Parce que ses éléments chauffants offrent une résistance, et en tant que tels ne tirent pas toute la charge du circuit.

Alors, comment éviter que cela n'arrive à une LED ? En limitant la quantité de courant utilisée pour piloter la LED à l'aide d'une résistance.

Mais quelle taille de résistance ? Oui, j'ai lu quelques articles sur le Web et j'ai finalement opté pour une résistance de 330Ω pour 3,3V avec une LED. Vous pouvez lire tous leurs calculs et le découvrir vous-même, mais j'en ai testé quelques-uns sur une maquette et 330 ont très bien fonctionné. Une référence que j'ai vérifiée était sur les forums Raspberry Pi, mais une recherche Google en découvrira bien d'autres.

De même, les broches Pi GPIO ont besoin d'une protection contre les surtensions. Rappelez-vous comment j'ai dit qu'ils utilisent JUSQU'À 3,3 V ? Eh bien, un peu moins ne fera pas de mal. La plupart des projets utilisent des résistances de 1KΩ et j'ai fait de même. Encore une fois, vous pouvez le calculer vous-même, mais c'est un choix très populaire. Encore une fois, les forums Raspberry Pi fournissent quelques informations.

Si vous ne comprenez pas complètement cela, faites un peu plus de lecture. Ou suivez simplement les instructions. Celui qui fonctionne pour vous.

De nombreuses résistances sont étiquetées dans l'emballage mais une fois que vous les retirez, comment pouvez-vous les distinguer ? Les petites rayures colorées sur la résistance peuvent vous le dire.

Ensuite, nous allons câbler une simple LED sur une planche à pain avec de l'énergie pour démarrer les choses.

Étape 3: Câblage d'une LED

Câblage d'une LED
Câblage d'une LED

La première étape consiste à câbler une LED sur la maquette. Une fois que cela fonctionnera en toute sécurité, nous le connecterons au Raspberry Pi et le contrôlerons à partir de la broche GPIO.

Espérons que votre maquette est livrée avec une source d'alimentation pour 3,3 V. Sinon, vous pouvez tout câbler et le connecter directement au Pi.

Trouvez une LED et connectez-la à la planche à pain comme indiqué à l'aide d'une résistance de 330Ω. La branche la plus longue de la LED est l'anode, la branche la plus courte est la cathode. L'anode se connecte à l'alimentation 3,3 V tandis que la cathode se reconnecte à la terre. La résistance peut être soit avant la LED; cela n'a pas d'importance. Les couleurs de fil standard sont:

  • Rouge = 5V
  • Orange = 3.3V
  • Noir = terre

Une fois que vous avez câblé cette planche à pain et alimenté, la LED devrait s'allumer. Ne continuez pas à moins que cela ne fonctionne.

Étape 4: connexion de la LED au GPIO

Connexion de la LED au GPIO
Connexion de la LED au GPIO

Nous avons donc maintenant une LED fonctionnelle avec une résistance. Il est maintenant temps de connecter cette LED au Raspberry Pi. Notre objectif est de créer un GPIO de sortie et de connecter ce GPIO à la LED de sorte que lorsque nous ACTIVONS le GPIO, la LED s'allume. Inversement, lorsque nous DÉSACTIVONS le GPIO, la LED s'éteint. (Ceci sera utilisé plus tard comme circuit qui « appuiera » sur le bouton pour ouvrir la porte du garage.)

Coupez l'alimentation de la maquette et connectez le Pi comme indiqué. (Il est préférable de le faire pendant que le Pi est également éteint.) Nous avons connecté l'alimentation 3,3 V du GPIO 17 et la masse à l'une des broches de masse.

Maintenant, démarrez le Pi et la LED devrait être éteinte. Exécutez les mêmes commandes que nous avons faites précédemment pour configurer la broche GPIO et afficher la valeur:

sudo echo "17" > /sys/class/gpio/export

sudo echo "out" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

La valeur doit être zéro.

Activons maintenant le GPIO:

sudo echo "1" > /sys/class/gpio/gpio17/value

Cela devrait allumer la LED. Pour éteindre la LED, désactivez simplement le GPIO comme suit:

sudo echo "0" > /sys/class/gpio/gpio17/value

L'une des choses qui PEUT arriver est qu'avec suffisamment d'interférences ou de cycles marche/arrêt de la LED, vous remarquerez peut-être que la LED reste légèrement allumée. Il y a une raison à cela, et nous en reparlerons dans une prochaine étape.

Étape 5: Utilisation d'un relais pour piloter la LED

Utilisation d'un relais pour piloter la LED
Utilisation d'un relais pour piloter la LED

Comme indiqué à l'étape précédente, la LED remplace le « bouton » de la porte de garage. Cependant, alors que le GPIO peut alimenter notre LED, il ne peut pas "appuyer" sur le bouton de notre porte de garage. Une pression sur un bouton connecte essentiellement les deux bornes de bouton, effectuant en fait une pression sur un bouton. Ce dont vous avez besoin pour effectuer cette "presse" est un relais.

Un relais n'est rien de plus qu'un interrupteur alimenté par quelque chose. Dans ce cas, notre Raspberry Pi peut dire au relais d'"appuyer" sur le bouton de la porte de garage. Pour notre prototype, le Raspberry Pi dira au relais d'allumer la LED… juste pour que nous puissions tester notre circuit.

Ce qu'il faut savoir sur notre relais:

  • Le relais fonctionne à 5V. C'est le pouvoir uniquement pour faire fonctionner le relais et n'est utilisé dans aucune autre partie du circuit.
  • Nous voulons câbler notre relais comme "normalement ouvert". Cela signifie que le relais reste ouvert (ne pas connecter les deux fils, ou "appuyer sur le bouton", jusqu'à ce qu'il soit activé.
  • Ce relais particulier est activé lorsque le GPIO fournit une alimentation nulle au connecteur 3,3 V du relais. En effet, cela semble en arrière. Lorsque 3.3V est fourni, le relais est libéré. Restez avec nous sur ce projet et vous verrez comment cela fonctionne.
  • Les deux connexions des bornes de relais sont complètement séparées du Raspberry Pi. Cela signifie que vous pouvez commuter un fil avec n'importe quel courant nominal car il reçoit son courant d'une autre source d'alimentation. Le simple petit Raspberry Pi avec 3,3 V et 5 V pourrait en effet faire fonctionner un relais qui contrôle une tension beaucoup plus importante. C'est ainsi qu'un tout petit bouton sur votre tableau de bord peut faire fonctionner vos sièges chauffants à grand ampérage.

Alors, commençons.

Tout d'abord, rebranchez (mais éteignez) l'unité d'alimentation externe pour votre maquette. Cette alimentation fera fonctionner le circuit LED, tandis que le Raspberry Pi contrôlera le relais.

Ensuite, créez une coupure dans la ligne 3,3V alimentant la LED. (Avec les interrupteurs et les relais, on veut toujours commuter le "chaud", pas la terre.) Ceux-ci sont indiqués en orange et bleu sur le schéma.

Connectez le Raspberry Pi comme indiqué avec 5 V alimentant le relais, 3,3 V agissant comme interrupteur et la terre revenant au Raspberry Pi. Dans cet exemple, j'ai connecté le 3,3V au GPIO 17. Je recommande de connecter une résistance de 1KΩ au fil GPIO comme indiqué, pour protéger le GPIO des problèmes. (Ceci a été mentionné dans l'étape Résistances.)

Allumez la planche à pain et allumez maintenant votre Pi. La LED doit être allumée.

Exécutez maintenant les commandes suivantes sur le Pi:

sudo echo "17" > /sys/class/gpio/export

sudo echo "out" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

La valeur doit être zéro.

Activons maintenant le GPIO:

sudo echo "1" > /sys/class/gpio/gpio17/value

Cela devrait éteindre la LED.

Étape 6: Ajout d'une résistance pull-up

Ajout d'une résistance de pull-up
Ajout d'une résistance de pull-up

À ce stade, toutes vos affaires devraient fonctionner. Mais il y a une chose dont nous n'avons pas discuté à propos des GPIO, et c'est la tension "flottante" qui est possible en fonction du seuil que nous avons mentionné précédemment.

Alors que les GPIO ont généralement deux états logiques (1 et zéro), ils déterminent ces états en fonction de leur tension supérieure ou inférieure au seuil de tension, comme nous l'avons mentionné dans la section GPIO. Mais le problème dans la plupart des GPIO est la possibilité d'une tension "flottante"; dans le cas du Raspberry Pi, quelque part entre zéro et 3,3V. Cela peut être dû à des interférences ou à une augmentation/chute de tension dans un circuit.

Nous ne voulons pas d'une situation où notre relais de bouton de porte de garage peut simplement s'activer à partir d'une tension flottante. En effet, nous voulons qu'il ne s'active que lorsque nous le lui disons.

Des situations comme celle-ci sont résolues en utilisant des résistances pull-up et pull-down pour appliquer une tension particulière et éviter la tension flottante. Dans notre cas, nous voulons nous assurer de fournir une tension pour empêcher le relais de s'activer. Nous avons donc besoin d'une résistance de rappel pour amener la tension au-dessus du seuil. (Les seuils sont des choses amusantes… J'ai essayé de lire à leur sujet et de voir s'ils étaient bien définis et obtenaient beaucoup d'informations qui me dépassaient, et certaines semblaient trop simples. Qu'il suffise de dire qu'avec un multimètre, je pouvais voir cela la tension était inférieure à 3,3 V, mais comme tout fonctionnait au fur et à mesure que je l'ai prototypé, je viens de passer à autre chose. Votre kilométrage peut varier, et c'est pourquoi nous faisons une maquette avant de souder notre produit final.)

Bien sûr, le Raspberry Pi possède à la fois des résistances de pull-up et de pull-down internes que vous pouvez définir dans le code ou au démarrage. Cependant, il est très sensible aux interférences. Bien qu'il soit possible de les utiliser, puisque nous travaillons déjà avec des résistances dans un circuit, cela pourrait valoir la peine d'utiliser la stabilité externe.

Plus important encore, cela crée le pull-up et ajoute une tension suffisante pour que l'état de la broche GPIO soit défini par défaut sur 1 avant que le Pi ne s'initialise. Rappelez-vous comment notre relais a activé la LED était allumée lorsque nous avons initialisé le Pi pour la première fois jusqu'à ce que nous l'éteignions ? L'utilisation du pull-up empêche le relais de s'activer au démarrage car l'entrée du relais 3.3V reçoit une tension en même temps que l'entrée 5V reçoit une tension. Nous pourrions également le faire dans la configuration Pi si nous le souhaitons, mais encore une fois, puisque nous câbler avec des résistances de toute façon, cela semble moins vulnérable aux mises à jour et aux distributions du système d'exploitation.

Différentes configurations peuvent nécessiter différentes résistances, mais une résistance de 10 kΩ fonctionnait avec le relais que j'avais. La LED de mon relais était très faible au démarrage, mais le pull-up a fourni suffisamment de tension pour empêcher l'activation du relais.

Ajoutons une résistance pull-up à notre circuit. Dans le schéma de la maquette, j'ai ajouté une résistance de 10kΩ entre l'entrée 3,3V du relais et une source 3,3V.

Nous avons maintenant un circuit adapté pour "appuyer" sur le bouton de la porte de garage; remplacer la LED et la résistance de 330Ω par les fils des boutons réels devrait être facile.

Étape 7: Capteur de commutateur Reed

Capteur de commutateur à lames
Capteur de commutateur à lames

Tellement génial, nous savons à quoi ressemble notre circuit pour activer l'ouvre-porte de garage. Cependant, ne serait-il pas agréable de savoir si la porte du garage est fermée ou si elle est ouverte ? Pour ce faire, vous avez besoin d'au moins un commutateur à lames. Certains projets en recommandent deux, mais ils utiliseront tous les deux la même conception de circuit.

Nous utilisons une configuration de commutateur à lames "normalement ouvert" (NO). Cela signifie que notre circuit est ouvert jusqu'à ce que l'interrupteur à lames soit à proximité de l'aimant, ce qui fermera le circuit et permettra à l'électricité de circuler.

Les principales différences entre la configuration du capteur et la configuration du relais sont:

  • Le GPIO connecté au capteur va détecter l'alimentation, il s'agira donc d'un GPIO d'entrée (alors que le relais utilisait un GPIO de sortie qui fournissait la tension)
  • Parce que l'état par défaut existe comme normalement ouvert, cela signifie que notre circuit ne sera pas actif. En tant que tel, l'état GPIO doit être 0. A l'inverse du concept de la résistance de rappel sur le circuit de relais, nous voudrons nous assurer que notre tension est inférieure au seuil lorsque le circuit est ouvert. Cela nécessitera une résistance pull-down. C'est fondamentalement le même que le pull-up, mais connecté à la terre au lieu de l'alimentation.

Tout comme le circuit de relais, nous allons câbler des éléments sur une planche à pain avant de le connecter au Pi.

Utilisons notre maquette alimentée et connectons une LED, une résistance de 330Ω et un fil de terre. Branchez ensuite 3,3 V d'un côté du commutateur à lames et un cavalier de l'autre côté du commutateur à la LED. (Si vous avez un commutateur à lames qui prend en charge NO et NC, utilisez la position NO.) Éloignez l'aimant du commutateur à lames et allumez la planche à pain. La LED doit rester éteinte. Déplacez l'aimant vers le commutateur à lames et la LED devrait s'allumer. Si c'est le contraire, vous l'avez câblé pour NC (normalement fermé)

Étape 8: connexion du commutateur Reed au Pi

Connexion du commutateur Reed au Pi
Connexion du commutateur Reed au Pi

Alors maintenant que le circuit fonctionne sans le Pi, nous pouvons couper l'alimentation de la planche à pain et nous connecterons le Pi.

Nous utiliserons à nouveau GPIO17 car nous savons déjà où il se trouve.

Tout comme le circuit de relais, nous allons protéger la broche GPIO avec une résistance de 1KΩ; cependant, nous utiliserons une résistance de 10 kΩ à la terre pour créer un pull-down.

Une fois que nous avons tout câblé, éloignons l'aimant du commutateur Reed, démarrons le P, i et accédons à une ligne de commande et initialisons le GPIO, en notant que cette fois nous créons un GPIO d'entrée:

sudo echo "17" > /sys/class/gpio/export

sudo echo "in" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

La valeur doit être zéro. Déplacez l'aimant vers le commutateur à lames. Le voyant LED doit s'allumer et la valeur est 1.

Voila ! Nous avons câblé notre interrupteur à lames au Pi !

Étape 9: Créer une solution permanente sur une carte de prototypage

Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage
Faire une solution permanente sur une carte de prototypage

Maintenant que nous savons à quoi devraient ressembler nos circuits, il est temps de souder une version permanente sur une carte de prototypage. Depuis que j'utilise un Pi Zero W, j'ai obtenu des petites cartes proto.

J'ai pensé qu'il serait bien d'utiliser le format Zero et de pouvoir empiler une ou plusieurs cartes, un module complémentaire que Raspberry Pi appelle HAT (Hardware Attached on Top). Eh bien, techniquement, puisqu'il n'a aucun type d'EEPROM et ne s'enregistre pas, ce n'est pas un HAT mais je dois l'appeler quelque chose. Mais le format se monte bien et élimine un nid de rats de câblage, donc c'est bien.

Le défi est que les cartes proto sont plutôt petites, donc vous ne pouvez pas en mettre beaucoup. De plus, aucun des trous n'est connecté en rangées comme les plus grandes cartes proto. Bien que cela puisse sembler gênant, c'est en fait une bouée de sauvetage.

Ce que je pensais, c'est que je pouvais créer un CHAPEAU pour chaque porte de garage que je voulais contrôler. De cette façon, vous pourriez étendre ce projet pour répondre à vos besoins.

Sur la carte proto, j'ai trouvé qu'il y avait juste assez de place pour créer trois circuits:

  1. circuit relais
  2. circuit de capteur
  3. deuxième circuit de capteur

C'est assez bon pour tout projet de porte de garage.

J'ai donc utilisé GPIO17 et 27 pour les capteurs et GPIO12 pour le relais. La très bonne chose à propos de cette carte proto est que vous pouvez connecter le GPIO sans même toucher l'en-tête. Mais oui, vous aurez besoin de souder un en-tête d'empilage en plus de vos résistances (et, éventuellement, des LED).

J'ai à peu près recréé les circuits que nous avons prototypés sur la carte. Vous pouvez dire que ma soudure n'est pas parfaite mais elle fonctionne toujours. (Les prochaines cartes seront meilleures depuis que j'ai eu de la pratique.) J'ai un Aoyue 469 et juste un cheveu au-dessus du réglage 4 était la meilleure température basée sur les recommandations pour souder l'en-tête GPIO.

J'ai utilisé les rangées externes connectées pour la terre et l'intérieur pour 3,3V. Et j'ai utilisé le fil de résistance pour agir comme un pont puisque nous n'avions pas de lignes connectées. Les autres sont tous diagonaux et latéraux parce que c'était la meilleure façon que j'ai pu trouver pour les installer sur la planche.

De L-R (en regardant à l'avant, du côté de la résistance), les broches de sortie que j'ai ajoutées sont pour le fil GPIO du capteur, le deuxième fil GPIO du capteur et le fil GPIO du relais. Au lieu de câbler directement au GPIO, ce que nous pourrions faire à partir de l'en-tête, ces broches se connectent à toutes nos résistances et, dans le cas des capteurs, j'ai ajouté une microLED. (Notez comment la LED est dans une boucle complètement séparée, donc si elle grille, le circuit fonctionne toujours.)

Ci-joint un fichier Fritzing, mais comme Instructables rencontre des problèmes avec les téléchargements de fichiers, j'ai dû lui donner une fausse extension de "txt" afin de l'intégrer.

Étape 10: Références

Projet d'ouvre-porte de garage Raspberry Pi (l'inspiration)

Guide de l'idiot pour un ouvre-porte de garage Raspberry Pi

Ouvre-porte de garage iPhone ou Android

Dois-je utiliser une résistance ou non ?

Utilisation des résistances pullup et pulldown sur le Raspberry Pi

Configuration de SSH

Diagrammes de broches Raspberry Pi.

Commandes SYSFS

CâblagePi

Résistances et LED

Broches GPIO de protection (sic)

Calculateur et graphique de code de couleur de résistance

Résistances pull-up et pull-down

Seuils de tension GPIO

Niveaux de tension d'entrée GPIO

Contrôle GPIO dans config.txt

Résistance à la traction GPIO (sic)

Pourquoi avons-nous besoin de résistances de tirage externes alors que les microcontrôleurs ont des résistances de tirage internes ?

Qu'est-ce qu'un chapeau Raspberry Pi ?

Comment souder le connecteur GPIO Raspberry Pi Zero W

Conseillé: