- Komponente potrebne
- API veza za dobivanje podataka Corona Live
- Kružni dijagram
- Programiranje ESP32 za Covid19 Tracker
- Testiranje automatskog sredstva za dezinfekciju ruku s Covid19 Tracker
Corona Virus (Covid19) pravi pustoš u svijetu. Gotovo svaka zemlja pati od virusa Corona. SZO je već objavio da je to pandemijska bolest i mnogi su gradovi u situaciji zaključavanja, ljudi ne mogu izaći iz svojih domova, a tisuće su izgubili život. Mnoga web mjesta nude ažuriranja slučajeva koronavirusa poput Microsoftovog Trackera, Esrijevog Covid19 Trackera itd.
U ovom ćemo projektu izraditi Automatski uređaj za dezinfekciju ruku s LCD zaslonom koji također prikazuje broj slučajeva koronavirusa uživo. Ovaj projekt će koristiti ESP32, ultrazvučni senzor, LCD modul 16x2, pumpu za vodu i sredstvo za dezinfekciju ruku. Koristimo Esrijev API Explorer za dobivanje živih podataka zaraženih ljudi Covid19. Ultrazvučni senzor koristi se za provjeru prisutnosti ruku ispod izlaza iz uređaja za dezinfekciju. Kontinuirano će izračunavati udaljenost između izlaza sanitarnog sredstva i samog sebe i poručuje ESP-u da uključi pumpu kad god je udaljenost manja od 15 cm kako bi izbacila sredstvo za dezinfekciju.
ESP32 se koristi kao glavni kontroler, to je Wi-Fi modul koji se lako može povezati s internetom. Ranije smo ga koristili za izgradnju mnogih projekata temeljenih na IoT-u koristeći ESP32.
Komponente potrebne
- Razvojni modul ESP32
- Ultrazvučni senzor
- LCD zaslon od 16 * 2
- Modul releja
- Mini DC podvodna pumpa
- Dezinfekcijsko sredstvo za ruke

API veza za dobivanje podataka Corona Live
Ovdje trebamo dobiti podatke s interneta, a zatim ih poslati na ESP32 kako bi ih prikazali na LCD-u 16x2. Za to se poziva HTTP zahtjev za čitanje datoteke JSON s interneta. Ovdje koristimo API koji pruža GIS Hub Coronavirus Disease. Možete jednostavno sastaviti točan URL upita da biste dobili ukupni broj potvrđenih i oporavljenih slučajeva za Indiju, a također možete promijeniti zemlju / regiju ako to želite koristiti za drugu zemlju.


Sada kliknite "Try Now" ili zalijepite URL upita u novi preglednik, izlaz tog upita izgledat će ovako:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintain": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," polja ":," značajke ":}
Nakon dobivanja JSON podataka, sada generirajte kôd za čitanje JSON podataka i stavite ga prema našim potrebama. Za to idite na ArduinoJson Assistant i zalijepite JSON podatke u odjeljak Unos.

Sada se pomaknite dolje do programa za raščlanjivanje i kopirajte odjeljak koda koji je koristan za vas. Kopirao sam donje varijable jer su mi samo potvrđeni i oporavljeni slučajevi trebali u Indiji.


Kružni dijagram
Kompletna shema sklopa za ovaj stroj za pranje i automatsko dezinfekciju ruku Covid19 dana je u nastavku

Vodena pumpa spojena je na ESP32 preko relejnog modula. Vcc i GND pinovi releja spojeni su na Vin i GND pinove ESP32, dok je ulazni pin releja povezan s D19 pinom ESP32. Trig i Echo pinovi ultrazvučnog senzora povezani su na D5 i D18 pinove Arduina.
Kompletni priključci dati su u donjoj tablici.
| LCD | ESP32 |
| VSS | GND |
| VDD | 5V |
| VO | Potenciometar |
| RS | D22 |
| RW | GND |
| E | D4 |
| D4 | D15 |
| D5 | D13 |
| D6 | D26 |
| D7 | D21 |
| A | 5V |
| K | GND |
| Ultrazvučni senzor | ESP32 |
| Vcc | Vin |
| GND | GND |
| Trig | D5 |
| JEKA | D18 |
Hardver za ovaj dozator za ruku sa senzorom pokreta izgledat će ovako

Programiranje ESP32 za Covid19 Tracker
Kompletni kod za automatsko sredstvo za dezinfekciju ruku i CORONA19 Tracker možete pronaći na kraju stranice. Ovdje su objašnjeni važni dijelovi programa.
Pokrenite kod uključivanjem svih potrebnih datoteka knjižnice. HTTPClient knjižnica koristi se za dobivanje podataka s HTTP poslužitelja. Biblioteka ArduinoJson koristi se za fraziranje nizova podataka. Ovdje se biblioteka ArduinoJson koristi za filtriranje potvrđenih slučajeva i oporavka iz polja podataka koje dobivamo s poslužitelja. Biblioteka LiquidCrystal koristi se za modul LCD zaslona.
#include
Da bi podatke dobio s poslužitelja, NodeMCU ESP32 mora se povezati s internetom. Za to unesite svoj Wi-Fi SSID i lozinku u donje retke.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Nakon toga definirajte igle na koje ste spojili LCD modul, ultrazvučni senzor i modul releja.
const int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21; LCD LiquidCrystal (rs, en, d4, d5, d6, d7); const int trigPin = 5; const int echoPin = 18; const int pumpa = 19;
Sada ulazimo u API vezu koja je generirana ranije. Pomoću ove veze dobit ćemo ukupan broj potvrđenih slučajeva i oporavljenih slučajeva u Indiji. Naziv države u URL-u možete promijeniti prema vama.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=falionFieldGutometryReg, Oporavljeno ";
Sada unutar postavke praznine () , definirajte Trig i Echo iglu ultrazvučnog senzora kao ulazne igle i Relejni pin kao izlaz.
pinMode (trigPin, IZLAZ); pinMode (echoPin, INPUT); pinMode (pumpa, IZLAZ);
Da biste saznali više o tome kako ultrazvučni senzor radi, provjerite njegovo međusobno povezivanje s Arduinom, gdje smo objasnili funkciju njegovog TRIG i ECHO pina, kao i kako se koristi za izračunavanje udaljenosti između bilo kojeg objekta. Također provjerite i druge projekte koji se temelje na ultrazvuku.
Nakon toga provjerite je li ESP povezan s Wi-Fi mrežom, ako ne, pričekat će da se ESP poveže ispisom "….." na serijski monitor.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); // ispis… dok nije povezan} Serial.println ("WiFi povezan");
Unutar funkcije void ultra () kontinuirano ćemo izračunavati udaljenost pomoću ultrazvučnog senzora, a ako je udaljenost manja ili jednaka 15 cm, tada će uključiti pumpu na 2 sekunde kako bi progurala sredstvo za dezinfekciju vani kroz cijev. Očito je da kada netko stavi ruke ispod izlazne cijevi, udaljenost će se smanjiti i to će pokrenuti pumpu.
void ultra () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); trajanje = pulsIn (echoPin, HIGH); udaljenost = trajanje * 0,0340 / 2; Serial.println ("Udaljenost"); Serial.println (udaljenost); if (udaljenost <= 15) {Serial.print ("Otvaranje pumpe"); digitalWrite (pumpa, VISOKO); kašnjenje (2000); digitalWrite (pumpa, LOW); ESP.restart (); }}
Sada unutar funkcije void loop () , provjerite je li JSON datoteku primio ESP32 čitajući je i ispisujući JSON podatke na serijski monitor koristeći sljedeće redove
int httpCode = https.GET (); if (httpCode> 0) {// Provjeri povratni kod String payload = https.getString ();
Nakon toga upotrijebite program za fraziranje generiran iz ArduinoJson Assistant-a. Ovaj program fraziranja pružit će nam ukupno potvrđene i oporavljene slučajeve u Indiji.
JsonArray polja = 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;
Testiranje automatskog sredstva za dezinfekciju ruku s Covid19 Tracker
Tako je napokon naš dozator sredstva za dezinfekciju ruku na baterije spreman za testiranje. Dovoljno je spojiti hardver prema shemi sklopa i prenijeti program u ESP32, u startu biste trebali vidjeti poruku "Covid19 Tracker" i "Hand Sanitizer" na LCD-u, a zatim će nakon nekoliko sekundi prikazati potvrđene slučajeve i oporavljene slučajeve u LCD zaslon kao što je prikazano dolje.

Slično ovome, ove podatke možete dobiti za bilo koju zemlju uvođenjem nekih promjena u API vezu. Kompletan radni videa i kôd obzirom na kraju stranice.
