Table des matières:
- Étape 1: Pièces et composants
- Étape 2: Le capteur
- Étape 3: personnalisation de l'horloge en temps réel
- Étape 4: Autres divers à bord
- Étape 5: Schéma
- Étape 6: Logiciel et logique
Vidéo: Postino : Le facteur a-t-il livré quelque chose ? : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Pas une idée de moi: un jour, un ami m'a demandé un moyen de vérifier à distance si du courrier postal se trouvait dans sa boîte aux lettres. La boîte aux lettres n'est pas sur le chemin menant à sa porte. Comme c'est un garçon paresseux, il s'est demandé si un gadget technologique devrait être capable de l'avertir de toute lettre dans la boîte aux lettres. J'ai regardé le marché et je n'ai pas trouvé d'appareil prêt à l'emploi adapté à ses besoins, alors je me suis lancé un défi: pourquoi ne pas le concevoir et le construire ?
Les contraintes étaient:
- alimenté par batterie avec une durée de vie raisonnable entre les changements de batterie;
- communication Wi-Fi;
- vérifier une seule fois par jour s'il y a eu du courrier ou non;
La question principale était: quel type de capteur pourrait répondre à mes besoins ? Un capteur de proximité ne pouvait pas fonctionner, car le contrôle ne devait être effectué qu'une fois par jour et non en temps réel; un capteur de poids non plus, car cela aurait ajouté des problèmes de complexité et de sensibilité (une feuille de papier pourrait être très légère). Mon choix s'est porté sur un capteur de temps de vol (un micro laser). Une fois calibré pour la taille de la boîte aux lettres, tout ce qui se trouvait au milieu aurait déclenché le capteur ! Compte tenu des 3 contraintes, j'ai décidé d'utiliser un ESP8266 (exécutant le logiciel et se connectant au WiFi), un capteur de temps de vol VL6180 pour la mesure et une horloge temps réel DS3231 pour déclencher tous les circuits une fois par jour: c'est ainsi Postino est né !
Étape 1: Pièces et composants
- ESP8266-01 (ou ESP-12E NodeMCU)
- Capteur de temps de vol VL6108
- DS3231 Horloge temps réel
- IRLZ44 MosFET à canal N
- Transistor BC547
- Résistances
- Pile CR123
Étape 2: Le capteur
Le cœur du système est le capteur VL6180. Il s'agit d'une technologie révolutionnaire permettant de mesurer la distance absolue indépendamment de la réflectance de la cible. Au lieu d'estimer la distance en mesurant la quantité de lumière réfléchie par l'objet (qui est considérablement influencée par la couleur et la surface), le VL6180X mesure avec précision le temps que prend la lumière pour se rendre à l'objet le plus proche et se refléter vers le capteur (temps -de-vol). Combinant un émetteur IR, un capteur de portée et un capteur de lumière ambiante dans un boîtier refusionnable prêt à l'emploi trois-en-un, le VL6180X est facile à intégrer et permet au fabricant du produit final d'économiser de longues et coûteuses optimisations de conception optique et mécanique.
Le module est conçu pour un fonctionnement à faible puissance. J'ai utilisé la carte de dérivation Pololu qui a des régulateurs de tension à bord qui lui permettent de fonctionner sur une plage de tension d'entrée de 2,7 V à 5,5 V.
Le capteur permet 3 facteurs d'échelle valides qui définissent la plage maximale de la mesure de 20 à 60 cm, avec différentes sensibilités. En configurant un facteur d'échelle de portée, la portée maximale potentielle du capteur peut être augmentée au prix d'une résolution inférieure. Le réglage du facteur d'échelle sur 2 fournit une plage jusqu'à 40 cm avec une résolution de 2 mm, tandis qu'un facteur d'échelle de 3 fournit une plage jusqu'à 60 cm avec une résolution de 3 mm. Vous devez tester les 3 échelles avec les dimensions de votre boîte aux lettres. Comme le mien était de 25 cm (H), j'ai utilisé le facteur d'échelle=1.
Étape 3: personnalisation de l'horloge en temps réel
Pour le RTC, j'ai utilisé une carte de dérivation DS3231 qui comprend une EEPROM (inutile pour mon objectif) et une pile de la taille d'une pièce. Comme j'ai décidé d'alimenter le RTC via la batterie principale de l'appareil (une CR123 3v), j'ai retiré la pile bouton; pour économiser de l'énergie, j'ai également retiré l'EEPROM (en coupant soigneusement ses broches) et la led embarquée.
La pile bouton ne m'a pas été utile car je n'avais pas besoin de garder la date/heure/minute/seconde en temps réel, mais le RTC n'avait qu'à compter pendant 24 heures puis déclencher l'alarme pour allumer l'appareil.
Étape 4: Autres divers à bord
La mise sous tension de l'appareil est réalisée par un transistor et un circuit MosFET, déclenchés par l'alarme RTC. Une fois l'alarme réinitialisée, le circuit coupe l'alimentation de l'appareil pour un autre cycle de 24 heures. Lorsque l'alarme est atteinte, le DS3231 fait passer une broche de haut en bas: dans des conditions normales, le transistor est saturé et court-circuite la grille du MosFET à la terre. Une fois que l'alarme met la base du transistor à la terre, elle s'ouvre et permet au MosFET de fermer le circuit et d'alimenter le reste des composants.
De plus, j'ai ajouté un cavalier "test-1M". Le but de ce commutateur est - s'il est activé - de changer le cycle d'une fois par jour à une fois par minute, afin d'exécuter des tests de déploiement. Afin de changer l'intervalle d'un jour à une minute, vous devez d'abord fermer le cavalier "Test-C" pendant environ 15 secondes, pour contourner la période d'activation de l'alarme de l'horloge et pour allumer l'appareil. Une fois les tests terminés, ouvrez les cavaliers et réinitialisez l'appareil (redémarrez l'alimentation).
Étape 5: Schéma
Étape 6: Logiciel et logique
Pendant les tests j'ai utilisé (pour des raisons pratiques) un contrôleur NodeMCU, donc le logiciel s'en charge en réglant la variable CHIP sur « NodeMCU » ou « esp8266 ».
L'esquisse implémente la bibliothèque WiFiManager pour permettre à l'appareil de se connecter à un point d'accès WiFi valide lors de la toute première exécution. Dans un tel cas, l'appareil passe en mode AP, vous permettant de vous y connecter et de choisir le bon réseau WiFi à rejoindre. Après cela, la configuration du réseau est enregistrée dans l'EPROM pour les cycles suivants.
La variable REST_MSG contient le message http à envoyer lorsque le capteur trouve un objet dans la boîte aux lettres. Dans mon cas, il envoie un message à un serveur REST domotique, mais vous pouvez le modifier à votre guise: un message Telegram BOT, un événement IFTTT WebHook, etc.
Le reste de l'esquisse se trouve dans la fonction setup(), car la boucle n'est jamais atteinte. Après les configurations nécessaires pour les différentes bibliothèques, le logiciel règle l'heure de l'horloge à 00:00:01 et l'alarme à une fois par jour (ou une fois par minute si le cavalier « test-1M » est activé). Ensuite, il fait la mesure, envoie la notification (si un objet est trouvé dans la boîte aux lettres) et réinitialise la broche d'alarme, arrêtant l'appareil. A la fin du cycle, seul le RTC est allumé, comptant pendant 24 heures. Le cavalier Test-1M est connecté à la broche RX de l'ESP8266, utilisé comme GPIO-3 au moyen du réglage: setMode(PIN, FUNCTION_3). Pour cette raison, vous ne pouvez pas utiliser le moniteur série lors de l'exécution de l'ESP8266: la ligne « #define DEBUG » (qui permet toutes les impressions série dans le croquis) n'est utilisée que lorsqu'un NodeMCU est installé à la place d'un ESP8266.
L'ESP8266 gère la communication I2C avec le RTC et le capteur via ses broches GPIO-0 et GPIO-2, initialisées dans la bibliothèque Wire.
Le code complet peut être téléchargé à partir de ce lien.
Finaliste du concours de technologie d'assistance
Conseillé:
ESP quelque chose : 6 étapes
ESP Something : Mon but ici est de partager mon expérience avec l'ESP8266 via les modules ESP-01, ESP-12 et NodeMCU. Comment connecter ESP-01 à votre ordinateur2. Rechargez le firmware AT3. Utilisez Arduino IDE pour programmer le chip4. Expérience de nœud MCU5
Compteur intelligent avec unité de correction automatique du facteur de puissance : 29 étapes
Compteur intelligent avec unité de correction automatique du facteur de puissance : un compteur bidirectionnel avec un gadget de modification automatique du facteur de puissance examine la puissance active et réactive et, en outre, le facteur de puissance de la tension de ligne et la détection du courant de ligne par le capteur de tension et de courant
Faites quelque chose de sympa avec une console de jeu cassée : 6 étapes
Faites quelque chose de sympa avec une console de jeu cassée : Il y a quelque temps, mon ami m'a donné sa vieille PS2 qui ne fonctionne plus. Malheureusement, comme je ne suis pas ingénieur électricien, je ne peux pas réparer la console, mais je peux utiliser mes connaissances de RetroPie pour créer un tout nouveau système de jeu. (Pour ce instructable je
Comment modifier un moteur à courant continu en quelque chose d'incroyable : 5 étapes
Comment modifier le moteur à courant continu en quelque chose d'incroyable : Bonjour les amis dans ce instructable, j'ai apporté une modification incroyable à mon ancien moteur à courant continu dans lequel le corps du moteur est retiré et la rotation du rotor est clairement visible…Continuer la lecture
Transformez un gadget en plastique générique en quelque chose d'un peu plus beau : 14 étapes (avec photos)
Transformez un gadget en plastique générique en quelque chose d'un peu plus beau : Motivation : Pendant l'été, je surfe ou je travaille sur des projets autour de notre petit jardin/ferme. L'hiver est à nos portes ici à Boston et je suis prêt à commencer à attaquer la longue liste de projets que j'ai reportés pour les "mois en salle". Cependant, j'ai