Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Erinnerung an soziale Distanzierung – Coronavirus

Komponenten und Verbrauchsmaterialien

Arduino UNO
Arduino Nano funktioniert dafür besser, aber ich habe ein Arduino UNO verwendet.
× 1
Arduino Proto Shield
Ich habe es verwendet, aber es ist optional.
× 1
Adafruit Mini Breadboard
× 1
Elegoo 16 x 2 LCD-Display
× 1
Ultraschallsensor - HC-SR04 (Generic)
× 1
Berührungssensor
Sie können auch eine Taste verwenden, benötigen jedoch einen Pulldown-Widerstand.
× 1
NTC-Thermistor
× 1
Widerstand 10k Ohm
× 1
Summer
× 1
Drehpotentiometer (allgemein)
Damit wird der Kontrast des LCD eingestellt.
× 1
Jumper (generisch)
× 1
Eine transparente Box, in die man alles hineinstecken kann
Es muss transparent sein, damit Sie das LCD sehen können, und es muss wasserdicht sein, um leichter Regen
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Was ist das?

Der zuverlässigste Ansatz zur Verlangsamung der Ausbreitung des Coronavirus besteht vernünftigerweise darin, sich von anderen fernzuhalten; Vorbeugung ist besser als Heilung. Es wäre jedoch irritierend, sich alle dreißig Sekunden umzudrehen und zu schauen, ob sich jemand nähert. Es wäre hilfreich, wenn es ein Gerät gäbe, das andere warnen könnte, sich von Ihnen fernzuhalten. Das ist der Zweck des Projekts:andere darauf aufmerksam zu machen, einen Abstand von 2 Metern zu Ihnen einzuhalten. Es ist ein 2-in-1, da der Thermistor nicht nur verwendet wird, um die Distanzmessung genauer zu machen (die Schallgeschwindigkeit ändert sich je nach Temperatur), sondern auch, dass - durch Verwendung einer Taste oder eines Berührungssensors zum Umschalten zwischen die Modi – es kann zwei Modi haben:Warnung, wenn jemand in Ihre Nähe kommt (Modus 1) und Messung der Temperatur und der Entfernung (Modus 2). Der Messmodus zeigt die Temperatur und die Entfernung auf dem LCD an.

Wie funktioniert es?

  • Der Arduino misst die Temperatur.
  • Die Temperatur wird verwendet, um die Entfernung mit größerer Genauigkeit zu berechnen.

Wenn sich das Arduino im Modus 1 befindet:

  • Wenn der Abstand zwischen 2 m und 1 m beträgt, leuchtet die LCD-Hintergrundbeleuchtung auf und das LCD zeigt "Bitte Abstand halten" und wie weit die Person entfernt ist.
  • Wenn der Abstand 1m - 50cm beträgt, blinkt die Hintergrundbeleuchtung des LCD und das LCD zeigt "Keep away" an
  • Wenn der Abstand weniger als 50 cm beträgt, schaltet sich die Hintergrundbeleuchtung zweimal pro Sekunde aus und wieder ein und das LCD zeigt "BLEIBEN SIE AWE!"

Wenn sich der Arduino im Modus 2 befindet, zeigt das LCD die Entfernung oben und die Temperatur unten auf dem Bildschirm an.

Um die Komponenten vor Regen zu schützen, habe ich eine halbe Plastikflasche angebracht, die bei Regen hochgeschoben werden kann.

Es kann an der Unterseite eines Rucksacks befestigt werden (mit Hilfe von zwei Schnüren) und leicht von der Unterseite eines Rucksacks entfernt werden.

Der Berührungssensor wird verwendet, um zwischen den Modi zu wechseln.

Wie baue ich es?

Schließen Sie die Komponenten gemäß dem unten stehenden Schaltplan an.

Sobald Sie das getan haben, importieren Sie die Bibliotheken unter dem Abschnitt "Code" - was Sie tun können, indem Sie (vorausgesetzt, Sie haben die Arduino IDE geöffnet) zu "Skizze" -> "Bibliothek einschließen" -> "ZIP-Bibliothek hinzufügen" gehen. ..' und Auswählen der Bibliothek (die eine .zip-Datei sein sollte). Beide Bibliotheken werden benötigt, damit der Code funktioniert.

Wenn das alles erledigt ist, können Sie den unten stehenden Code hochladen.

Code

  • Der Kodex
Der CodeArduino
Laden Sie es auf den Arduino hoch.
#include #include #define trigPin 7#define echoPin 6#define Summer 9#define backlight 10LiquidCrystal lcd(12, 11, 5, 4, 3 , 8);UltraSonicDistanceSensor distanceSensor(trigPin, echoPin);int tempReading;double tempK;float tempC;int gerundet;int temp_round;volatile boolesche Modi =0;double distance;void setup() { lcd.begin (16, 2); attachInterrupt(0, changeMode, FALLING); pinMode (2, EINGANG); pinMode (Summer, AUSGANG); PinMode (Hintergrundbeleuchtung, AUSGANG); digitalWrite (Hintergrundbeleuchtung, HIGH); backlightOn();}void loop() { tempReading =analogRead (A0); tempK =log(10000,0 * ((1024.0 / tempReading - 1))); tempK =1 / (0,001129148 + (0,000234125 + (0,000000876741 * tempK * tempK)) * tempK ); tempC =tempK - 273,15; Abstand =AbstandSensor.measureDistanceCm(tempC); temp_rund =rund (tempC); Wenn (Modi ==1) { HintergrundbeleuchtungOn (); if (Abstand>=300 || Abstand <=0) { gerundet =0; lcd.clear(); lcd.print("Außer Reichweite"); lcd.setCursor(0, 1); lcd.print("Temperatur:" + String(temp_round) + "C"); aufrechtzuerhalten. Sonst { gerundet =rund (Abstand); lcd.clear(); lcd.print("Entfernung:"); lcd.print (abgerundet); lcd.print("cm"); lcd.setCursor(0, 1); lcd.print("Temperatur:" + String(temp_round) + "C"); } } else { if (Abstand>=300 || Abstand <=0) { gerundet =0; lcd.clear(); HintergrundbeleuchtungAus (); aufrechtzuerhalten. Sonst { gerundet =rund (Abstand); if (Abstand>=200) {backlightOff(); lcd.clear(); aufrechtzuerhalten. Sonst if (Abstand <=200 &&Abstand> 100) { backlightOn (); lcd.clear(); lcd.print("Bitte fernhalten"); lcd.setCursor(0, 1); lcd.print("Entfernung:"); lcd.print (abgerundet); lcd.print("cm"); aufrechtzuerhalten. Sonst if (Abstand <=100 &&Abstand> 50) {backlightOn(); lcd.clear(); lcd.print("Bleib weg"); lcd.setCursor(0, 1); lcd.print("Entfernung:"); lcd.print (abgerundet); lcd.print("cm"); Verzögerung (200); summen(); HintergrundbeleuchtungAus (); Verzögerung (100); unbuzz(); HintergrundbeleuchtungOn(); Verzögerung (100); aufrechtzuerhalten. Sonst if (Abstand <=50) {backlightOn(); lcd.clear(); lcd.print("Bleib weg!"); lcd.setCursor(0, 1); lcd.print("Entfernung:"); lcd.print (abgerundet); lcd.print("cm"); Verzögerung (200); summen(); HintergrundbeleuchtungAus (); Verzögerung (200); unbuzz(); HintergrundbeleuchtungOn(); Verzögerung (200); summen(); HintergrundbeleuchtungAus (); Verzögerung (200); unbuzz(); HintergrundbeleuchtungOn(); } } } delay(700);}void changeMode() { Modi =!modes;}void backlightOn() { digitalWrite (backlight, HIGH);}void backlightOff() { digitalWrite (backlight, LOW);}void Buzz() { digitalWrite(summer, HIGH);}void unbuzz() { digitalWrite(summer, LOW);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04
LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal

Schaltpläne

Coronavirus_distancing_WQxTcxgmYm.fzz

Herstellungsprozess

  1. Squid Games Doll-Build mit Arduino UNO
  2. Arduino-Uhr mit islamischen Gebetszeiten
  3. Robotersystem zur Erkennung von Menschen mit Arduino Uno
  4. WebServerBlink mit Arduino Uno WiFi
  5. Einfacher UNO-Rechner
  6. Anzeige eines Bildes auf einem LCD-TFT-Bildschirm mit Arduino UNO!
  7. Beharrlichkeit der Vision
  8. Bekämpfen Sie das Coronavirus:Einfacher Handwasch-Timer
  9. Steuerung einer LED-Matrix mit Arduino Uno
  10. 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno