Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sistema Recordatorio Distanciamiento Social COVID-19 con Arduino

Componentes y materiales

ComponenteCantidadNotas
Arduino UNO1Arduino Nano es mejor, pero usé UNO
Shield Proto Arduino1Opcional
Mini protoboard Adafruit1
Pantalla LCD 16x2 Elegoo1
Sensor ultrasónico HC-SR041
Sensor táctil1También sirve un botón con pull-down
Termistor NTC1
Resistencia 10kΩ1
Zumbador1
Potenciómetro rotativo1Para contraste LCD
Cables jumpers1 juego
Caja transparente estanca1Transparente para ver LCD, resistente a lluvia ligera

Aplicaciones y servicios

Descripción del proyecto

¿Qué es?

La forma más fiable de frenar la propagación del coronavirus es mantener la distancia; prevenir es mejor que curar. Pero resulta molesto girarse cada 30 segundos para ver si alguien se acerca. Sería útil un dispositivo que avise a los demás que mantengan 2 metros. Ese es el propósito: alertar para mantener 2 m de distancia. Es un 2-en-1: el termistor no solo mejora la precisión de la medida de distancia (la velocidad del sonido varía con la temperatura), sino que permite dos modos mediante botón/sensor táctil:

¿Cómo funciona?

  1. Arduino mide la temperatura.
  2. Usa la temperatura para calcular la distancia con mayor precisión.

Modo 1 (Alerta):

Modo 2 (Medición): LCD muestra distancia (arriba) y temperatura (abajo).

Para proteger de la lluvia, usé media botella plástica que se sube cuando llueve. Se sujeta a la mochila con dos cuerdas y se quita fácilmente.

Sistema Recordatorio Distanciamiento Social COVID-19 con Arduino
Dispositivo sujeto a mochila con cordones
Demostración modo alerta (GIF)
Demostración modo medición (GIF)
Protección contra lluvia con media botella
Sensor HC-SR04 frontal
Electrónica interna

El sensor táctil cambia entre modos.

Sistema Recordatorio Distanciamiento Social COVID-19 con Arduino
Conexión sensor táctil para cambio de modo

¿Cómo construirlo?

  1. Conecta los componentes según el esquema.
  2. Importa las librerías (sección Código): en Arduino IDE → Sketch → Include Library → Add .ZIP Library... Selecciona ambos .zip (son necesarios).
  3. Sube el código.
Sistema Recordatorio Distanciamiento Social COVID-19 con Arduino
Esquema principal de conexiones (Fritzing)
Detalle conexiones LCD y contraste

Código

Código principal (Arduino)

#include <HCSR04.h>
#include <LiquidCrystal.h>

#define trigPin 7
#define echoPin 6
#define buzzer 9
#define backlight 10

LiquidCrystal lcd(12, 11, 5, 4, 3, 8);
UltraSonicDistanceSensor distanceSensor(trigPin, echoPin);

int tempReading;
double tempK;
float tempC;
int rounded, temp_round;
volatile boolean modes = 0;
double distance;

void setup() {
  lcd.begin(16, 2);
  attachInterrupt(0, changeMode, FALLING);
  pinMode(2, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(backlight, OUTPUT);
  digitalWrite(backlight, HIGH);
  backlightOn();
}

void loop() {
  tempReading = analogRead(A0);
  tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
  tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK)) * tempK);
  tempC = tempK - 273.15;
  distance = distanceSensor.measureDistanceCm(tempC);
  temp_round = round(tempC);

  if (modes == 1) { // Modo 2: Medición
    backlightOn();
    if (distance >= 300 || distance <= 0) {
      rounded = 0;
      lcd.clear();
      lcd.print("Out of range");
      lcd.setCursor(0, 1);
      lcd.print("Temperature:" + String(temp_round) + " C");
    } else {
      rounded = round(distance);
      lcd.clear();
      lcd.print("Distance: "); lcd.print(rounded); lcd.print(" cm");
      lcd.setCursor(0, 1);
      lcd.print("Temperature:" + String(temp_round) + " C");
    }
  } else { // Modo 1: Alerta
    if (distance >= 300 || distance <= 0) {
      rounded = 0; lcd.clear(); backlightOff();
    } else {
      rounded = round(distance);
      if (distance >= 200) { backlightOff(); lcd.clear(); }
      else if (distance <= 200 && distance > 100) {
        backlightOn(); lcd.clear();
        lcd.print("Please keep away");
        lcd.setCursor(0, 1); lcd.print("Distance:"); lcd.print(rounded); lcd.print(" cm");
      }
      else if (distance <= 100 && distance > 50) {
        backlightOn(); lcd.clear();
        lcd.print("Keep away");
        lcd.setCursor(0, 1); lcd.print("Distance:"); lcd.print(rounded); lcd.print(" cm");
        delay(200); buzz(); backlightOff(); delay(100); unbuzz(); backlightOn(); delay(100);
      }
      else if (distance <= 50) {
        backlightOn(); lcd.clear();
        lcd.print("STAY AWAY!");
        lcd.setCursor(0, 1); lcd.print("Distance:"); lcd.print(rounded); lcd.print(" cm");
        delay(200); buzz(); backlightOff(); delay(200); unbuzz(); backlightOn(); delay(200);
        buzz(); backlightOff(); delay(200); unbuzz(); backlightOn();
      }
    }
  }
  delay(700);
}

void changeMode() { modes = !modes; }
void backlightOn() { digitalWrite(backlight, HIGH); }
void backlightOff() { digitalWrite(backlight, LOW); }
void buzz() { digitalWrite(buzzer, HIGH); }
void unbuzz() { digitalWrite(buzzer, LOW); }

Librerías necesarias

Esquemáticos

Sistema Recordatorio Distanciamiento Social COVID-19 con Arduino
Montaje en protoboard

Proceso de manufactura

  1. Muñeca interactiva "El Juego del Calamar" con Arduino UNO: Proyecto DIY
  2. Construye un reloj en tiempo real con Arduino para horarios de oración islámica
  3. Robot de Detección Humana con Arduino Uno: Integración de Sensores Paso a Paso
  4. Servidor Web Arduino Uno WiFi: Controla un LED desde el Navegador
  5. Calculadora Básica con Arduino UNO - Proyecto Fácil para Principiantes
  6. Cómo mostrar imágenes en una pantalla TFT LCD de 1.17 pulgadas con Arduino UNO
  7. Construir una pantalla de persistencia de visión portátil con Arduino UNO y ATtiny85
  8. Temporizador de Lavado de Manos con Arduino: Herramienta DIY Simple para Combatir el COVID‑19
  9. Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso
  10. Construye un Cubo LED 4x4x4 con Arduino Uno y 1Sheeld – Proyecto LED Interactivo
  11. Control de Ventilador PWM de 4 Pines a 25 kHz con Arduino Uno – Montaje, Código y Pruebas