Table des matières:

Mangeoire intelligente pour animaux de compagnie : 9 étapes
Mangeoire intelligente pour animaux de compagnie : 9 étapes

Vidéo: Mangeoire intelligente pour animaux de compagnie : 9 étapes

Vidéo: Mangeoire intelligente pour animaux de compagnie : 9 étapes
Vidéo: Le Chien Le Plus Rapide Du Monde 2024, Juillet
Anonim
Image
Image
Mangeoire intelligente pour animaux de compagnie
Mangeoire intelligente pour animaux de compagnie

Avez-vous un animal de compagnie?

  • Non: adoptez-en un ! (et revenez à cette instructable).
  • Oui: bon travail !

Ne serait-il pas formidable si vous pouviez nourrir et donner de l'eau à votre bien-aimé sans annuler vos plans afin de rentrer à la maison à l'heure ? Nous disons ne vous inquiétez plus.

Dans ce projet, nous avons créé des distributeurs de nourriture et d'eau télécommandés (via le Web).

Grâce au tableau de bord en ligne, vous pouvez afficher les données et contrôler les distributeurs:

  • Voir les niveaux de nourriture et d'eau dans les réservoirs.
  • Voir les niveaux de nourriture et d'eau dans les bols.
  • L'animal mange-t-il ou boit-il à ce moment-là ?
  • Planifiez les tétées (l'appareil ne distribuera pas de nourriture s'il y a suffisamment de nourriture dans le bol).
  • Distribue automatiquement de l'eau lorsque le bol est vide.
  • Distribuez de la nourriture/de l'eau en appuyant sur un bouton.
  • Recevez des notifications push sur votre téléphone (par l'application Telegram).

Qui sommes nous?

Créé par Tom Kaufman et Katya Fichman, étudiants en informatique à IDC Herzliya.

Ce projet a été réalisé pour un cours IOT.

Fournitures

Électronique

  • 2 X ESP8266 (Wemos d1 mini).
  • Fils de cavalier.
  • 2 planches à pain.
  • 4 X capteur à ultrasons.
  • 2 X Cellule de charge.
  • 2 X Amplificateur de cellule de charge (HX711).
  • Servo (180°).
  • Servo (rotation continue).
  • Alimentation 2X6V.

les pièces

  • Distributeur de cornflakes (lien Amazon).
  • Entonnoir du distributeur de nourriture imprimé en 3D (https://www.thingverse.com/thing:3998805).
  • Attachement servo du distributeur de nourriture imprimé en 3D (https://www.thingverse.com/thing:3269637).
  • Support de distributeur de nourriture imprimé en 3D (conçu pour ce projet:
  • Base et plaque de cellule de charge imprimées en 3D (conçues pour ce projet:
  • Distributeur d'eau (lien Amazon vers quelque chose de similaire).
  • Fil (pour connecter le bouton du distributeur d'eau au servo).
  • 3 X support de capteur à ultrasons.

Étape 1: Comment ça marche ?

Comment ça marche?
Comment ça marche?

Les cartes ESP8266 envoient les lectures des capteurs à Node-RED via Mosquitto (courtier MQTT).

Node-RED traite les données, effectue des actions en conséquence (envoie également des commandes de distribution aux cartes ESP8266 via Mosquitto) et affiche des informations sur le tableau de bord.

Tous les calculs sont effectués dans Node-RED, il serait donc facile de répliquer ce projet et de modifier le traitement des données en fonction de vos paramètres et préférences sans vous salir les mains avec le codage.

Étape 2: Logiciels

Logiciels
Logiciels

IDE Arduino

Téléchargez et installez (lien:

Moustique

Téléchargez et installez (lien:

Node.js

Téléchargez et installez (lien:

Noeud-ROUGE

Suivez les instructions:

ngrok

Télécharger:

Télégramme

Installez l'application sur votre smartphone.

Étape 3: Disposition du circuit

Disposition du circuit
Disposition du circuit

* Les deux appareils ont des circuits identiques

Fontaine à eau

  • Capteur à ultrasons (pour le réservoir d'eau)

    • GND - G
    • VCC - 5V
    • ÉCHO - D5
    • DÉCLENCHEUR - D0
  • Capteur à ultrasons (pour la distance de l'animal à la gamelle)

    • GND - G
    • VCC - 5V
    • ÉCHO - D6
    • DÉCLENCHEUR - D7
  • Cellule de charge

    • VERT - A+ (HX711)
    • BLANC - A- (HX711)
    • NOIR - E- (HX711)
    • ROUGE - E+ (HX711)
  • HX711 (amplificateur de cellule de charge)

    • GND - G
    • VCC - 5V
    • DT-D4
    • SCK-D3
  • Servo (180°)

    • GND - G
    • VCC - 5V

Distributeur de nourriture

  • Capteur à ultrasons (pour le réservoir alimentaire)

    • GND - G
    • VCC - 5V
    • ÉCHO - D5
    • DÉCLENCHEUR - D0
  • Capteur à ultrasons (pour la distance de l'animal à la gamelle)

    • GND - G
    • VCC - 5V
    • ÉCHO - D6
    • DÉCLENCHEUR - D7
  • Cellule de charge

    • VERT - A+ (HX711)
    • BLANC - A- (HX711)
    • NOIR - E- (HX711)
    • ROUGE - E+ (HX711)
  • HX711 (amplificateur de cellule de charge)

    • GND - G
    • VCC - 5V
    • DT-D4
    • SCK-D3
  • Servo (rotation continue)

    • GND - G
    • VCC - 5V
    • CONTRLE - D8

Étape 4: Fabriquer

Artisanat
Artisanat
Artisanat
Artisanat
Artisanat
Artisanat

Fontaine à eau

  1. Collez le servo en haut de la partie inférieure du distributeur (comme indiqué sur la photo).
  2. Percez un petit trou dans le bouton du distributeur d'eau.
  3. Connectez la tête du servo au bouton avec un fil (assurez-vous que la tête du servo est en position 0 et assurez-vous que le fil est bien serré).
  4. Collez un capteur à ultrasons sur le côté intérieur du réservoir, près de son sommet (capteur vers le bas).
  5. Collez un capteur à ultrasons sous le bouton d'eau vers l'extérieur (assurez-vous qu'il est suffisamment haut pour que le bol d'eau n'affecte pas ses lectures).

Distributeur de nourriture

  1. Vissez le servo sur son support (pièce imprimée en 3D).
  2. Collez l'entonnoir (partie imprimée en 3D) sur le support du réservoir (partie imprimée en 3D).
  3. Connectez le support de réservoir au support du distributeur (pièce imprimée en 3D) et mettez le réservoir en place.
  4. Insérez la partie tournante (imprimée 3D) à sa place et à travers la partie en caoutchouc tournante du distributeur.
  5. Vissez la partie support du servo au support du distributeur.
  6. Collez un capteur à ultrasons sur le côté intérieur du couvercle du réservoir (capteur vers le bas).
  7. Collez un capteur à ultrasons sur le côté du support du réservoir orienté vers l'endroit où votre animal de compagnie mangera.

Des cellules de charge

Collez chaque cellule de charge sur la base et la plaque imprimées en 3D (flèche de la cellule de charge vers le bas)

Étape 5: Moustique

Moustique
Moustique

Ouvrez Mosquitto (utilisateurs de Windows: accédez au dossier Mosquitto, ouvrez cmd et saisissez: "mosquitto -v").

* Pour obtenir l'adresse IP interne de l'ordinateur, exécutez cmd et entrez "ipconfig".

Étape 6: IDE Arduino

IDE Arduino
IDE Arduino
IDE Arduino
IDE Arduino

Ouvrez l'IDE Arduino et suivez la partie "Installer le module complémentaire ESP8266 dans l'IDE Arduino" de ce guide:

Allez dans Outils->Tableau et choisissez "LOLIN(WEMOS) D1 R2 & mini".

Allez dans Sketch->Include Library->Add. ZIP Library… et ajoutez les 3 bibliothèques dans le fichier "Libraries.rar".

Ouvrez le croquis "HX711Calibration", téléchargez-le sur les deux ESP8266, exécutez-le et suivez les instructions (au début du code et dans le moniteur série) pour calibrer les cellules de charge (assurez-vous que le débit en bauds du moniteur série est réglé sur 115200 bauds).

* Notez le facteur d'étalonnage et le décalage du zéro (pour une utilisation ultérieure).

Ouvrez les croquis "FoodDispenser" et "WaterDispenser" via l'IDE et modifiez les variables suivantes avec vos paramètres (dans le fichier "Settings.h"):

  • WIFI_SSID
  • MOT DE PASSE WIFI
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* Dans MQTT_SERVER, entrez l'adresse IP interne de l'étape "Mosquitto".

Téléchargez les croquis sur vos deux ESP8266 (un code pour chaque carte).

* Notez que nous avons utilisé la bibliothèque "AsyncMqttClient" et non la bibliothèque "pubsubclient" plus courante puisque l'esp8266 plante lorsqu'il est combiné avec la bibliothèque "HX711".

* Si vous choisissez d'apporter des modifications au code, assurez-vous de ne pas utiliser les fonctions "delay" et "yield" dans les fonctions de rappel car cela provoquerait des plantages.

Étape 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Décompressez le fichier téléchargé (à partir du lien dans l'étape "Logiciels").

Ouvrez "ngrok.exe" et exécutez la commande "ngrok http 1880".

* Vous pouvez sélectionner la région la plus proche de vous (au, eu, ap, us, jp, in, sa). La valeur par défaut est nous.

Par exemple, exécutez la commande: "ngrok http --region=eu 1880" (définissez la région sur Europe).

Vous verrez maintenant votre adresse Web à usage externe (nous appellerons cette adresse YOUR_NGROK_ADDRESS).

Étape 8: Node-RED

Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE

Ouvrez Node-RED (utilisateurs Windows: ouvrez cmd et entrez "node-red") et accédez à https://localhost:1880 (si cela ne fonctionne pas, recherchez l'adresse dans la fenêtre cmd où il est écrit "Server now courir à").

Ouvrez le menu (en haut à droite) et appuyez sur "Gérer la palette".

Allez dans l'onglet "Installer", recherchez et installez ces modules:

  • node-red-contrib-persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • nœud-rouge-tableau de bord.
  • node-red-contrib-telegrambot.

Allez dans le menu->Importer et téléchargez le fichier de flux (extrayez le fichier RAR joint et téléchargez le fichier json).

Voir les images ci-jointes pour des explications sur le flux.

Vous devrez modifier ces nœuds avec vos paramètres:

  • Mettez à jour le profil du nœud "Telegram sender" avec le nom d'utilisateur et le token de votre bot (utilisez ce guide:
  • Au bas du flux, modifiez les charges utiles des nœuds "Ngrok Address" et "Telegram Chat Id" (obtenez votre identifiant de chat en utilisant le guide Telegram dans le lien ci-dessus).
  • Dans la partie inférieure du flux se trouvent des nœuds de paramètres - modifiez-les en fonction de vos besoins:

    • Activer les alertes que l'animal mange/boit.
    • Définir quelle est la distance pour activer l'alerte manger/boire.
    • Définir le traitement des données des bols et des réservoirs.
    • Modifiez les temps de distribution (pour combien de temps les distributions se produisent-elles - mode automatique et pression de bouton).
    • Définir le pourcentage de seuil de débordement du bol alimentaire (annuler la distribution automatique des aliments s'il y a suffisamment de nourriture dans le bol).

Déployez le flux (en haut à droite).

* Uniquement lors du premier déploiement, vous verrez un avertissement dans la fenêtre de débogage concernant le fichier 'persistance.json' manquant. Ne vous inquiétez pas car au moment où vous définirez les heures d'alimentation ou changerez le commutateur d'eau automatique, il initialisera ce fichier et vous n'aurez plus cet avertissement.

Vous pouvez afficher votre tableau de bord sur https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (si vous êtes connecté au même réseau local que le serveur) ou YOUR_NGROK_ADDRESS/ui (de partout).

Étape 9: Conclusion

Conclure
Conclure

Nous espérons que ce tutoriel a été instructif et facile à lire, à comprendre et à mettre en œuvre.

N'hésitez pas à nous demander n'importe quoi.

Conseillé: