- Потрібні компоненти
- Посилання на API для отримання даних Corona Live
- Кругова діаграма
- Програмування ESP32 для Covid19 Tracker
- Тестування автоматичного засобу для дезінфекції рук за допомогою Covid19 Tracker
Вірус корони (Covid19) руйнує світ. Майже кожна країна страждає на вірус корони. ВООЗ вже оголосила про це пандемічну хворобу, і багато міст перебувають у ситуації блокування, люди не можуть вийти з дому, а тисячі людей втратили життя. Багато веб-сайтів пропонують оновлення про випадки коронавірусу, такі як Tracker від Microsoft, Covid19 Tracker від Esri тощо.
У цьому проекті ми створимо автоматичний дозатор дезінфікуючого засобу для рук із РК-дисплеєм, який також відображатиме кількість випадків коронавірусу в реальному часі. Цей проект буде використовувати ESP32, ультразвуковий датчик, РК-модуль 16x2, водяний насос та дезінфікуючий засіб для рук. Ми використовуємо провідник API Esri, щоб отримати актуальні дані заражених Covid19 людей. Ультразвуковий датчик використовується для перевірки наявності рук під виходом дезінфікуючої машини. Він буде постійно обчислювати відстань між виходом дезінфікуючого засобу та самим собою, і повідомляє ESP, щоб він вмикав насос, коли відстань менше 15 см, щоб виштовхнути дезінфікуючий засіб.
ESP32 використовується як основний контролер, це модуль Wi-Fi, який легко підключається до Інтернету. Раніше ми використовували його для побудови багатьох проектів на основі IoT за допомогою ESP32.
Потрібні компоненти
- Модуль розробника ESP32
- Ультразвуковий датчик
- 16 * 2 РК-дисплей
- Модуль реле
- Міні занурювальний насос постійного струму
- Санітайзер для рук
Посилання на API для отримання даних Corona Live
Тут нам потрібно отримати дані з Інтернету, а потім відправити їх на ESP32 для відображення на РК-дисплеї 16x2. Для цього викликається запит на отримання HTTP для читання файлу JSON з Інтернету. Тут ми використовуємо API, наданий GIS Hub Coronavirus Disease Disease. Ви можете легко скласти правильну URL-адресу запиту, щоб отримати загальну кількість підтверджених та відновлених випадків для Індії, а також можете змінити країну / регіон, якщо ви хочете використовувати це для іншої країни.
Тепер натисніть «Спробувати зараз» або вставте URL-адресу запиту в новий браузер, результат цього запиту буде виглядати так:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintain": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," поля ":," особливості ":}
Отримавши дані JSON, тепер згенеруйте код для зчитування даних JSON та сформулюйте його відповідно до наших потреб. Для цього перейдіть до ArduinoJson Assistant і вставте дані JSON у розділ Введення.
Тепер прокрутіть вниз до програми синтаксичного аналізу та скопіюйте корисний для вас розділ коду. Я скопіював наведені нижче змінні, оскільки мені потрібні були лише підтверджені та відновлені випадки в Індії.
Кругова діаграма
Повна електрична схема для цієї машини Covid19 Tracker та автоматичного дозатора дезінфікуючого засобу для рук наведена нижче
Водяний насос підключений до ESP32 через релейний модуль. Виводи Vcc та GND реле підключені до висновків Vin і GND ESP32, тоді як вхідний штифт реле підключений до виводу D19 ESP32. Виводи Trig та Echo ультразвукового датчика підключені до виводів D5 і D18 Arduino.
Повні з'єднання наведені в таблиці нижче.
РК-дисплей | ESP32 |
VSS | GND |
VDD | 5 В |
ВО | Потенціометр |
RS | D22 |
RW | GND |
Е | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
A | 5 В |
К | GND |
Ультразвуковий датчик | ESP32 |
Vcc | Він |
GND | GND |
Trig | D5 |
ECHO | D18 |
Апаратне забезпечення цього дозатора дезінфікуючого засобу для рук буде виглядати так
Програмування ESP32 для Covid19 Tracker
Повний код для автоматичного дезінфікуючого засобу для рук та CORONA19 Tracker можна знайти в кінці сторінки. Тут пояснюються важливі частини програми.
Запустіть код, включивши всі необхідні файли бібліотеки. Бібліотека HTTPClient використовується для отримання даних із сервера HTTP. Бібліотека ArduinoJson використовується для формулювання масивів даних. Тут бібліотека ArduinoJson використовується для фільтрації підтверджених випадків та відновлення з масиву даних, який ми отримуємо від сервера. Бібліотека LiquidCrystal використовується для модуля РК-дисплея.
#включати
Щоб отримати дані з сервера, NodeMCU ESP32 повинен підключитися до Інтернету. Для цього введіть свій SSID і пароль Wi-Fi у наведені нижче рядки.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Після цього визначте штифти, до яких ви підключили РК-модуль, ультразвуковий датчик та модуль реле.
const int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21; Рідкий кристал LCD (rs, en, d4, d5, d6, d7); const int trigPin = 5; const int echoPin = 18; const int pump = 19;
Тепер ми вводимо посилання на API, яке було створено раніше. За цим посиланням ми отримаємо загальну кількість підтверджених випадків та відновлених випадків в Індії. Ви можете змінити назву країни в URL-адресі відповідно до вас.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=falionGreenmetf, Одужав ";
Тепер всередині установки порожнечі () , визначте штифт Trig та Echo ультразвукового датчика як вхідні штифти, а релейний штифт як вихід.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (насос, ВИХІД);
Щоб дізнатися більше про те, як працює ультразвуковий датчик, перевірте його взаємозв'язок з Arduino, де ми пояснили функцію його штифта TRIG та ECHO, а також те, як він використовується для обчислення відстані між будь-яким об'єктом. Також перевірте інші проекти на основі ультразвуку.
Після цього перевірте, чи ESP підключений до Wi-Fi, якщо ні, він буде чекати, поки ESP підключиться, надрукувавши “…..” на послідовному моніторі.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {затримка (500); Serial.print ("."); // друк… до не підключеного} Serial.println ("WiFi підключений");
Усередині функції void ultra () ми будемо постійно обчислювати відстань, використовуючи ультразвуковий датчик, і якщо відстань менше або дорівнює 15 см, тоді він увімкне насос на 2 секунди, щоб виштовхнути дезінфікуючий засіб через трубу. Очевидно, що коли хтось опустить руки нижче вихідної труби, відстань зменшиться, і це призведе до включення насоса.
void ultra () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); тривалість = pulseIn (echoPin, HIGH); відстань = тривалість * 0,0340 / 2; Serial.println ("Відстань"); Serial.println (відстань); if (відстань <= 15) {Serial.print ("Насос, що відкривається"); digitalWrite (насос, ВИСОКИЙ); затримка (2000); digitalWrite (насос, LOW); ESP.restart (); }}
Тепер усередині функції void loop () перевірте, чи отримав файл ESP32 файл ESP32, прочитавши його та надрукувавши дані JSON на послідовному моніторі, використовуючи такі рядки
int httpCode = https.GET (); if (httpCode> 0) {// Перевірте, чи повертається код String payload = https.getString ();
Після цього скористайтеся програмою створення фраз, створеною з ArduinoJson Assistant. Ця програма формулювання дасть нам загальну кількість підтверджених та відновлених випадків в Індії.
Поля JsonArray = doc; JsonObject features_0_attributes = doc; довгі характеристики_0_attributes_Last_Update = характеристики_0_attributes; int features_0_attributes_Confirmed = features_0_attributes; // int features_0_attributes_Deaths = характеристики_0_attributes; int features_0_attributes_Recovered = features_0_attributes;
Тестування автоматичного засобу для дезінфекції рук за допомогою Covid19 Tracker
Тож, нарешті, наш дозатор дезінфікуючого засобу для рук готовий до тестування. Просто підключіть апаратне забезпечення за схемою і завантажте програму в ESP32, на початку ви побачите повідомлення “Covid19 Tracker” та “Hand Sanitizer” на РК-дисплеї, а потім через кілька секунд на дисплеї з’являться підтверджені випадки та відновлені випадки в РК-екран, як показано нижче.
Подібно до цього, ви можете отримати ці дані для будь-якої країни, внісши деякі зміни у посилання на API. Повні робочі відео і коди наведені в кінці сторінки.