- Kinakailangan ang Mga Bahagi
- Link ng API para sa pagkuha ng Corona Live Data
- Diagram ng Circuit
- Programming ESP32 para sa Covid19 Tracker
- Pagsubok sa Awtomatikong Kamay ng Sanitizer gamit ang Covid19 Tracker
Ang Corona Virus (Covid19) ay sumisira sa buong mundo. Halos bawat bansa ay naghihirap mula sa Corona Virus. Inihayag na ng WHO na ito ay isang sakit na Pandemya at maraming mga lungsod ay nasa ilalim ng sitwasyon ng lockdown, ang mga tao ay hindi maaaring lumabas sa kanilang mga tahanan, at libu-libo ang nawala sa kanilang buhay. Maraming mga website ang nagbibigay ng mga live na pag-update ng mga kaso ng coronavirus tulad ng Tracker ng Microsoft, Tracker ng Covid19 ni Esri, atbp.
Sa proyektong ito, magtatayo kami ng isang Auto Hand Sanitizer Dispenser na may isang LCD na nagpapakita rin ng live na bilang ng mga kaso ng Coronavirus. Ang proyektong ito ay gagamit ng ESP32, Ultrasonic Sensor, 16x2 LCD Module, Water pump, at Hand Sanitizer. Gumagamit kami ng API Explorer ni Esri upang makuha ang live na data ng mga taong nahawahan sa Covid19. Ginagamit ang isang ultrasonic sensor upang suriin ang pagkakaroon ng mga kamay sa ibaba ng outlet ng sanitizer machine. Patuloy nitong kalkulahin ang distansya sa pagitan ng sanitizer outlet at mismo at sasabihin sa ESP na i-on ang bomba sa tuwing ang distansya ay mas mababa sa 15cm upang maitulak ang sanitizer.
Ang ESP32 ay ginagamit bilang pangunahing controller, ito ay isang Wi-Fi module na madaling kumonekta sa internet. Ginamit namin ito dati upang makabuo ng maraming mga proyekto na batay sa IoT gamit ang ESP32.
Kinakailangan ang Mga Bahagi
- ESP32 Dev Module
- Ultrasonic Sensor
- 16 * 2 LCD Display
- Relay Module
- Mini DC Submersible Pump
- Kamay Sanitizer
Link ng API para sa pagkuha ng Corona Live Data
Narito kailangan naming makuha ang data mula sa internet at pagkatapos ay ipadala ito sa ESP32 upang maipakita ito sa 16x2 LCD. Para doon, ang isang kahilingan sa HTTP get ay naimbitahan na basahin ang JSON file mula sa internet. Narito ginagamit namin ang API na ibinigay ng Coronavirus Disease GIS Hub. Madali mong maiipon ang tamang URL ng query upang makuha ang kabuuang Kumpirmadong at nakuhang mga kaso para sa India at maaari ding baguhin ang bansa / Rehiyon kung nais mong gamitin ito para sa ibang bansa.
Ngayon mag-click sa "Subukan Ngayon" o i-paste ang query URL sa isang bagong browser, ganito ang magiging hitsura ng output:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintain": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReferensi": {" wkid ": 4326," pinakabagongWkid ": 4326}," mga patlang ":," mga tampok ":}
Matapos makuha ang data ng JSON, makabuo ngayon ng code upang mabasa ang data ng JSON at parirala ito ayon sa aming mga pangangailangan. Para doon, pumunta sa ArduinoJson Assistant at i-paste ang data ng JSON sa seksyong Input.
Ngayon mag-scroll pababa sa programa ng pag-parse at kopyahin ang seksyon ng code na kapaki-pakinabang para sa iyo. Kinopya ko ang mga variable sa ibaba dahil kailangan ko lamang ang mga nakumpirmang at nakuhang muli na mga kaso sa India.
Diagram ng Circuit
Ang kumpletong diagram ng circuit para sa Covid19 Tracker at awtomatikong hand sanitizer dispenser machine na ito ay ibinigay sa ibaba
Ang pump ng tubig ay konektado sa ESP32 sa pamamagitan ng isang relay module. Ang mga Vcc at GND na pin ng relay ay konektado sa Vin at GND pins ng ESP32 habang ang input pin ng relay ay konektado sa D19 pin ng ESP32. Ang mga trig at Echo pin ng sensor ng Ultrasonic ay konektado sa D5 at D18 Pins ng Arduino.
Ang mga kumpletong koneksyon ay ibinibigay sa talahanayan sa ibaba.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | Potensyomiter |
Ang RS | D22 |
RW | GND |
E | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
A | 5V |
K | GND |
Ultrasonic Sensor | ESP32 |
Vcc | Vin |
GND | GND |
Trig | D5 |
ECHO | D18 |
Ang hardware para sa Dispenser ng Motion Sensor Hand Sanitizer na ito ay magiging ganito
Programming ESP32 para sa Covid19 Tracker
Ang kumpletong code para sa Auto Hand Sanitizer at CORONA19 Tracker ay matatagpuan sa dulo ng pahina. Dito ipinaliwanag ang mahahalagang bahagi ng programa.
Simulan ang code sa pamamagitan ng pagsasama ng lahat ng kinakailangang mga file sa library. Ginagamit ang HTTPClient library upang makuha ang data mula sa HTTP server. Ginagamit ang library ng ArduinoJson upang parirala ang mga array ng data. Dito ginagamit ang library ng ArduinoJson upang salain ang mga Kumpirmadong kaso at Narekober mula sa array ng data na nakukuha namin mula sa server. Ginagamit ang library ng LiquidCrystal para sa LCD display Module.
# isama
Upang makuha ang data mula sa server, ang NodeMCU ESP32 ay kailangang kumonekta sa internet. Para doon, ipasok ang iyong Wi-Fi SSID at Password sa mga linya sa ibaba.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Pagkatapos nito tukuyin ang mga pin kung saan mo nakakonekta ang LCD module, Ultrasonic sensor, at Relay module.
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;
Ngayon ay ipinasok namin ang link ng API na nabuo nang mas maaga. Gamit ang link na ito, makukuha namin ang kabuuang mga nakumpirmang kaso at Narekober na mga kaso sa India. Maaari mong baguhin ang pangalan ng bansa sa URL ayon sa iyo.
Constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=fegse&tryField/dequed,Gumaling";
Ngayon sa loob ng void setup () , tukuyin ang Trig at Echo pin ng Ultrasonic sensor bilang mga input pin at Relay pin bilang isang output.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (pump, OUTPUT);
Upang matuto nang higit pa tungkol sa kung paano gumagana ang Ultrasonic sensor, suriin ang interfacing nito sa Arduino kung saan ipinaliwanag namin ang pagpapaandar ng TRIG at ECHO pin nito kasama ang kung paano ito ginagamit upang makalkula ang distansya sa pagitan ng anumang bagay. Gayundin, suriin ang iba pang mga proyekto na nakabatay sa ultrasonik.
Pagkatapos nito, suriin kung ang ESP ay konektado sa Wi-Fi, kung hindi maghihintay ito upang kumonekta ang ESP sa pamamagitan ng pag-print ng "….." sa serial monitor.
WiFi.begin (ssid, pass); habang (WiFi.status ()! = WL_CONNected) {pagkaantala (500); Serial.print ("."); // print… hanggang hindi nakakonekta} Serial.println ("Konektado ang WiFi");
Sa loob ng pag- andar ng void ultra () patuloy naming kinakalkula ang distansya gamit ang isang ultrasonic sensor at kung ang distansya ay mas mababa sa o katumbas ng 15 cm, pagkatapos ay bubuksan nito ang bomba ng 2 segundo upang itulak ang sanitizer sa labas ng tubo. Maliwanag na kapag ang isang tao ay naglalagay ng kanyang mga kamay sa ibaba ng outlet pipe, ang distansya ay bababa at ito ay magpapalitaw sa bomba upang i-on.
void ultra () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, MATAAS); delayMicroseconds (10); digitalWrite (trigPin, LOW); tagal = pulseIn (echoPin, HIGH); distansya = tagal * 0.0340 / 2; Serial.println ("Distansya"); Serial.println (distansya); kung (distansya <= 15) {Serial.print ("Opening Pump"); digitalWrite (pump, HIGH); pagkaantala (2000); digitalWrite (pump, LOW); ESP. restart (); }}
Ngayon sa loob ng pag- andar ng void loop () , suriin kung ang file na JSON na natanggap ng ESP32 sa pamamagitan ng pagbabasa nito at pag-print ng data ng JSON sa serial monitor gamit ang mga sumusunod na linya
int httpCode = https.GET (); kung (httpCode> 0) {// Suriin ang nagbabalik na code String payload = https.getString ();
Pagkatapos nito, gamitin ang programa sa pagbigkas ng salita na nabuo mula sa ArduinoJson Assistant. Ang programang ito sa pagsasalita ay magbibigay sa amin ng kabuuang nakumpirma at na-recover na mga kaso sa India.
Mga patlang ng JsonArray = doc; Mga tampok ng JsonObject_0_attribut = doc; mahabang tampok_0_attributo_Last_Update = tampok_0_attribut; int tampok_0_attribut_Confirmed = Features_0_attribut; // int Features_0_attribut_Deaths = Features_0_attribut; int tampok_0_attribut_Recovered = Features_0_attribut;
Pagsubok sa Awtomatikong Kamay ng Sanitizer gamit ang Covid19 Tracker
Kaya't sa wakas ang aming baterya na pinamamahalaan ng kamay na sanitizer dispenser ay handa na upang subukan. Ikonekta lamang ang hardware ayon sa diagram ng circuit at i-upload ang programa sa ESP32, sa simula dapat mong makita ang mensahe na "Covid19 Tracker" & "Hand Sanitizer" sa LCD at pagkatapos pagkatapos ng ilang segundo ay ipapakita nito ang mga nakumpirmang kaso at nakuhang mga kaso sa LCD screen tulad ng ipinapakita sa ibaba.
Katulad nito, maaari mong makuha ang data na ito para sa anumang bansa sa pamamagitan ng paggawa ng ilang mga pagbabago sa link ng API. Ang isang kumpletong gumaganang video at code ay ibinibigay sa dulo ng pahina.