- Komponen Diperlukan
- Tautan API untuk mendapatkan Data Langsung Corona
- Diagram Sirkuit
- Pemrograman ESP32 untuk Covid19 Tracker
- Menguji Pembersih Tangan Otomatis dengan Covid19 Tracker
Virus Corona (Covid19) mendatangkan malapetaka di dunia. Hampir setiap negara menderita Virus Corona. WHO telah mengumumkan penyakit Pandemi dan banyak kota berada dalam situasi terkunci, orang tidak dapat keluar dari rumah mereka, dan ribuan orang kehilangan nyawa. Banyak situs web yang menyediakan pembaruan langsung dari kasus virus korona seperti Pelacak Microsoft, Pelacak Covid19 Esri, dll.
Dalam proyek ini, kami akan membangun Dispenser Pembersih Tangan Otomatis dengan LCD yang juga menunjukkan jumlah kasus virus Corona secara langsung. Proyek ini akan menggunakan ESP32, Sensor Ultrasonik, Modul LCD 16x2, Pompa Air, dan Pembersih Tangan. Kami menggunakan API Explorer Esri untuk mendapatkan data langsung dari orang yang terinfeksi Covid19. Sensor ultrasonik digunakan untuk memeriksa keberadaan tangan di bawah saluran keluar mesin pembersih. Ini akan terus menghitung jarak antara outlet pembersih dan dirinya sendiri dan memberi tahu ESP untuk menyalakan pompa setiap kali jarak kurang dari 15cm untuk mendorong pembersih keluar.
ESP32 digunakan sebagai pengontrol utama, ini adalah modul Wi-Fi yang dapat dengan mudah terhubung ke internet. Kami sebelumnya menggunakannya untuk membangun banyak proyek berbasis IoT menggunakan ESP32.
Komponen Diperlukan
- Modul Pengembangan ESP32
- Sensor ultrasonik
- 16 * 2 Layar LCD
- Modul Relai
- Pompa Submersible Mini DC
- Pensanitasi tangan
Tautan API untuk mendapatkan Data Langsung Corona
Disini kita perlu mendapatkan data dari internet dan kemudian mengirimkannya ke ESP32 untuk ditampilkan pada LCD 16x2. Untuk itu, permintaan get HTTP dipanggil untuk membaca file JSON dari internet. Di sini kami menggunakan API yang disediakan oleh Coronavirus Disease GIS Hub. Anda dapat dengan mudah menyusun URL kueri yang benar untuk mendapatkan total kasus Dikonfirmasi dan dipulihkan untuk India dan juga dapat mengubah negara / Wilayah jika Anda ingin menggunakannya untuk negara lain.
Sekarang klik "Coba Sekarang" atau tempelkan URL kueri ke browser baru, keluaran dari kueri itu akan terlihat seperti ini:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," fields ":," features ":}
Setelah mendapatkan data JSON, sekarang buat kode untuk membaca data JSON dan menyusunnya sesuai kebutuhan kita. Untuk itu, buka Asisten ArduinoJson dan tempel data JSON di bagian Input.
Sekarang gulir ke bawah ke program parsing dan salin bagian kode yang berguna untuk Anda. Saya menyalin variabel di bawah karena saya hanya membutuhkan kasus yang dikonfirmasi dan pulih di India.
Diagram Sirkuit
Diagram rangkaian lengkap untuk Covid19 Tracker & mesin dispenser pembersih tangan otomatis ini diberikan di bawah ini
Pompa air dihubungkan ke ESP32 melalui modul relai. Pin Vcc dan GND dari relai terhubung ke pin Vin dan GND ESP32 sedangkan pin input relai terhubung ke pin D19 ESP32. Pin Trig dan Echo dari sensor Ultrasonik terhubung ke Pin D5 dan D18 Arduino.
Koneksi lengkap diberikan pada tabel di bawah ini.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | Potensiometer |
RS | D22 |
RW | GND |
E | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
SEBUAH | 5V |
K | GND |
Sensor ultrasonik | ESP32 |
Vcc | Vin |
GND | GND |
Trigonometri | D5 |
GEMA | D18 |
Perangkat keras untuk Dispenser Pembersih Tangan Sensor Gerak ini akan terlihat seperti ini
Pemrograman ESP32 untuk Covid19 Tracker
Kode lengkap untuk Auto Hand Sanitizer dan CORONA19 Tracker dapat ditemukan di akhir halaman. Di sini bagian penting dari program dijelaskan.
Mulai kode dengan memasukkan semua file perpustakaan yang diperlukan. Perpustakaan HTTPClient digunakan untuk mendapatkan data dari server HTTP. Perpustakaan ArduinoJson digunakan untuk menyusun susunan data. Di sini pustaka ArduinoJson digunakan untuk memfilter kasus yang Dikonfirmasi dan Dipulihkan dari larik data yang kami dapatkan dari server. Perpustakaan LiquidCrystal digunakan untuk Modul tampilan LCD.
#include
Untuk mendapatkan data dari server, NodeMCU ESP32 harus terkoneksi dengan internet. Untuk itu, masukkan SSID dan Kata Sandi Wi-Fi Anda di baris di bawah ini.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
Setelah itu tentukan pin di mana Anda telah menghubungkan modul LCD, Sensor ultrasonik, dan modul Relay.
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; pompa const int = 19;
Sekarang kita masuk ke tautan API yang dihasilkan sebelumnya. Menggunakan tautan ini, kami akan mendapatkan total kasus yang dikonfirmasi dan kasus yang Dipulihkan di India. Anda dapat mengubah nama negara di URL menurut Anda.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=false&outryFirm_Region, Dipulihkan ";
Sekarang di dalam pengaturan void () , tentukan pin Trig dan Gema dari sensor Ultrasonik sebagai pin input dan pin Relay sebagai output.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (pompa, OUTPUT);
Untuk mempelajari lebih lanjut tentang cara kerja sensor Ultrasonik, periksa interfacingnya dengan Arduino di mana kami telah menjelaskan fungsi pin TRIG dan ECHO-nya beserta cara penggunaannya untuk menghitung jarak antara objek apa pun. Juga, periksa proyek berbasis ultrasonik lainnya.
Setelah itu, periksa apakah ESP terhubung dengan Wi-Fi, jika tidak akan menunggu ESP terhubung dengan mencetak “…..” pada monitor serial.
WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); // cetak… sampai tidak terhubung} Serial.println ("WiFi terhubung");
Di dalam fungsi void ultra () kita akan menghitung jarak secara kontinyu menggunakan sensor ultrasonic dan jika jaraknya kurang dari atau sama dengan 15 cm, maka pompa akan menyala selama 2 detik untuk mendorong sanitizer keluar melalui pipa. Tentunya ketika seseorang meletakkan tangannya di bawah pipa saluran keluar, jaraknya akan berkurang dan itu akan memicu pompa untuk menyala.
void ultra () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); durasi = pulseIn (echoPin, HIGH); jarak = durasi * 0,0340 / 2; Serial.println ("Jarak"); Serial.println (jarak); if (jarak <= 15) {Serial.print ("Pompa Pembukaan"); digitalWrite (pompa, TINGGI); penundaan (2000); digitalWrite (pompa, RENDAH); ESP.restart (); }}
Sekarang di dalam fungsi void loop () , periksa apakah file JSON diterima oleh ESP32 dengan membacanya dan mencetak data JSON pada monitor serial menggunakan baris berikut
int httpCode = https.GET (); if (httpCode> 0) {// Periksa kode kembali String payload = https.getString ();
Setelah itu, gunakan program frase yang dihasilkan dari ArduinoJson Assistant. Program frase ini akan memberi kita total kasus yang dikonfirmasi dan dipulihkan di India.
Bidang JsonArray = doc; JsonObject features_0_attributes = doc; fitur panjang_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;
Menguji Pembersih Tangan Otomatis dengan Covid19 Tracker
Jadi akhirnya dispenser pembersih tangan yang dioperasikan dengan baterai siap untuk diuji. Cukup hubungkan perangkat keras sesuai diagram sirkuit dan unggah program ke ESP32, di awal Anda akan melihat pesan "Covid19 Tracker" & "Hand Sanitizer" pada LCD dan kemudian setelah beberapa detik akan menampilkan kasus yang dikonfirmasi & kasus yang dipulihkan di Layar LCD seperti yang ditunjukkan di bawah ini.
Mirip dengan ini, Anda bisa mendapatkan data ini untuk negara mana pun dengan membuat beberapa perubahan di tautan API. Sebuah video yang kerja yang lengkap dan kode yang diberikan pada akhir halaman.