- Tarvittavat komponentit
- API-linkki Corona Live Data -sovelluksen saamiseksi
- Piirikaavio
- ESP32: n ohjelmointi Covid19 Trackerille
- Automaattisen käsienpuhdistusaineen testaus Covid19 Tracker -sovelluksella
Corona Virus (Covid19) on tuhoamassa maailmaa. Lähes jokainen maa kärsii Corona-viruksesta. WHO on jo ilmoittanut siitä pandemiataudiksi, ja monet kaupungit ovat lukitustilanteessa, ihmiset eivät voi astua ulos kodeistaan ja tuhannet ovat menettäneet henkensä. Monet verkkosivustot tarjoavat live-päivityksiä koronavirustapauksista, kuten Microsoftin Tracker, Esrin Covid19 Tracker jne.
Tässä projektissa rakennamme LCD-nestekidenäytön Auto Hand Sanitizer Dispenser, joka näyttää myös koronavirustapausten live-määrän. Tämä projekti käyttää ESP32: ta, ultraäänianturia, 16x2 LCD-moduulia, vesipumppua ja käsienpuhdistinta. Käytämme Esrin API Exploreria Covid19-tartunnan saaneiden henkilöiden reaaliaikaisten tietojen saamiseksi. Ultraäänianturia käytetään käsien tarkastamiseen desinfiointikoneen ulostulon alapuolella. Se laskee jatkuvasti puhdistusaineen poistoaukon ja itsensä välisen etäisyyden ja käskee ESP: n käynnistämään pumpun aina, kun etäisyys on alle 15 cm, puhdistusaineen työntämiseksi ulos.
ESP32: ta käytetään pääohjaimena, se on Wi-Fi-moduuli, joka voi helposti muodostaa yhteyden Internetiin. Aikaisemmin käytimme sitä rakentamaan monia esineiden internetiin perustuvia projekteja ESP32: n avulla.
Tarvittavat komponentit
- ESP32 Dev -moduuli
- Ultraäänianturi
- 16 * 2 LCD-näyttö
- Releyksikkö
- Mini DC-upotettava pumppu
- Käsien desinfiointiaine
API-linkki Corona Live Data -sovelluksen saamiseksi
Täällä meidän on hankittava tiedot Internetistä ja lähetettävä sitten ESP32: een, jotta ne voidaan näyttää 16x2 LCD-näytöllä. Tätä varten käytetään HTTP-hakupyyntöä JSON-tiedoston lukemiseksi Internetistä. Tässä käytämme Coronavirus Disease GIS Hubin tarjoamaa API: ta. Voit helposti koota oikean kyselyn URL-osoitteen saadaksesi vahvistetut ja palautetut tapaukset Intialle. Voit myös vaihtaa maata / aluetta, jos haluat käyttää sitä eri maassa.
Napsauta nyt "Kokeile nyt" tai liitä kyselyn URL-osoite uuteen selaimeen, kyselyn tulos näyttää tältä:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," fields ":," features ":}
Kun olet saanut JSON-tiedot, luo nyt koodi lukemaan JSON-tiedot ja muotoile se tarpeidemme mukaan. Siitä varten siirry ArduinoJson Assistantiin ja liitä JSON-tiedot Input-osioon.
Selaa nyt alas jäsentelyohjelmaan ja kopioi sinulle hyödyllinen koodiosio. Kopioin alla olevat muuttujat, koska tarvitsin vain vahvistetut ja palautetut tapaukset Intiassa.
Piirikaavio
Täydellinen kytkentäkaavio tälle Covid19 Tracker & automaattiselle käsien desinfiointilaitteelle on annettu alla
Vesipumppu on kytketty ESP32: een relemoduulin kautta. Releen Vcc- ja GND-nastat on kytketty ESP32: n Vin- ja GND-nastoihin, kun taas releen tulotappi on kytketty ESP32: n D19-nastaan. Ultraäänianturin Trig- ja Echo-nastat on kytketty Arduinon D5- ja D18-nastoihin.
Täydelliset liitännät on annettu alla olevassa taulukossa.
LCD-näyttö | ESP32 |
VSS | GND |
VDD | 5 V |
VO | Potentiometri |
RS | D22 |
RW | GND |
E | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
A | 5 V |
K | GND |
Ultraäänianturi | ESP32 |
Vcc | Vin |
GND | GND |
Trig | D5 |
KAIKU | D18 |
Tämän liiketunnistimen käsienpuhdistuslaitteen laitteisto näyttää tältä
ESP32: n ohjelmointi Covid19 Trackerille
Täydellinen koodi Auto Hand Sanitizerille ja CORONA19 Trackerille löytyy sivun lopusta. Tässä selitetään ohjelman tärkeät osat.
Aloita koodi sisällyttämällä kaikki vaaditut kirjastotiedostot. HTTPClient-kirjastoa käytetään tietojen hakemiseen HTTP-palvelimelta. ArduinoJson-kirjastoa käytetään tietoryhmien muotoiluun. Tässä ArduinoJson-kirjastoa käytetään suodattamaan Vahvistetut tapaukset ja Palautettu palvelimelta saamastamme tietojoukosta. LiquidCrystal-kirjastoa käytetään LCD-näyttömoduuliin.
#sisältää
Saadakseen tietoja palvelimelta NodeMCU ESP32: n on muodostettava yhteys Internetiin. Syötä sitä varten Wi-Fi SSID ja salasana alla oleville riveille.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Määritä sen jälkeen nastat, joihin olet liittänyt LCD-moduulin, ultraäänianturin ja relemoduulin.
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 pumppu = 19;
Syötä nyt aiemmin luotu API-linkki. Tämän linkin avulla saat vahvistetut tapaukset ja palautetut tapaukset Intiassa. Voit muuttaa maan nimen URL-osoitteessa haluamallasi tavalla.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=false, Palautettu ";
Määritä nyt tyhjät asetukset () -kohdassa ultraäänianturin Trig- ja Echo-nasta tuloliittimiksi ja Relay-nasta ulostuloksi.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (pumppu, OUTPUT);
Saadaksesi lisätietoja ultraäänianturin toiminnasta, tarkista sen liitäntä Arduinoon, jossa olemme selittäneet sen TRIG- ja ECHO-nastan toiminnot sekä sen, miten sitä käytetään minkä tahansa kohteen välisen etäisyyden laskemiseen. Tarkista myös muut ultraäänipohjaiset projektit.
Tämän jälkeen tarkista, onko ESP yhdistetty Wi-Fi-verkkoon, ellei se odota ESP: n muodostumista, tulostamalla sarjakuvaukseen “…..”.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {viive (500); Sarjaprintti ("."); // tulosta… kunnes yhteyttä ei ole muodostettu} Serial.println ("WiFi kytketty");
Sisällä void ultra () funktio me jatkuvasti laskee etäisyyden käyttäen ultraäänianturi ja jos etäisyys on pienempi kuin tai yhtä suuri kuin 15 cm, niin se kytkee pumpun 2 sekuntia työntää puhdistusaineen ulkopuolella putken läpi. Tietämättään, kun joku laittaa kätensä poistoputken alle, etäisyys pienenee ja se saa pumpun käynnistymään.
void ultra () {digitalWrite (trigPin, LOW); viive mikrosekuntia (2); digitalWrite (trigPin, HIGH); viive mikrosekuntia (10); digitalWrite (trigPin, LOW); kesto = pulssi (echoPin, HIGH); etäisyys = kesto * 0,0340 / 2; Serial.println ("Etäisyys"); Sarja.println (etäisyys); if (etäisyys <= 15) {Sarja.tulos ("Avauspumppu"); digitalWrite (pumppu, HIGH); viive (2000); digitalWrite (pumppu, LOW); ESP. Uudelleenkäynnistys (); }}
Tarkista nyt void loop () -toiminnon sisällä, onko ESP32 saanut JSON-tiedoston lukemalla sen ja tulostamalla JSON-tiedot sarjamonitorille seuraavia rivejä käyttäen
int httpCode = https.GET (); if (httpCode> 0) {// Tarkista palaava koodi String payload = https.getString ();
Käytä sen jälkeen ArduinoJson Assistantin luomaa muotoiluohjelmaa. Tämä lauseohjelma antaa meille kaikki vahvistetut ja palautetut tapaukset Intiassa.
JsonArray-kentät = doc; JsonObject-ominaisuudet_0_attribuutit = doc; pitkät ominaisuudet_0_attribuutit_Last_Update = ominaisuudet_0_attribuutit; int ominaisuudet_0_attribuutit_vahvistettu = ominaisuudet_0_attribuutit; // int features_0_attributes_Deaths = features_0_attributes; int Features_0_attributes_Recovered = ominaisuudet_0_attribuutit;
Automaattisen käsienpuhdistusaineen testaus Covid19 Tracker -sovelluksella
Joten lopuksi paristokäyttöinen käsinpuhdistuslaitteemme on valmis testaamaan. Liitä vain laitteisto piirikaavion mukaan ja lataa ohjelma ESP32: een. Aluksi sinun pitäisi nähdä “Covid19 Tracker” ja “Hand Sanitizer” -sanoma nestekidenäytössä ja muutaman sekunnin kuluttua se näyttää vahvistetut tapaukset ja palautetut tapaukset LCD-näyttö alla olevan kuvan mukaisesti.
Tämän tavoin voit saada nämä tiedot mille tahansa maalle tekemällä joitain muutoksia API-linkkiin. Täydellinen työ videon ja koodin annetaan lopussa sivulla.