Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Rappel de distanciation sociale – Coronavirus

Composants et fournitures

Arduino UNO
Arduino Nano fonctionne mieux pour cela, mais j'ai utilisé un Arduino UNO.
× 1
Arduino Proto Shield
Je l'ai utilisé, mais c'est facultatif.
× 1
Mini planche à pain Adafruit
× 1
Écran LCD Elegoo 16 x 2
× 1
Capteur à ultrasons - HC-SR04 (Générique)
× 1
Capteur tactile
Vous pouvez également utiliser un bouton, mais vous aurez besoin d'une résistance pull-down.
× 1
Thermistance NTC
× 1
Résistance 10k ohm
× 1
Sonnerie
× 1
Potentiomètre rotatif (générique)
Ceci sert à régler le contraste de l'écran LCD.
× 1
Câbles de raccordement (générique)
× 1
Une boîte transparente pour tout mettre
Il doit être transparent pour que vous puissiez voir l'écran LCD et il doit être étanche pour pluie légère
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Qu'est-ce que c'est ?

Raisonnablement, l'approche la plus fiable pour ralentir la propagation du coronavirus est de se tenir à l'écart des autres; mieux vaut prévenir que guérir. Cependant, il serait agaçant de se retourner toutes les trente secondes et de regarder si quelqu'un s'approche de vous. Il serait utile s'il y avait un dispositif qui pourrait avertir les autres de se tenir à l'écart de vous. C'est le but du projet :alerter les autres pour qu'ils gardent une distance de 2 mètres avec vous. C'est un 2-en-1 car la thermistance n'est pas seulement utilisée pour ajouter de la précision à la mesure de distance (la vitesse du son change en fonction de la température) mais cela signifie également que - en utilisant un bouton ou un capteur tactile pour basculer entre les modes – il peut avoir deux modes :alerter si quelqu'un s'approche de vous (Mode 1) et mesurer la température et la distance (Mode 2). Le mode de mesure affiche la température et la distance sur l'écran LCD.

Comment ça marche ?

  • L'Arduino mesure la température.
  • La température est utilisée pour calculer la distance avec une plus grande précision.

Si l'Arduino est en Mode 1 :

  • Si la distance est comprise entre 2 m et 1 m, le rétroéclairage de l'écran LCD s'allume et l'écran LCD affiche « Veuillez vous tenir à l'écart » et à quelle distance se trouve la personne.
  • Si la distance est comprise entre 1 m et 50 cm, le rétroéclairage de l'écran LCD clignote et l'écran LCD affiche « Keep away »
  • Si la distance est inférieure à 50 cm, le rétroéclairage s'éteint et s'allume deux fois par seconde et l'écran LCD affiche « RESTEZ À L'ÉCART ! »

Si l'Arduino est en mode 2, l'écran LCD affiche la distance en haut et la température en bas de l'écran.

Pour protéger les composants de la pluie, j'ai attaché une demi-bouteille en plastique qui peut être remontée en cas de pluie.

Il peut être attaché (à l'aide de deux morceaux de ficelle) et être facilement retiré du fond d'un sac à dos.

Le capteur tactile est utilisé pour basculer entre les modes.

Comment puis-je le construire ?

Connectez les composants selon le schéma de circuit ci-dessous.

Une fois que vous avez fait cela, importez les bibliothèques dans la section intitulée "Code" - ce que vous pouvez faire (en supposant que vous ayez ouvert l'IDE Arduino) en allant dans "Sketch" -> "Inclure la bibliothèque" -> "Ajouter une bibliothèque .ZIP. ..' et en sélectionnant la bibliothèque (qui devrait être un fichier .zip). Les deux bibliothèques sont nécessaires pour que le code fonctionne.

Lorsque tout cela est fait, vous pouvez télécharger le code ci-dessous.

Code

  • Le Code
Le CodeArduino
Téléchargez-le sur l'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 arrondi;int temp_round;modes booléens volatiles =0;double distance;void setup() { lcd.begin(16, 2); attachInterrupt(0, changeMode, FALLING); pinMode(2, INPUT); pinMode(buzzer, SORTIE); pinMode (rétroéclairage, SORTIE); digitalWrite (rétroéclairage, ÉLEVÉ); 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) { backlightOn(); if (distance>=300 || distance <=0) { arrondi =0; lcd.clear(); lcd.print("Hors plage"); lcd.setCursor(0, 1); lcd.print("Température :" + String(temp_round) + "C"); } else { arrondi =rond(distance); lcd.clear(); lcd.print("Distance :"); lcd.print (arrondi); lcd.print("cm"); lcd.setCursor(0, 1); lcd.print("Température :" + String(temp_round) + "C"); } } else { if (distance>=300 || distance <=0) { arrondi =0; lcd.clear(); rétroéclairage désactivé(); } else { arrondi =rond(distance); if (distance>=200) { backlightOff(); lcd.clear(); } else if (distance <=200 &&distance> 100) { backlightOn(); lcd.clear(); lcd.print("Veuillez rester à l'écart"); lcd.setCursor(0, 1); lcd.print("Distance :"); lcd.print (arrondi); lcd.print("cm"); } else if (distance <=100 &&distance> 50) { backlightOn(); lcd.clear(); lcd.print("Tenir à l'écart"); lcd.setCursor(0, 1); lcd.print("Distance :"); lcd.print (arrondi); lcd.print("cm"); retard (200); bourdonner(); rétroéclairage désactivé(); retard (100); unbuzz(); rétroéclairage activé(); retard (100); } else if (distance <=50) { backlightOn(); lcd.clear(); lcd.print("RESTEZ LOIN !"); lcd.setCursor(0, 1); lcd.print("Distance :"); lcd.print (arrondi); lcd.print("cm"); retard (200); bourdonner(); rétroéclairage désactivé(); retard (200); unbuzz(); rétroéclairage activé(); retard (200); bourdonner(); rétroéclairage désactivé(); retard (200); unbuzz(); rétroéclairage activé(); } } } 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);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04
LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal

Schémas

coronavirus_distancing_WQxTcxgmYm.fzz

Processus de fabrication

  1. Construire une poupée Squid Games avec Arduino UNO
  2. Horloge Arduino avec heures de prière islamique
  3. Système robotique de détection humaine utilisant Arduino Uno
  4. WebServerBlink avec Arduino Uno WiFi
  5. Calculatrice UNO simple
  6. Afficher une image sur un écran LCD TFT avec Arduino UNO !
  7. Persistance de la vision
  8. Lutte contre le coronavirus :minuterie de lavage des mains simple
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno