- Erforderliche Komponenten
- API-Link zum Abrufen der Corona Live-Daten
- Schaltplan
- Programmieren von ESP32 für Covid19 Tracker
- Testen des automatischen Händedesinfektionsmittels mit Covid19 Tracker
Das Corona-Virus (Covid19) verursacht weltweit Chaos. Fast jedes Land leidet unter dem Corona-Virus. Die WHO hat bereits eine Pandemie angekündigt und viele Städte befinden sich in einer Sperrsituation, Menschen können nicht aus ihren Häusern treten und Tausende haben ihr Leben verloren. Viele Websites bieten Live-Updates der Coronavirus-Fälle wie Microsoft Tracker, Esri Covid19 Tracker usw.
In diesem Projekt werden wir einen Auto Hand Sanitizer Dispenser mit einem LCD bauen, der auch die Live-Anzahl der Coronavirus-Fälle anzeigt. In diesem Projekt werden ESP32, Ultraschallsensor, 16x2-LCD-Modul, Wasserpumpe und Händedesinfektionsmittel verwendet. Wir verwenden den API-Explorer von Esri, um die Live-Daten von Covid19-infizierten Personen abzurufen. Ein Ultraschallsensor wird verwendet, um das Vorhandensein von Händen unter dem Auslass des Desinfektionsgeräts zu überprüfen. Es berechnet kontinuierlich den Abstand zwischen dem Desinfektionsmittelauslass und sich selbst und weist das ESP an, die Pumpe einzuschalten, wenn der Abstand weniger als 15 cm beträgt, um das Desinfektionsmittel herauszudrücken.
ESP32 wird als Hauptcontroller verwendet. Es handelt sich um ein Wi-Fi-Modul, das problemlos eine Verbindung zum Internet herstellen kann. Wir haben es zuvor verwendet, um viele IoT-basierte Projekte mit ESP32 zu erstellen.
Erforderliche Komponenten
- ESP32 Dev Module
- Ultraschallsensor
- 16 * 2 LCD-Anzeige
- Relaismodul
- Mini DC Tauchpumpe
- Handdesinfektionsmittel
API-Link zum Abrufen der Corona Live-Daten
Hier müssen wir die Daten aus dem Internet abrufen und dann an ESP32 senden, um sie auf einem 16x2-LCD anzuzeigen. Dazu wird eine HTTP-Get-Anfrage aufgerufen, um die JSON-Datei aus dem Internet zu lesen. Hier verwenden wir die von Coronavirus Disease GIS Hub bereitgestellte API. Sie können einfach die richtige Abfrage-URL kompilieren, um die Gesamtzahl der bestätigten und wiederhergestellten Fälle für Indien abzurufen. Sie können auch das Land / die Region ändern, wenn Sie diese für ein anderes Land verwenden möchten.
Klicken Sie nun auf "Jetzt testen" oder fügen Sie die Abfrage-URL in einen neuen Browser ein. Die Ausgabe dieser Abfrage sieht folgendermaßen aus:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "ometryType ":" esriGeometryPoint "," räumliche Referenz ": {" wkid ": 4326," latestWkid ": 4326}," fields ":," features ":}
Nachdem Sie die JSON-Daten erhalten haben, generieren Sie jetzt den Code zum Lesen der JSON-Daten und formulieren Sie ihn gemäß unseren Anforderungen. Gehen Sie dazu zum ArduinoJson-Assistenten und fügen Sie die JSON-Daten in den Abschnitt Eingabe ein.
Scrollen Sie nun zum Parsing-Programm und kopieren Sie den für Sie nützlichen Codeabschnitt. Ich habe die folgenden Variablen kopiert, da ich nur die bestätigten und wiederhergestellten Fälle in Indien benötigte.
Schaltplan
Der vollständige Schaltplan für diesen Covid19 Tracker und die automatische Händedesinfektionsspendermaschine ist unten angegeben
Die Wasserpumpe ist über ein Relaismodul mit dem ESP32 verbunden. Die Vcc- und GND-Pins des Relais sind mit den Vin- und GND-Pins des ESP32 verbunden, während der Eingangspin des Relais mit dem D19-Pin des ESP32 verbunden ist. Trigger- und Echo-Pins des Ultraschallsensors sind mit den D5- und D18-Pins von Arduino verbunden.
Vollständige Verbindungen sind in der folgenden Tabelle angegeben.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | Potentiometer |
RS | D22 |
RW | GND |
E. | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
EIN | 5V |
K. | GND |
Ultraschallsensor | ESP32 |
Vcc | Vin |
GND | GND |
Trig | D5 |
ECHO | D18 |
Die Hardware für diesen Bewegungssensor-Händedesinfektionsspender sieht folgendermaßen aus
Programmieren von ESP32 für Covid19 Tracker
Den vollständigen Code für Auto Hand Sanitizer und CORONA19 Tracker finden Sie am Ende der Seite. Hier werden wichtige Teile des Programms erklärt.
Starten Sie den Code, indem Sie alle erforderlichen Bibliotheksdateien einschließen. Die HTTPClient-Bibliothek wird verwendet, um die Daten vom HTTP-Server abzurufen. Die ArduinoJson-Bibliothek wird verwendet, um die Datenarrays zu formulieren. Hier wird die ArduinoJson-Bibliothek verwendet, um die bestätigten Fälle zu filtern und aus dem Datenarray wiederherzustellen, das wir vom Server erhalten. Die LiquidCrystal-Bibliothek wird für das LCD-Anzeigemodul verwendet.
#einschließen
Um die Daten vom Server abzurufen, muss NodeMCU ESP32 eine Verbindung zum Internet herstellen. Geben Sie dazu in den folgenden Zeilen Ihre WLAN-SSID und Ihr Kennwort ein.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Definieren Sie anschließend die Pins, an denen Sie das LCD-Modul, den Ultraschallsensor und das Relaismodul angeschlossen haben.
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;
Jetzt geben wir den API-Link ein, der zuvor generiert wurde. Über diesen Link erhalten wir die Gesamtzahl der bestätigten Fälle und wiederhergestellten Fälle in Indien. Sie können den Ländernamen in der URL entsprechend ändern.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometryFrion, Wiederhergestellt ";
Definieren Sie nun im Hohlraum-Setup () den Trigger- und Echo-Pin des Ultraschallsensors als Eingangspins und den Relais-Pin als Ausgang.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); PinMode (Pumpe, OUTPUT);
Um mehr über die Funktionsweise des Ultraschallsensors zu erfahren, überprüfen Sie dessen Schnittstelle zu Arduino, wo wir die Funktion seines TRIG- und ECHO-Pins sowie die Verwendung zur Berechnung des Abstands zwischen Objekten erläutert haben. Überprüfen Sie auch andere Ultraschallprojekte.
Überprüfen Sie anschließend, ob das ESP mit dem Wi-Fi verbunden ist. Wenn nicht, wartet es auf die Verbindung des ESP, indem Sie auf dem seriellen Monitor „…..“ drucken.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); // drucke… bis keine Verbindung besteht} Serial.println ("WiFi verbunden");
Innerhalb der Funktion void ultra () berechnen wir den Abstand kontinuierlich mit einem Ultraschallsensor. Wenn der Abstand kleiner oder gleich 15 cm ist, wird die Pumpe 2 Sekunden lang eingeschaltet, um das Desinfektionsmittel durch das Rohr nach außen zu drücken. Wenn jemand seine Hände unter das Auslassrohr legt, verringert sich der Abstand und die Pumpe wird eingeschaltet.
void ultra () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); Dauer = PulsIn (echoPin, HIGH); Entfernung = Dauer * 0,0340 / 2; Serial.println ("Entfernung"); Serial.println (Entfernung); if (Abstand <= 15) {Serial.print ("Öffnungspumpe"); digitalWrite (Pumpe, HIGH); Verzögerung (2000); digitalWrite (Pumpe, LOW); ESP.restart (); }}
Überprüfen Sie nun in der Funktion void loop () , ob die vom ESP32 empfangene JSON-Datei gelesen wurde, und drucken Sie die JSON-Daten mithilfe der folgenden Zeilen auf den seriellen Monitor
int httpCode = https.GET (); if (httpCode> 0) {// Auf den Rückgabecode prüfen String payload = https.getString ();
Verwenden Sie danach das von ArduinoJson Assistant generierte Phrasierungsprogramm . Dieses Phrasierungsprogramm gibt uns die Gesamtzahl der bestätigten und wiederhergestellten Fälle in Indien.
JsonArray fields = 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;
Testen des automatischen Händedesinfektionsmittels mit Covid19 Tracker
Endlich ist unser batteriebetriebener Händedesinfektionsspender testbereit. Schließen Sie einfach die Hardware gemäß Schaltplan an und laden Sie das Programm in ESP32 hoch. Zu Beginn sollten Sie die Meldung „Covid19 Tracker“ und „Händedesinfektionsmittel“ auf dem LCD sehen. Nach einigen Sekunden werden bestätigte Fälle und wiederhergestellte Fälle im angezeigt LCD-Bildschirm wie unten gezeigt.
Ähnlich können Sie diese Daten für jedes Land abrufen, indem Sie einige Änderungen am API-Link vornehmen. Ein vollständiges Arbeitsvideo und Code finden Sie am Ende der Seite.