Étape 1: Schéma et Design Concepts
Lors de la conception de ce module, je voulais lui permettent d’être flexible. Avec le potentiel que je vais être volé pour mon appartement, je voulais être en mesure de rapidement changer les capteurs et les options adaptées à la demande. J’ai décidé d’inclure ces caractéristiques :
- Bouton Reset dédié : je voulais obtenir un bouton de réinitialisation dédié, ce qui n’est pas renseigné sur la chose.
- Dédié bouton Program : Comme je n’avais pas la base de FTDI, je voulais un bouton pour passer en mode bootloader sur la chose facilement.
- Buzzer avec substitution : pour donner des commentaires audio, j’ai inclus un buzzer, un cavalier donc il peut être utilisé comme une organisation internationale.
- I2C Breakout : Avoir l’I2C éclaté est un must. Tant de capteurs utilisent I2C, et c’est un protocole facile à interface pour.
- Connexion rapide : Un bornier avec le levier de presse a été un ajout rapide et facile au projet.
- S’inscrit dans une boîte de projet : Cela étant caché dans un endroit poussiéreux, je le voulais certainement dans une boîte pour le garder assez propre.
J’ai décidé d’aller avec du ruban de cuivre comme un capteur de contact, comme un micro a trop de jeu afin de détecter la quantité d’espace que nous traitons. Généralement, l’écart est inférieur à un quart de pouce, qui est risquer l’interrupteur ne pas déclencher, ou de déclencher trop tôt. J’ai débattu autour d’autres capteurs, comme capacitif ou même quelque chose de bizarre, comme encodeurs sur les portes. La bande de cuivre est un interrupteur simple, booléen, qui embrayera lorsque la porte est fermée. Il échouera « ouverts », qui va attirer votre attention sur le problème immédiatement et non après qu’il y a un problème. Les interrupteurs seront corrode au fil du temps, mais un peu de polissage avec de la laine acier semble peaufiner ce droit.
Avec ces instructions de conception en place, j’ai décidé d’exposer le schéma ci-dessus. J’ai présenté la version finale du schéma semblable à comment j’ai présenté au Conseil d’administration.
Quelques bizarreries, que j’ai découvert avec la chose :
- Il n’y a aucune broche reset éclaté, donc j’ai eu pour s’interfacer avec un pad test pour y accéder. J’ai voulu utiliser la broche reset dédié plutôt que la ligne DTR, parce qu’avoir bootez dans bootloader n’est pas utile si je voulais une réinitialisation rapide.
- L’interrupteur d’alimentation est vraiment ennuyeux à utiliser pour le programmer. En utilisant une base de FTDI (ligne DTR requis) est plus facile que l’utilisation d’autres FTDI et essayant de temps du cycle d’alimentation correctement.
- Dans ce même sens, si vous n’allez pas utiliser une base de FTDI, couper le cavalier DTR et faire les choses manuellement, avec la ligne reset et GPIO0. Il est plus facile que d’essayer de lutter avec la ligne DTR ou la puissance commutateurs.
- En utilisant le débit en bauds 921600 pour programmation est plus rapide, mais j’ai trouvé qu’il assez fréquemment des erreurs. Laissant tomber vers le bas pour le baud 512000 taux était plus efficace.
Les broches de sortie un milliampères 13 costaud, mais il n’était pas encore assez pour le buzzer, alors j’ai mis une résistance de chute en série pour s’assurer que le courant était plus faible. Il était encore assez bruyant et ennuyeux.