Table des matières:
- Fournitures
- Étape 1: connexion du HC-SR04
- Étape 2: Mosquitto et Paho MQTT
- Étape 3: programme Python pour capteur à ultrasons
- Étape 4: Node-RED
- Étape 5: Enregistrement des données
- Étape 6: Mise en page
- Étape 7: Conclusion
Vidéo: Système d'ordures : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Nous avons décidé d'essayer de trouver un moyen de suivre soit le remplissage des ordures communautaires d'un quartier, soit un capteur dans chaque ordure du quartier pour essayer de rendre l'élimination des ordures plus efficace. Nous pensions que si un camion venait toutes les deux semaines pour une collecte, et si moi ou mon voisin finissions par en jeter un peu. Ne serait-il pas inefficace d'envoyer un camion là où la moitié du quartier n'a pas envoyé de poubelles pleines ? Ce serait bien s'il était possible de voir les poubelles de nos voisins se remplir et ensuite utiliser leurs poubelles si les miennes étaient pleines et les leurs étaient vides et vice versa. Nous avons décidé d'utiliser le capteur à ultrasons HC-SR04 avec un Raspberry Pi pour tenter de mener à bien ce projet.
Fournitures
Capteur à ultrasons (HC-SR04)
Raspberry Pi (nous avons utilisé le Pi 4 modèle B)
Planche à pain
Câbles de démarrage
Couple de résistances (3 x 1k ohm)
Étape 1: connexion du HC-SR04
Puisque nous utilisons le Raspberry Pi, nous devons utiliser un diviseur de tension pour réguler la tension entrant dans les broches GPIO du Pi car elles n'autorisent que 3,3 V. Le HC-SR04 utilise 5V mais doit être ramené à 3,3V lors de sa connexion au Pi. Connectez respectivement les broches 5V et de masse et selon votre programme, attachez les broches d'écho et de déclenchement aux broches respectueuses. Dans notre programme, nous avons utilisé respectivement les broches 23 et 24 pour l'écho et le déclenchement.
Étape 2: Mosquitto et Paho MQTT
Avant de commencer à programmer sur Python pour que le capteur à ultrasons fonctionne avec le Pi, nous devons installer ces applications pour que le capteur à ultrasons communique avec notre logiciel de programmation Node-RED. Mosquitto est un courtier MQTT que vous pouvez utiliser sur le Pi tandis que Paho MQTT est la bibliothèque qui vous permet de coder en Python pour que le capteur communique avec le courtier MQTT. Pour installer les deux, vous devez taper ces commandes sur votre terminal Pi
mise à jour sudo apt
sudo apt install -y mosquitto mosquitto-clients
sudo apt-get installer python3-pip
sudo pip3 installer paho-mqtt
Étape 3: programme Python pour capteur à ultrasons
C'est le programme que j'ai utilisé pour lire les données entrantes du capteur et également les publier sur le courtier MQTT.
Étape 4: Node-RED
Certains nœuds ne sont pas préinstallés dans le programme, vous devrez donc peut-être l'installer à partir des palettes. Ceux que vous devez installer sont node-red-dashboard et node-red-node-sqlite.
C'est là que nous commençons à utiliser notre logiciel de programmation et le capteur. Le premier nœud dont vous auriez besoin est le nœud MQTT-in et qui nous permet d'utiliser notre capteur exécutant le programme d'en haut pour envoyer des données à ce logiciel. Le nœud de plage que nous avons utilisé retourne les valeurs que nous avons (c'est-à-dire que 5 cm est plein du programme, nous le retournons donc à 100%). Après le nœud de plage, nous avons 2 nœuds de fonction, un pour afficher le message sur notre tableau de bord et un pour montrer un visuel que la poubelle est pleine. Le programme des nœuds de fonction est joint.
Si possible, ce flux pourrait être utilisé pour plusieurs capteurs à ultrasons. Pour notre projet cependant, nous avons dû faire des données de simulation car nous n'étions pas en mesure de mettre la main sur plus de capteurs. La façon dont nous avons procédé est très similaire, mais nous avons des boutons sur lesquels l'utilisateur peut cliquer pour ajouter au hasard 1 à 10 pour cent des déchets dans chacun des déchets. Nous avons utilisé 2 boutons, un pour ajouter des déchets et un pour effacer. La jauge, les messages et l'indicateur sont toujours exactement les mêmes, le code pour compter et garder le décompte des ordures est cependant un peu différent.
Étape 5: Enregistrement des données
Nous avons décidé que ce serait une bonne idée de noter le niveau de remplissage des poubelles lorsque le camion vient vider les poubelles. Avec l'aide du nœud sqlite, nous sommes en mesure de lire et d'écrire des données qui les enregistrent également sur le Pi. Vous auriez besoin d'installer ce nœud comme je l'ai déjà dit.
Les étapes de création et d'enregistrement des données sont les suivantes:
1. Créez la base de données
2. Enregistrez les données
3. Tirez les données à afficher sur notre tableau de bord
4. Effacer et supprimer les données
La façon dont SQL fonctionne est que vous devez créer, exécuter le sujet qui sont CREATE TABLE, INSERT INTO, SELECT FROM et DELETE FROM. En utilisant des nœuds d'horodatage, nous pouvons exécuter des sujets sur le nœud sqlite qui effectue chacune de ces fonctions (créer, insérer, sélectionner et supprimer). Nous n'avons besoin de créer la base de données qu'une seule fois et une fois cela fait, nous pouvons y enregistrer des données. Une fois la base de données créée, nous pouvons enregistrer les données et nous avons à nouveau utilisé les entrées de l'utilisateur pour enregistrer l'arrivée du camion. Nous avons fait en sorte que vous ne puissiez pas enregistrer de données tant que le camion n'est pas autorisé à venir, ce qui représente 5 poubelles à 80% de sa capacité (considéré comme plein). Nous avons également utilisé à nouveau le nœud de plage pour redimensionner le 500 à 0-100 %. Nous avons ensuite la possibilité de supprimer toutes les données de la base de données si nous le souhaitons. Le nœud de la table UI est un nœud qui nous permet de voir la table d'une manière bien formatée sur notre tableau de bord.
Étape 6: Mise en page
Une fois tout cela terminé, vous pouvez créer une mise en page que vous souhaitez avec l'aide de Node-RED. Sur l'onglet latéral, vous pourrez les espacer comme vous le souhaitez et vous disposez de nombreuses autres options de personnalisation. Vous trouverez également ci-joint mon flux pour l'ensemble de mon programme.
Étape 7: Conclusion
À la fin de ce projet, il y a des domaines où nous pouvons voir le programme se développer davantage. Je n'ai jamais trouvé un moyen de faire la journalisation automatiquement car la seule façon de le faire était de la journaliser à un intervalle et nous n'aurions pas besoin de numéros répétés si le camion à ordures arrivait une fois. Je pense que cela est en partie dû à la façon dont nous avons décidé de le rendre fortement dépendant des nœuds de fonction et de la programmation, car nous sommes plus à l'aise avec cette programmation. Après avoir exploré après avoir terminé, il était clair qu'il y avait des nœuds faits pour tout et cela aurait pu rendre la vie beaucoup plus facile si nous avions trouvé la fonction des nœuds switch et rbe plus tôt. Il y avait aussi un nœud conçu pour les capteurs à ultrasons que nous n'avons pas pu travailler. Cela aurait facilité les choses car il n'y aurait pas eu besoin de MQTT ou du programme Python car il s'agit simplement d'un nœud avec les broches de déclenchement et d'écho. Nous avons décidé de contourner ce problème en créant le programme Python comme vous l'avez vu ci-dessus. Un énorme conseil pour tous ceux qui souhaitent se plonger dans Node-RED est que vous devez utiliser beaucoup de nœuds de débogage pour déterminer si chaque flux fonctionne et génère ce que vous voulez / avez besoin.
Conseillé:
Système domotique WiFi ultra-basse consommation : 6 étapes (avec photos)
Système domotique WiFi ultra-basse consommation : Dans ce projet, nous montrons comment vous pouvez construire un système domotique local de base en quelques étapes. Nous allons utiliser un Raspberry Pi qui fera office de périphérique WiFi central. Alors que pour les nœuds d'extrémité, nous allons utiliser IOT Cricket pour créer une batterie
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Système de tri des couleurs : système basé sur Arduino avec deux courroies : 8 étapes
Système de tri par couleur : Système basé sur Arduino avec deux courroies : Le transport et/ou l'emballage des produits et articles dans le domaine industriel se fait à l'aide de lignes réalisées à l'aide de courroies transporteuses. Ces courroies aident à déplacer l'article d'un point à un autre avec une vitesse spécifique. Certaines tâches de traitement ou d'identification peuvent être
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : 3 étapes
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : Vous cherchez à faire un projet simple et intéressant avec Arduino qui en même temps pourrait être vraiment utile et potentiellement sauver des vies ? Si oui, vous êtes au bon endroit pour apprendre quelque chose de nouveau et d'innovant. Dans cet article, nous allons
Comment connecter et configurer correctement un mini système d'étagère HiFi (système audio) : 8 étapes (avec photos)
Comment connecter et configurer correctement un mini système d'étagère HiFi (système audio) : je suis une personne qui aime apprendre l'ingénierie électrique. Je suis une école secondaire à l'école Ann Richards pour les jeunes femmes leaders. Je fais cette instructable pour aider tous ceux qui veulent profiter de leur musique à partir d'un Mini LG HiFi Shelf Syste