- Composants requis
- Lien API pour obtenir les données en direct Corona
- Schéma
- Programmation ESP32 pour Covid19 Tracker
- Test du désinfectant automatique pour les mains avec Covid19 Tracker
Le virus Corona (Covid19) fait des ravages dans le monde. Presque tous les pays souffrent du virus Corona. L'OMS a déjà annoncé une pandémie et de nombreuses villes sont en situation de verrouillage, les gens ne peuvent pas sortir de chez eux et des milliers de personnes ont perdu la vie. De nombreux sites Web fournissent des mises à jour en direct des cas de coronavirus tels que le traqueur de Microsoft, le traqueur Covid19 d'Esri, etc.
Dans ce projet, nous allons construire un distributeur automatique de désinfectant pour les mains avec un écran LCD qui affiche également le nombre en direct des cas de coronavirus. Ce projet utilisera ESP32, un capteur à ultrasons, un module LCD 16x2, une pompe à eau et un désinfectant pour les mains. Nous utilisons l'API Explorer d'Esri pour obtenir les données en direct des personnes infectées par Covid19. Un capteur à ultrasons est utilisé pour vérifier la présence des mains sous la sortie de la machine à désinfecter. Il calculera en continu la distance entre la sortie du désinfectant et lui-même et indiquera à l'ESP d'allumer la pompe chaque fois que la distance est inférieure à 15 cm pour pousser le désinfectant.
ESP32 est utilisé comme contrôleur principal, c'est un module Wi-Fi qui peut facilement se connecter à Internet. Nous l'avons précédemment utilisé pour créer de nombreux projets basés sur l'IoT à l'aide d'ESP32.
Composants requis
- Module de développement ESP32
- Capteur à ultrasons
- Écran LCD 16 * 2
- Module de relais
- Mini pompe submersible DC
- Gel hydroalcoolique
Lien API pour obtenir les données en direct Corona
Ici, nous devons obtenir les données d'Internet, puis les envoyer à ESP32 pour les afficher sur un écran LCD 16x2. Pour cela, une requête HTTP get est appelée pour lire le fichier JSON sur Internet. Ici, nous utilisons l'API fournie par Coronavirus Disease GIS Hub. Vous pouvez facilement compiler l'URL de requête correcte pour obtenir le total des cas confirmés et récupérés pour l'Inde et pouvez également modifier le pays / la région si vous souhaitez l'utiliser pour un autre pays.
Cliquez maintenant sur "Essayer maintenant" ou collez l'URL de la requête dans un nouveau navigateur, la sortie de cette requête ressemblera à ceci:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," fields ":," features ":}
Après avoir obtenu les données JSON, générez maintenant le code pour lire les données JSON et formulez-le en fonction de nos besoins. Pour cela, allez dans l'assistant ArduinoJson et collez les données JSON dans la section Entrée.
Maintenant, faites défiler jusqu'au programme d'analyse et copiez la section de code qui vous est utile. J'ai copié les variables ci-dessous car je n'avais besoin que des cas confirmés et récupérés en Inde.
Schéma
Le schéma de circuit complet pour ce traqueur Covid19 et distributeur automatique de désinfectant pour les mains est donné ci-dessous
La pompe à eau est connectée à l'ESP32 via un module relais. Les broches Vcc et GND du relais sont connectées aux broches Vin et GND de l'ESP32 tandis que la broche d'entrée du relais est connectée à la broche D19 de l'ESP32. Les broches Trig et Echo du capteur à ultrasons sont connectées aux broches D5 et D18 d'Arduino.
Les connexions complètes sont données dans le tableau ci-dessous.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | Potentiomètre |
RS | D22 |
RW | GND |
E | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
UNE | 5V |
K | GND |
Capteur à ultrasons | ESP32 |
Vcc | Vin |
GND | GND |
Trigonométrie | D5 |
ÉCHO | D18 |
Le matériel de ce distributeur de désinfectant pour les mains à détecteur de mouvement ressemblera à ceci
Programmation ESP32 pour Covid19 Tracker
Le code complet du désinfectant pour les mains automatique et du traqueur CORONA19 se trouve à la fin de la page. Ici, des parties importantes du programme sont expliquées.
Démarrez le code en incluant tous les fichiers de bibliothèque requis. La bibliothèque HTTPClient est utilisée pour obtenir les données du serveur HTTP. La bibliothèque ArduinoJson est utilisée pour formuler les tableaux de données. Ici, la bibliothèque ArduinoJson est utilisée pour filtrer les cas confirmés et récupérés à partir du tableau de données que nous obtenons du serveur. La bibliothèque LiquidCrystal est utilisée pour le module d'affichage LCD.
#comprendre
Pour obtenir les données du serveur, NodeMCU ESP32 doit se connecter à Internet. Pour cela, entrez votre SSID et votre mot de passe Wi-Fi dans les lignes ci-dessous.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Après cela, définissez les broches sur lesquelles vous avez connecté le module LCD, le capteur à ultrasons et le module de relais.
const int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21; LiquidCrystal LCD (rs, en, d4, d5, d6, d7); const int trigPin = 5; const int echoPin = 18; const int pump = 19;
Maintenant, nous entrons le lien API qui est généré plus tôt. En utilisant ce lien, nous obtiendrons le total des cas confirmés et des cas récupérés en Inde. Vous pouvez changer le nom du pays dans l'URL en fonction de vous.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=falseFieldedField,Rétabli";
Maintenant, dans la configuration vide () , définissez la broche de déclenchement et d'écho du capteur à ultrasons comme broches d'entrée et la broche de relais comme sortie.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (pompe, SORTIE);
Pour en savoir plus sur le fonctionnement du capteur à ultrasons, vérifiez son interface avec Arduino où nous avons expliqué la fonction de ses broches TRIG et ECHO ainsi que la façon dont il est utilisé pour calculer la distance entre n'importe quel objet. Vérifiez également d'autres projets basés sur les ultrasons.
Après cela, vérifiez si l'ESP est connecté au Wi-Fi, sinon il attendra que l'ESP se connecte en imprimant «…..» sur le moniteur série.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {délai (500); Serial.print ("."); // imprimer… jusqu'à ce que non connecté} Serial.println ("WiFi connecté");
À l'intérieur de la fonction void ultra () , nous calculerons en continu la distance à l'aide d'un capteur à ultrasons et si la distance est inférieure ou égale à 15 cm, elle allumera la pompe pendant 2 secondes pour pousser le désinfectant à l'extérieur à travers le tuyau. De façon inconsidérée, lorsque quelqu'un met ses mains sous le tuyau de sortie, la distance diminue et la pompe se met en marche.
void ultra () {digitalWrite (trigPin, LOW); delayMicrosecondes (2); digitalWrite (trigPin, HIGH); delayMicrosecondes (10); digitalWrite (trigPin, LOW); durée = pulseIn (echoPin, HIGH); distance = durée * 0,0340 / 2; Serial.println ("Distance"); Serial.println (distance); if (distance <= 15) {Serial.print ("Opening Pump"); digitalWrite (pompe, HAUT); retard (2000); digitalWrite (pompe, LOW); ESP.restart (); }}
Maintenant, dans la fonction void loop () , vérifiez si le fichier JSON reçu par l'ESP32 en le lisant et en imprimant les données JSON sur le moniteur série en utilisant les lignes suivantes
int httpCode = https.GET (); if (httpCode> 0) {// Vérifiez le code renvoyé String payload = https.getString ();
Après cela, utilisez le programme de phrasé généré par ArduinoJson Assistant. Ce programme de formulation nous donnera le total des cas confirmés et récupérés en Inde.
Champs JsonArray = doc; JsonObject features_0_attributes = doc; long features_0_attributes_Last_Update = features_0_attributes; int features_0_attributes_Confirmed = features_0_attributes; // int features_0_attributes_Deaths = features_0_attributes; int features_0_attributes_Recovered = features_0_attributes;
Test du désinfectant automatique pour les mains avec Covid19 Tracker
Donc, enfin, notre distributeur de désinfectant pour les mains à piles est prêt à être testé. Connectez simplement le matériel selon le schéma de circuit et téléchargez le programme dans ESP32, au début, vous devriez voir le message «Covid19 Tracker» et «Hand Sanitizer» sur l'écran LCD, puis après quelques secondes, il affichera les cas confirmés et les cas récupérés dans le Écran LCD comme indiqué ci-dessous.
De la même manière, vous pouvez obtenir ces données pour n'importe quel pays en apportant quelques modifications au lien API. Une vidéo de travail complète et le code sont donnés à la fin de la page.