Pelacak Kasus COVID-19 Real-Time dengan Sistem Peringatan
Komponen dan Perlengkapan
Arduino UNO – 1 unit
Modul WiFi Bolt IoT Bolt – 1 unit
LCD Backlight RGB Adafruit 16x2 – 1 unit
Tentang Proyek Ini
Proyek ini memiliki dua fungsi. Nomor satu menampilkan jumlah total coronavirus yang seperti yang Anda ketahui adalah pandemi. Dan fungsi kedua yang dilakukan adalah memicu buzzer ketika jumlah kasus di seluruh dunia meningkat sebanyak 500 orang dalam rentang 10 menit untuk menunjukkan bahwa coronavirus bukan main dan harus diambil dengan serius.
Cara terbaik untuk tetap menjaga kesadaran orang sehingga mereka dapat berhati-hati adalah dengan terus-menerus mengingatkan mereka tentang jumlah kasus yang terdaftar dan seberapa berbahayanya.
PengaturanmodulBOLT:
Seperti yang kita ketahui esp8266 adalah modul yang sangat terkenal untuk terhubung ke internet. Jadi apa itu bolt? Ini adalah lapisan penyederhanaan berikutnya dari esp8266. Anda bisa berpikir seperti Arduino adalah penyederhanaan dari cara kita berurusan dengan mikrokontroler.
Jadi ya, bolt tidak memiliki bahasa tetap meskipun js dan html adalah yang tetap digunakan tetapi bolt memiliki API (Application Programming Interface). Bagi mereka yang tidak tahu tentang API, cari di Google. Dengan menggunakan API bolt dapat dikontrol seperti bahasa resmi akan melakukan.
Pertama kita perlu mendapatkan API key dan DEVICE ID. Dengan dua parameter ini dan perpustakaan boltiot di python kita dapat mengontrol perangkat bolt kita. Mengapa DEVICE ID, karena ada n sejumlah perangkat bolt ID ini akan membedakan dari yang lain.
Untuk mengontrol bolt Anda harus memiliki akun di www.boltiot.com. Setelah masuk ke akun Anda ikuti langkah-langkah berikut.
Seperti yang Anda lihat dalam gambar catat device ID dan klik pada API.
Jangan lupa untuk klik Enable dan Catat API key.
Pemrogramandipython:
Pertama kita mengenal perpustakaan boltiot di python Anda dapat mengunduhnya dari https://github.com/Inventrom/bolt-api-python dan menambahkannya ke perpustakaan Anda di python.
Hal berikutnya adalah mengekstrak data yaitu total jumlah coronavirus yang saat ini terdaftar di seluruh dunia. Situs web yang saya gunakan untuk mengekstrak data adalah dari https://www.worldometers.info/coronavirus/ Saya menggunakan webscraping di python untuk mengekstrak data. Saya menggunakan perpustakaan urllib dan Beautiful Soup untuk menyusut situs web dan mendapatkan data.
Jadi di perpustakaan boltiot python kita memiliki fungsi ini
Gunakan google collab yang baik untuk pemrograman di python. Sekarang jalankan kode python yang saya sediakan dan masukkan API Key dan device ID Anda.
Dan kemudian Anda siap.
SisiArduino:
Sekarang kita selesai memprogram bolt menggunakan api di python dan kita mengirim data dari bolt ke arduino melalui UART seperti pin Tx dan Rx dihubungkan ke pin Rx dan Tx arduilno masing-masing.
Lakukan koneksi ke tampilan LCD ke Arduino seperti yang ditunjukkan dalam diagram rangkaian.
Arduino menerima sinyal UART menggunakan perintah SerialRead dan kita dapat menyimpan nilai itu dalam variabel
Kita memiliki LiquidCrystal Library di arduino untuk menangani tampilan LCD.
Fungsi lcd.display("Hello") akan mencetak hello ke LCD. Jangan lupa sebelum itu kita perlu mengonfigurasi LCD dan mengatur kursor. Untuk pembaca lebih lanjut tentang lcd kunjungi https://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay.
Dan kita siap updater langsung total coronavirus terdaftar di seluruh dunia selesai.
Proyek ini melakukan satu hal lagi yaitu memicu buzzer selama 5 detik jika jumlah kasus meningkat seperti 100 dalam rentang 10 menit. Menunjukkan bahwa virus corona bukan main.
Hasil ditampilkan dalam video berikut.
Terima Kasih.
Kode
Kode Python
Kode Arduino
Kode PythonPython
from bs4 import BeautifulSoup as bf import requests import time from boltiot import Bolt import ssl a = list() #———————-Algoritma untuk membandingkan nilai setiap 10 menit————— def checking1(x,count): a.insert(count,x) if count == 1: print(a) if(a[1]-a[0] > 10): a.clear() return(1) else: a.clear() return(0) #—————————mendapatkan nilai dari situs web———————— def getting_value(): #mendapatkan nilai dari situs web y = '' html = requests.get("https://www.worldometers.info/coronavirus/") soup = bp(html.text,'html.parser') tag = soup("span") Effected_people = tag[4].contents[0] for i in range(9): if i==1 or i==5: continue y = y + Effected_people[i] x = int(y) return(x) #———————Eksekusi dimulai dari sini———————————— Effected_people = getting_value() apikey = input("Masukkan API Key") Bolt_id = input("Masukkan Bolt_ID") device = Bolt(apikey,Bolt_id) for i in range(1000): print(device.isOnline()) response = device.serialBegin(9600) x = getting_value() z = checking1(x,0) response2 = device.serialWrite(x) print(response2) time.sleep(100) #time.sleep(100) dengan penundaan untuk eksekusi selama 100 detik y = getting_value() z = checking1(y,1) response2 = device.serialWrite(y) if(z == 1): device.digitalWrite('0','HIGH') time.sleep(5) device.digitalWrite('0','LOW')
Kode Arduino Arduino
Kode ini mengambil input dari boltiot melalui UART dan menampilkannya pada Layar LCD