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

Recordatorio de distanciamiento social - Coronavirus

Componentes y suministros

Arduino UNO
Arduino Nano funciona mejor para esto, pero he usado un Arduino UNO.
× 1
Arduino Proto Shield
Lo usé, pero es opcional.
× 1
Adafruit Mini Breadboard
× 1
Pantalla LCD Elegoo 16 x 2
× 1
Sensor ultrasónico - HC-SR04 (genérico)
× 1
Sensor táctil
También puedes usar un botón, pero necesitarás una resistencia desplegable.
× 1
Termistor NTC
× 1
Resistencia de 10k ohmios
× 1
Buzzer
× 1
Potenciómetro giratorio (genérico)
Esto es para ajustar el contraste de la pantalla LCD.
× 1
Cables de puente (genéricos)
× 1
Una caja transparente para poner todo en
Debe ser transparente para que pueda ver la pantalla LCD y debe ser impermeable para lluvia ligera
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

¿Qué es?

Razonablemente, el enfoque más confiable para frenar la propagación del coronavirus es mantenerse alejado de los demás; es mejor prevenir que curar. Sin embargo, sería irritante dar la vuelta cada treinta segundos y mirar si alguien se te acerca. Sería útil si hubiera un dispositivo que pudiera advertir a otros que se mantengan alejados de usted. Ese es el propósito del proyecto:alertar a los demás para que se mantengan a una distancia de 2 metros de usted. Es un 2 en 1 ya que el termistor no solo se usa para agregar precisión a la medición de la distancia (la velocidad del sonido cambia según la temperatura) sino que también significa que, al usar un botón o un sensor táctil para cambiar entre los modos:puede tener dos modos:alertando si alguien se acerca a usted (Modo 1) y midiendo la temperatura y la distancia (Modo 2). El modo de medición muestra la temperatura y la distancia en la pantalla LCD.

¿Cómo funciona?

  • El Arduino mide la temperatura.
  • La temperatura se utiliza para calcular la distancia con mayor precisión.

Si el Arduino está en Modo 1:

  • Si la distancia está entre 2 my 1 m, la luz de fondo de la pantalla LCD se enciende y la pantalla LCD muestra "Manténgase alejado" y qué tan lejos está la persona.
  • Si la distancia es de 1 m - 50 cm, la luz de fondo de la pantalla LCD parpadea y la pantalla LCD muestra "Manténgase alejado"
  • Si la distancia es inferior a 50 cm, la luz de fondo se apaga y se enciende dos veces por segundo y la pantalla LCD muestra "STAY AWAY!"

Si el Arduino está en Modo 2, la pantalla LCD muestra la distancia en la parte superior y la temperatura en la parte inferior de la pantalla.

Para proteger los componentes de la lluvia, adjunté media botella de plástico que se puede empujar hacia arriba cuando llueve.

Puede sujetarse (con dos trozos de cuerda) y quitarse fácilmente de la parte inferior de una mochila.

El sensor táctil se utiliza para cambiar entre los modos.

¿Cómo lo construyo?

Conecte los componentes de acuerdo con el diagrama de circuito a continuación.

Una vez que haya hecho eso, importe las bibliotecas en la sección denominada 'Código', lo que puede hacer (suponiendo que haya abierto el IDE de Arduino) yendo a 'Sketch' -> 'Incluir biblioteca' -> 'Agregar biblioteca .ZIP'. .. 'y seleccionando la biblioteca (que debería ser un archivo .zip). Ambas bibliotecas son necesarias para que el código funcione.

Cuando haya terminado, puede cargar el código a continuación.

Código

  • El código
El código Arduino
Subirlo al Arduino.
 #include  #include  #define trigPin 7 # define echoPin 6 # define buzzer 9 # define backlight 10LiquidCrystal lcd (12, 11, 5, 4, 3 , 8); UltraSonicDistanceSensor distanceSensor (trigPin, echoPin); int tempReading; doble tempK; float tempC; int redondeado; int temp_round; modos booleanos volátiles =0; doble distancia; void setup () {lcd.begin (16, 2); attachInterrupt (0, changeMode, FALLING); pinMode (2, ENTRADA); pinMode (zumbador, SALIDA); pinMode (luz de fondo, SALIDA); digitalWrite (luz de fondo, ALTA); backlightOn ();} bucle vacío () {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; distancia =sensor de distancia.medidaDistanciaCm (tempC); temp_round =round (tempC); if (modos ==1) {backlightOn (); if (distancia> =300 || distancia <=0) {redondeado =0; lcd.clear (); lcd.print ("Fuera de rango"); lcd.setCursor (0, 1); lcd.print ("Temperatura:" + Cadena (temp_round) + "C"); } else {redondeado =redondo (distancia); lcd.clear (); lcd.print ("Distancia:"); lcd.print (redondeado); lcd.print ("cm"); lcd.setCursor (0, 1); lcd.print ("Temperatura:" + Cadena (temp_round) + "C"); }} else {if (distancia> =300 || distancia <=0) {redondeado =0; lcd.clear (); luz de fondo apagada(); } else {redondeado =redondo (distancia); if (distancia> =200) {backlightOff (); lcd.clear (); } else if (distancia <=200 &&distancia> 100) {backlightOn (); lcd.clear (); lcd.print ("Por favor, manténgase alejado"); lcd.setCursor (0, 1); lcd.print ("Distancia:"); lcd.print (redondeado); lcd.print ("cm"); } else if (distancia <=100 &&distancia> 50) {backlightOn (); lcd.clear (); lcd.print ("Mantener alejado"); lcd.setCursor (0, 1); lcd.print ("Distancia:"); lcd.print (redondeado); lcd.print ("cm"); retraso (200); zumbido(); luz de fondo apagada(); retraso (100); unbuzz (); backlightOn (); retraso (100); } else if (distancia <=50) {backlightOn (); lcd.clear (); lcd.print ("¡MANTENTE ALEJADO!"); lcd.setCursor (0, 1); lcd.print ("Distancia:"); lcd.print (redondeado); lcd.print ("cm"); retraso (200); zumbido(); luz de fondo apagada(); retraso (200); unbuzz (); backlightOn (); retraso (200); zumbido(); luz de fondo apagada(); retraso (200); unbuzz (); backlightOn (); }}} delay (700);} void changeMode () {modos =! modos;} void backlightOn () {digitalWrite (retroiluminación, ALTA);} void backlightOff () {digitalWrite (retroiluminación, LOW);} void buzz () {digitalWrite (zumbador, ALTO);} void unbuzz () {digitalWrite (zumbador, BAJO);} 
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04
LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal

Esquemas

coronavirus_distancing_WQxTcxgmYm.fzz

Proceso de manufactura

  1. Construcción de Squid Games Doll usando Arduino UNO
  2. Reloj Arduino con tiempos de oración islámicos
  3. Sistema de robótica de detección humana con Arduino Uno
  4. WebServerBlink usando Arduino Uno WiFi
  5. Calculadora UNO simple
  6. ¡Visualización de una imagen en una pantalla LCD TFT con Arduino UNO!
  7. Persistencia de la visión
  8. Lucha contra el coronavirus:temporizador de lavado de manos simple
  9. Controlar una matriz de LED con Arduino Uno
  10. Cubo LED 4x4x4 con Arduino Uno y 1sheeld
  11. Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno