Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Herinnering voor sociale afstand – Coronavirus

Componenten en benodigdheden

Arduino UNO
Arduino Nano werkt hier beter voor, maar ik heb een Arduino UNO gebruikt.
× 1
Arduino Proto Shield
Ik heb het gebruikt, maar het is optioneel.
× 1
Adafruit Mini Breadboard
× 1
Elegoo 16 x 2 LCD-scherm
× 1
Ultrasone sensor - HC-SR04 (algemeen)
× 1
Aanraaksensor
Je kunt ook een knop gebruiken, maar dan heb je een pull-down-weerstand nodig.
× 1
NTC-thermistor
× 1
Weerstand 10k ohm
× 1
Zoemer
× 1
Draaipotentiometer (generiek)
Dit is om het contrast van het LCD-scherm aan te passen.
× 1
Jumperdraden (algemeen)
× 1
Een transparant vak om alles in te stoppen
Het moet transparant zijn om het LCD-scherm te kunnen zien en het moet waterdicht zijn om lichte regen
× 1

Apps en online services

Arduino IDE

Over dit project

Wat is het?

Redelijkerwijs is de meest betrouwbare manier om de verspreiding van het coronavirus te vertragen, afstand houden van anderen; voorkomen is beter dan genezen. Het zou echter irritant zijn om elke dertig seconden om te draaien en te kijken of iemand je naderde. Het zou handig zijn als er een apparaat was dat anderen zou kunnen waarschuwen om uit de buurt te blijven. Dat is het doel van het project:anderen waarschuwen om 2 meter afstand van je te houden. Het is een 2-in-1 omdat de thermistor niet alleen wordt gebruikt om nauwkeurigheid toe te voegen aan de afstandsmeting (de snelheid van het geluid verandert afhankelijk van de temperatuur), maar het betekent ook dat - door een knop of een aanraaksensor te gebruiken om te schakelen tussen de modi - het kan twee modi hebben:waarschuwen als iemand in de buurt komt (modus 1) en de temperatuur en de afstand meten (modus 2). De meetmodus toont de temperatuur en de afstand op het LCD-scherm.

Hoe werkt het?

  • De Arduino meet de temperatuur.
  • De temperatuur wordt gebruikt om de afstand nauwkeuriger te berekenen.

Als de Arduino in Mode 1 staat:

  • Als de afstand tussen 2 m en 1 m is, licht de achtergrondverlichting van het LCD-scherm op en toont het LCD-scherm "Blijf weg" en hoe ver de persoon verwijderd is.
  • Als de afstand 1 m - 50 cm is, knippert de achtergrondverlichting van het LCD-scherm en wordt op het LCD-scherm "Blijf weg" weergegeven
  • Als de afstand minder dan 50 cm is, gaat de achtergrondverlichting twee keer per seconde uit en weer aan en wordt op het LCD-scherm "BLIJF WEG!" weergegeven.

Als de Arduino in Mode 2 staat, toont het LCD-scherm de afstand aan de bovenkant en de temperatuur aan de onderkant van het scherm.

Om de onderdelen tegen de regen te beschermen, heb ik een halve plastic fles bevestigd die bij regen omhoog kan worden geduwd.

Het kan worden vastgemaakt aan (met behulp van twee stukken touw) en gemakkelijk worden verwijderd van de onderkant van een rugzak.

De aanraaksensor wordt gebruikt om tussen de modi te schakelen.

Hoe bouw ik het?

Sluit de componenten aan volgens onderstaand schakelschema.

Zodra je dat hebt gedaan, importeer je de bibliotheken onder de sectie met de naam 'Code' - wat je kunt doen door (ervan uitgaande dat je de Arduino IDE hebt geopend) naar 'Sketch' -> 'Include Library' -> 'Add .ZIP Library' te gaan. ..' en selecteer de bibliotheek (dit zou een .zip-bestand moeten zijn). Beide bibliotheken zijn nodig om de code te laten werken.

Als dat allemaal gedaan is, kun je de onderstaande code uploaden.

Code

  • De code
De CodeArduino
Upload het naar de 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;double tempK;float tempC;int round;int temp_round;vluchtige boolean modes =0;double distance;void setup() { lcd.begin(16, 2); attachInterrupt(0, changeMode, FALLING); pinMode(2, INPUT); pinMode (zoemer, UITGANG); pinMode (achtergrondverlichting, UITGANG); digitalWrite (achtergrondverlichting, HOOG); 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; afstand =afstandSensor.measureDistanceCm(tempC); temp_round =ronde (tempC); if (modi ==1) { backlightOn(); if (afstand>=300 || afstand <=0) { afgerond =0; lcd.wissen(); lcd.print("Buiten bereik"); lcd.setCursor(0, 1); lcd.print ("Temperatuur:" + String (temp_round) + " C"); } else { afgerond =rond (afstand); lcd.wissen(); lcd.print("Afstand:"); lcd.print(afgerond); lcd.print ("cm"); lcd.setCursor(0, 1); lcd.print ("Temperatuur:" + String (temp_round) + " C"); } } else { if (afstand>=300 || afstand <=0) { afgerond =0; lcd.wissen(); achtergrondverlichtingUit(); } else { afgerond =rond (afstand); if (afstand>=200) { backlightOff(); lcd.wissen(); } else if (afstand <=200 &&afstand> 100) { backlightOn(); lcd.wissen(); lcd.print("Blijf uit de buurt"); lcd.setCursor(0, 1); lcd.print("Afstand:"); lcd.print(afgerond); lcd.print ("cm"); } else if (afstand <=100 &&afstand> 50) { backlightOn(); lcd.wissen(); lcd.print("Blijf uit de buurt"); lcd.setCursor(0, 1); lcd.print("Afstand:"); lcd.print(afgerond); lcd.print ("cm"); vertraging (200); ophef(); achtergrondverlichtingUit(); vertraging (100); opheffen (); achtergrondverlichting Aan (); vertraging (100); } else if (afstand <=50) { backlightOn(); lcd.wissen(); lcd.print("BLIJF WEG!"); lcd.setCursor(0, 1); lcd.print("Afstand:"); lcd.print(afgerond); lcd.print ("cm"); vertraging (200); ophef(); achtergrondverlichtingUit(); vertraging (200); opheffen (); achtergrondverlichting Aan (); vertraging (200); ophef(); achtergrondverlichtingUit(); vertraging (200); opheffen (); achtergrondverlichting Aan (); } } } delay(700);}void changeMode() { modes =!modes;}void backlightOn() {digitalWrite(backlight, HIGH);}void backlightOff() {digitalWrite(backlight, LOW);}void buzz() { digitalWrite(zoemer, HOOG);}void unbuzz() { digitalWrite(zoemer, LAAG);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04
LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal

Schema's

coronavirus_distancing_WQxTcxgmYm.fzz

Productieproces

  1. Squid Games Doll gebouwd met Arduino UNO
  2. Arduino klok met islamitische gebedstijden
  3. Human Detection Robotics System met Arduino Uno
  4. WebServerBlink met Arduino Uno WiFi
  5. Eenvoudige UNO-rekenmachine
  6. Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO!
  7. Persistentie van visie
  8. Vecht tegen het coronavirus:eenvoudige handwastimer
  9. Een LED-matrix besturen met Arduino Uno
  10. 4x4x4 LED-kubus met Arduino Uno en 1sheeld
  11. 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno