- Szükséges alkatrészek
- API-link a Corona Live Data megszerzéséhez
- Kördiagramm
- ESP32 programozása a Covid19 Trackerhez
- Az automatikus kézfertőtlenítő tesztelése a Covid19 Tracker segítségével
A Corona vírus (Covid19) pusztítást végez a világon. Szinte minden ország szenved a Corona vírustól. A WHO már bejelentette, hogy pandémiás betegség, és sok városban lezárási helyzet van, az emberek nem léphetnek ki otthonukból, és ezrek vesztették életüket. Számos webhely nyújt élő frissítéseket a koronavírus esetekről, például a Microsoft Tracker, az Esri Covid19 Tracker stb.
Ebben a projektben egy Auto kézfertőtlenítő adagolót építünk LCD-vel, amely megmutatja a koronavírus esetek élő számát is. Ez a projekt az ESP32-t, az ultrahangos érzékelőt, a 16x2 LCD-modult, a vízszivattyút és a kézfertőtlenítőt fogja használni. Az Esri API Explorerjét használjuk Covid19 fertőzöttek élő adatainak megszerzéséhez. Ultrahangos érzékelővel ellenőrizzük a kezek jelenlétét a fertőtlenítő gép kimenete alatt. Folyamatosan kiszámítja a fertőtlenítő kimenet és saját maga közötti távolságot, és felszólítja az ESP-t, hogy kapcsolja be a szivattyút, amikor a távolság kevesebb, mint 15 cm, hogy kitolja a fertőtlenítőt.
Az ESP32-t fő vezérlőként használják, ez egy Wi-Fi modul, amely könnyen csatlakozhat az internethez. Korábban sok IoT-alapú projekt felépítésére használtuk az ESP32 használatával.
Szükséges alkatrészek
- ESP32 Dev modul
- Ultrahangos érzékelő
- 16 * 2 LCD kijelző
- Relé modul
- Mini DC merülő szivattyú
- Kézfertőtlenítő
API-link a Corona Live Data megszerzéséhez
Itt be kell szereznünk az adatokat az internetről, majd el kell küldenünk az ESP32-nek, hogy 16x2 LCD-n jelenítsék meg őket. Ehhez egy HTTP lekérési kérelmet kell megadni a JSON fájl internetről történő olvasására. Itt a Coronavirus Disease GIS Hub által biztosított API-t használjuk. Könnyedén összeállíthatja a helyes lekérdezés URL-jét, hogy megkapja az összes megerősített és helyreállított esetet Indiában, és megváltoztathatja az országot / régiót is, ha ezt egy másik országhoz szeretné használni.
Most kattintson a „Próbálja ki” gombra, vagy illessze be a lekérdezés URL-jét egy új böngészőbe, és a lekérdezés kimenete a következőképpen fog kinézni:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," fields ":," features ":}
A JSON-adatok megszerzése után most generálja a kódot a JSON-adatok beolvasásához és az igényeinknek megfelelő megfogalmazáshoz. Ehhez lépjen az ArduinoJson asszisztenshez, és illessze be a JSON-adatokat a Bevitel szakaszba.
Most görgessen le az elemző programig, és másolja le a számodra hasznos kódrészletet. Az alábbi változókat másoltam, mivel Indiában csak a megerősített és helyreállított esetekre volt szükségem.
Kördiagramm
Ennek a Covid19 Tracker és automatikus kézfertőtlenítő adagoló gépnek a teljes kapcsolási rajza az alábbiakban található
A vízszivattyú relé modulon keresztül csatlakozik az ESP32-hez. A relé Vcc és GND csapjai az ESP32 Vin és GND csapjaihoz vannak csatlakoztatva, míg a relé bemeneti tüskéje az ESP32 D19 érintkezőjéhez van csatlakoztatva. Az ultrahangos érzékelő Trig és Echo csatlakozói az Arduino D5 és D18 érintkezőihez vannak csatlakoztatva.
A teljes csatlakozásokat az alábbi táblázat tartalmazza.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | Potenciométer |
RS | D22 |
RW | GND |
E | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
A | 5V |
K | GND |
Ultrahangos érzékelő | ESP32 |
Vcc | Vin |
GND | GND |
Kerékkötő | D5 |
VISSZHANG | D18 |
A mozgásérzékelő kézfertőtlenítő adagoló hardvere így fog kinézni
ESP32 programozása a Covid19 Trackerhez
Az Auto Hand Sanitizer és a CORONA19 Tracker teljes kódja az oldal végén található. Itt ismertetjük a program fontos részeit.
Indítsa el a kódot az összes szükséges könyvtárfájl beillesztésével. A HTTPClient könyvtár az adatok HTTP szerverről történő lekérésére szolgál. Az ArduinoJson könyvtár az adattömbök kifejezésére szolgál. Itt az ArduinoJson könyvtárat használják a megerősített esetek és a helyreállított adatok kiszűrésére a szerverről kapott adat tömbből. A LiquidCrystal könyvtárat az LCD kijelző modulhoz használják.
#include
Az adatok kiszolgálóról való megszerzéséhez a NodeMCU ESP32-nek kapcsolódnia kell az internethez. Ehhez írja be Wi-Fi SSID-jét és jelszavát az alábbi sorokba.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Ezután határozza meg azokat a csapokat, ahová az LCD modult, az Ultrahangos érzékelőt és a Relé modult csatlakoztatta.
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;
Most megadjuk a korábban létrehozott API-linket. Ennek a linknek a használatával megkapjuk az összes megerősített és helyreállított esetet Indiában. Az URL-ben szereplő országnevet tetszés szerint megváltoztathatja.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=false, Helyreállt ";
Most a void setup () belsejében definiálja az ultrahangos érzékelő Trig és Echo tűjét bemeneti csapokként, a Relay csapot pedig kimenetként.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (szivattyú, OUTPUT);
Ha többet szeretne megtudni az ultrahangos érzékelő működéséről, ellenőrizze az Arduino-val való összeköttetését, ahol elmagyaráztuk a TRIG és az ECHO tű funkcióját, valamint azt, hogy miként használják az objektumok közötti távolság kiszámításához. Ellenőrizzen más ultrahangos alapú projekteket is.
Ezt követően ellenőrizze, hogy az ESP csatlakozik-e a Wi-Fi-hez, ha nem, akkor a soros monitorra nyomtatva „…..” -ot várja meg, amíg az ESP csatlakozik.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {késleltetés (500); Soros.nyomtatás ("."); // nyomtat… amíg nincs csatlakoztatva} Serial.println ("WiFi csatlakozik");
A void ultra () függvényben folyamatosan kiszámoljuk a távolságot egy ultrahangos érzékelő segítségével, és ha a távolság kisebb vagy egyenlő, mint 15 cm, akkor 2 másodpercre bekapcsolja a szivattyút, hogy a csövön keresztül kifelé tolja a fertőtlenítőszert. Feledékeny, ha valaki a kimeneti cső alá teszi a kezét, a távolság csökken, és ez elindítja a szivattyút.
void ultra () {digitalWrite (trigPin, LOW); késleltetés mikroszekundum (2); digitalWrite (trigPin, HIGH); késleltetés mikroszekundum (10); digitalWrite (trigPin, LOW); időtartam = pulseIn (echoPin, HIGH); távolság = időtartam * 0,0340 / 2; Serial.println ("Távolság"); Soros.println (távolság); if (távolság <= 15) {Serial.print ("Szivattyú nyitása"); digitalWrite (szivattyú, HIGH); késés (2000); digitalWrite (szivattyú, LOW); ESP. restart (); }}
Most a void loop () függvény belsejében ellenőrizze, hogy az ESP32 megkapta-e a JSON fájlt-e. Olvassa el és nyomtassa ki a JSON adatokat a soros monitorra a következő sorok használatával
int httpCode = https.GET (); if (httpCode> 0) {// Ellenőrizze a visszatérő kódot String payload = https.getString ();
Ezt követően használja az ArduinoJson Assistant által létrehozott kifejező programot. Ez a megfogalmazási program megadja nekünk az összes megerősített és helyreállított esetet Indiában.
JsonArray mezők = 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 = jellemzők_0_attribútumok;
Az automatikus kézfertőtlenítő tesztelése a Covid19 Tracker segítségével
Végül akkumulátoros kézfertőtlenítő adagolónk készen áll a tesztelésre. Csak csatlakoztassa a hardvert az áramköri rajz szerint, és töltse fel a programot az ESP32-be. A kezdetben látnia kell a „Covid19 Tracker” és „Hand Sanitizer” üzenetet az LCD-n, majd néhány másodperc múlva a megerősített eseteket és helyreállított eseteket jeleníti meg a LCD képernyő az alábbiak szerint.
Ehhez hasonlóan bármely országhoz megszerezheti ezeket az adatokat az API-link néhány módosításával. A teljes videó és kód az oldal végén található.