Rastreador COVID-19 em Tempo Real com Sistema de Alerta
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| Módulo Wi-Fi Bolt IoT (Bolt WiFi Module) | 1 |
| LCD RGB Backlight 16x2 (Adafruit) | 1 |
Sobre o Projeto
Dois funções: (1) Exibe total global de casos COVID-19 no LCD. (2) Aciona buzzer por 5s se casos aumentarem >100 (original diz 500, código usa 10) em 10 minutos, alertando sobre gravidade.
Configuração do Módulo Bolt
Bolt = camada simplificada sobre ESP8266. Controlado via **API REST** (Python, JS, etc.). Requer conta em boltiot.com.
- Login → Anote **Device ID**.
- Clique **API** → **Enable** → Anote **API Key**.
Instale biblioteca Python: pip install boltiot (ou via GitHub).
Programação Python (Google Colab recomendado)
- Web scraping de worldometers.info usando
requests+BeautifulSoup. - Extrai total de casos (tag
<span>índice 4). - Função
checking1()compara valor atual com anterior (10 min atrás). Se diferença > 10 → retorna 1. - Loop: a cada ~100s (ajustar para 600s = 10 min), lê site, envia valor ao Bolt via
serialWrite(), se alerta →digitalWrite('0', 'HIGH')por 5s (buzzer no pino 0 do Bolt).
# Python (resumo)
from boltiot import Bolt
import requests, time
from bs4 import BeautifulSoup
def get_cases():
html = requests.get("https://www.worldometers.info/coronavirus/")
soup = BeautifulSoup(html.text, 'html.parser')
tag = soup.find_all("span")
# Lógica de extração do número (ver código original)
return int(valor)
device = Bolt(API_KEY, DEVICE_ID)
device.serialBegin(9600)
prev = get_cases()
while True:
time.sleep(600) # 10 min
curr = get_cases()
device.serialWrite(str(curr))
if curr - prev > 10: # limiar
device.digitalWrite('0', 'HIGH')
time.sleep(5)
device.digitalWrite('0', 'LOW')
prev = curr
Lado Arduino
Recebe via UART (pinos 0/1) do Bolt (TX→RX, RX→TX). Mostra no LCD 16x2 (pinos 2-7).
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
lcd.print("Total affected:");
}
void loop() {
lcd.setCursor(0,1);
if (Serial.available()) {
String x = Serial.readString();
lcd.print(x);
}
}
Nota: O site worldometers mudou estrutura; o seletor tag[4] pode precisar atualização. O buzzer conectado ao pino 0 (GPIO0) do Bolt.
Esquemáticos
Conexões: Bolt TX→Arduino RX (D0), Bolt RX→Arduino TX (D1), Bolt GPIO0→Buzzer→GND. LCD: RS=2, E=3, D4=4, D5=5, D6=6, D7=7. Alimentação compartilhada.
Processo de manufatura
- Construa API Robusta de Temperatura e Sensores no Raspberry Pi com Módulo GY‑91
- Configure uma Câmera IP Ao Vivo no Raspberry Pi Usando Motion – Guia Passo a Passo
- Java 9 (JDK 9) – Principais Recursos e Benefícios
- Java 9 Multi-Resolution Image API: Simplifique Gráficos Responsivos
- Java 9: Aprimoramentos na API CompletableFuture para Concorrência
- Chave de Boca Fechada (Box Wrench) Explicada: Design, Uso e Vantagens
- Parafusos de Máquina (Machine Bolts): Tipos, Graus, Materiais e Instalação Correta
- Ferrolho de Travamento (Latch Bolt): Função, Tipos (Trinco, Fechadura) e Segurança
- Entendendo Tipos de Parafusos e Parafusos de Rosca para Montagem Ideal
- Parafuso vs. Parafuso de Rosca: Diferenças Principais, Tipos e Aplicações