- Composants requis:
- Capteur à ultrasons HC-SR04:
- Module Wi-Fi ESP8266:
- Schéma de circuit et explication:
- Explication du code:
- "; if (distance <5) {page Web + =" La corbeille est pleine ";} else {page Web + =" La corbeille est vide ";} page Web + ="
- Test et résultat du projet:
Dans ce bricolage, nous allons créer un système de surveillance des poubelles / ordures basé sur l'IOT qui nous dira que si la poubelle est vide ou pleine via le serveur Web et que vous pouvez connaître l'état de votre `` poubelle '' ou `` poubelles '' à partir de partout dans le monde sur Internet. Il sera très utile et pourra être installé dans les poubelles des lieux publics comme à la maison.
Dans ce projet IOT, un capteur à ultrasons est utilisé pour détecter si la poubelle est remplie d'ordures ou non. Ici, le capteur à ultrasons est installé en haut de la poubelle et mesurera la distance entre les déchets et le haut de la poubelle et nous pouvons définir une valeur seuil en fonction de la taille de la poubelle. Si la distance est inférieure à cette valeur seuil, cela signifie que la corbeille est pleine d'ordures et nous imprimerons le message «Le panier est plein» sur la page Web et si la distance sera supérieure à cette valeur seuil, nous imprimerons le message «Le panier est vide». Ici, nous avons défini la valeur de seuil de 5 cm dans le code du programme. Nous utiliserons le module Wi-Fi ESP8266pour connecter l'Arduino au serveur Web. Ici, nous avons utilisé le serveur Web local pour démontrer le fonctionnement de ce système de surveillance des déchets.
Composants requis:
- Arduino Uno (vous pouvez utiliser n'importe quel autre)
- Module Wi-Fi ESP8266
- Capteur à ultrasons HC-SR04
- Résistances 1K
- Planche à pain
- Fils de connexion
Capteur à ultrasons HC-SR04:
Le capteur à ultrasons est utilisé pour mesurer la distance avec une grande précision et des lectures stables. Il peut mesurer une distance de 2 cm à 400 cm ou de 1 pouce à 13 pieds. Il émet une onde ultrasonore à la fréquence de 40 KHz dans l'air et si l'objet vient sur son chemin, il rebondira vers le capteur. En utilisant ce temps qu'il faut pour frapper l'objet et revenir, vous pouvez calculer la distance.
Le capteur à ultrasons a quatre broches. Deux sont VCC et GND qui seront connectés au 5V et au GND de l'Arduino tandis que les deux autres broches sont des broches Trig et Echo qui seront connectées à toutes les broches numériques de l'Arduino. La broche de déclenchement enverra le signal et la broche d'écho sera utilisée pour recevoir le signal. Pour générer un signal ultrasonore, vous devrez rendre la broche Trig haute pendant environ 10us, ce qui enverra une rafale sonore de 8 cycles à la vitesse du son et après avoir frappé l'objet, elle sera reçue par la broche Echo.
Vérifiez davantage les projets ci-dessous pour bien comprendre le fonctionnement du capteur à ultrasons et pour mesurer la distance de tout objet l'utilisant:
- Mesure de distance basée sur Arduino à l'aide d'un capteur à ultrasons
- Mesure de distance à l'aide du HC-SR04 et du microcontrôleur AVR
Module Wi-Fi ESP8266:
ESP8266 est un module Wi-Fi qui permettra à vos projets d' accéder au Wi-Fi ou à Internet. C'est un appareil très bon marché mais il rendra vos projets très puissants. Il peut communiquer avec n'importe quel microcontrôleur et rendre les projets sans fil. Il fait partie de la liste de la plupart des principaux appareils de la plate-forme IOT. Il fonctionne sur 3,3 V et si vous lui donnez 5 V, il sera endommagé.
L'ESP8266 a 8 broches; le VCC et le CH-PD seront connectés au 3.3V pour activer le wifi. Les broches TX et RX seront responsables de la communication de l'ESP8266 avec l'Arduino. La broche RX fonctionne sur 3,3 V, vous devrez donc lui faire un diviseur de tension comme nous l'avons fait dans notre projet.
Schéma de circuit et explication:
Tout d'abord, nous allons connecter l'ESP8266 à l'Arduino. ESP8266 fonctionne sur 3,3 V et si vous lui donnez 5 V de l'Arduino, cela ne fonctionnera pas correctement et il pourrait être endommagé. Connectez le VCC et le CH_PD à la broche 3.3V d'Arduino. La broche RX de l'ESP8266 fonctionne sur 3,3V et ne communiquera pas avec l'Arduino lorsque nous la connecterons directement à l'Arduino. Donc, nous devrons faire un diviseur de tension pour cela. Trois résistances 1k connectées en série feront le travail pour nous. Connectez le RX à la broche 11 de l'Arduino à travers les résistances comme indiqué sur la figure ci-dessous et également le TX de l'Arduino à la broche 10 de l'Arduino.
Il est maintenant temps de connecter le capteur à ultrasons HC-SR04 à l'Arduino. Les connexions du capteur à ultrasons avec l'Arduino sont très simples. Connectez le VCC et la terre du capteur à ultrasons au 5V et à la terre de l'Arduino. Connectez ensuite les broches TRIG et ECHO du capteur à ultrasons aux broches 8 et 9 de l'Arduino respectivement.
Explication du code:
Avant de télécharger le code, assurez-vous que vous êtes connecté au Wi-Fi de votre appareil ESP8266. Vous pouvez vérifier le code complet dans la section Code ci-dessous, le code a été bien expliqué par les commentaires, nous avons également expliqué quelques fonctions importantes ci-dessous.
L'Arduino lira d'abord le capteur à ultrasons. Il enverra un signal ultrasonique à la vitesse du son lorsque nous rendrons la broche TRIG haute pendant 10us. Le signal reviendra après avoir heurté l'objet et nous stockerons la durée du temps de trajet dans la variable nommée durée . Ensuite, nous calculerons la distance de l'objet (garbage dans notre cas) en appliquant une formule et la stockerons dans la variable nommée distance .
digitalWrite (trigPin, LOW); delayMicrosecondes (2); digitalWrite (trigPin, HIGH); delayMicrosecondes (10); digitalWrite (trigPin, LOW); durée = pulseIn (echoPin, HIGH); distance = durée * 0,034 / 2;
Pour imprimer la sortie sur la page Web dans un navigateur Web, nous devrons utiliser la programmation HTML. Nous avons donc créé une chaîne nommée page Web et y avons stocké la sortie. Pour savoir si la poubelle est vide ou non, nous y avons appliqué une condition. Si la distance est inférieure à 5 cm, le message «Le panier est plein» s'affiche sur la page Web et si la distance est supérieure à 5 cm, le message «Le panier est vide» s'affiche sur la page Web.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {delay (1000); int connectionId = esp8266.read () - 48; String webpage = "
Système de surveillance des ordures IOT
"; page Web + =""; if (distance <5) {page Web + =" La corbeille est pleine ";} else {page Web + =" La corbeille est vide ";} page Web + ="
";Le code suivant enverra et affichera les données sur la page Web. Les données, que nous avons stockées dans la chaîne nommée «page Web», seront enregistrées dans la chaîne nommée «commande» . L'ESP8266 lira alors le caractère un par un de la «commande» et l'imprimera sur la page Web.
String sendData (commande String, timeout const int, débogage booléen) {String response = ""; esp8266.print (commande); long int time = millis (); while ((time + timeout)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); réponse + = c; }} if (debug) {Serial.print (réponse); } réponse de retour; }
Test et résultat du projet:
Après avoir téléchargé le code, ouvrez le moniteur série et il vous montrera une adresse IP comme indiqué ci-dessous.
Tapez cette adresse IP dans votre navigateur, il vous montrera la sortie comme indiqué ci-dessous. Vous devrez actualiser à nouveau la page si vous voulez voir à nouveau que la poubelle est vide ou non.
Donc, voici comment fonctionne ce système de surveillance des déchets, ce projet peut être encore amélioré en ajoutant quelques fonctionnalités supplémentaires, comme nous pouvons définir un message supplémentaire lorsque la corbeille est à moitié remplie ou nous pouvons déclencher un e-mail / SMS pour alerter l'utilisateur lorsque la corbeille Le panier est plein.