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

CoroFence - Détecteur thermique🖖

Composants et fournitures

Panasonic GridEye
× 1
Capteur PIR, 7 m
× 1
Sonnerie
× 1
LED, RVB
× 1
Arduino Nano 33 IoT
× 1
Batterie rechargeable, 3,7 V
× 1
Boîtier en plastique, boîte de jonction
× 1

Applications et services en ligne

Arduino IDE
Canal de stockage de données DasData Maker

À propos de ce projet

Crise pandémique mondiale actuelle

Comme le recommande l'Organisation mondiale de la santé (OMS) pour prévenir la propagation de l'infection, il faut se laver les mains régulièrement, se couvrir la bouche et le nez lorsqu'on tousse et éternue, bien cuire la viande et les œufs. Évitez tout contact étroit avec toute personne présentant des symptômes de maladie respiratoire comme la toux et les éternuements.

C'est devenu une pratique courante lors d'un voyage dans les aéroports d'avoir des scanners thermiques afin de découvrir d'éventuels voyageurs infectés.

Détecteur thermique fait maison

Alors que nous sommes mis au défi de continuer notre travail à distance en tant que couche de protection dans la situation actuelle, nous devons éviter d'entrer en contact avec les autres jusqu'à ce que la situation soit sous contrôle.

L'idée principale est de construire un détecteur de caméra thermique qui peut être facilement déployé à l'extérieur de votre maison/laboratoire/bureau/navette... afin que vous puissiez être protégé dans votre zone de sécurité.

Capteurs d'entrée

  • Oeil de grille

"Contrairement aux capteurs thermiques conventionnels qui ne mesurent que la température d'un certain point de contact, Grid-EYE, basé sur la technologie MEMS de Panasonic, peut mesurer la température de l'ensemble de la zone spécifiée sans aucun contact; en d'autres termes, il s'agit d'un « capteur à matrice de thermopiles sans contact ». 64 pixels permettent une mesure précise de la température sur un angle de vision de 60° fourni par une lentille en silicium. Grid-EYE utilise une interface de communication I²C, permettant des mesures de température à des vitesses de 1 ou 10 images/sec. Une fonction d'interruption est également disponible."

  • Dimensions :11,6 x 4,3 x 8,0 mm (L x H x l)
  • Tension de fonctionnement : 3,3 V ou 5,0 V (selon le numéro de référence)
  • Plage de température de l'objet à mesurer :-20°C à 100°C (dépend du P/N)
  • Champ de vision (FoV) :60°
  • Nombre de pixels :64 (verticalement 8 x horizontal 8)
  • Interface externe :I²C (mode rapide)
  • Fréquence d'images :10 images/s ou 1 image/s

Ce qui rend ce capteur parfait pour la détection humaine à partir de 1,5 mètre et a une cible à 5/7 mètres.

  • PIR

Nous avons également besoin d'un déclencheur car nous voulons également activer la caméra thermique lorsqu'un mouvement est détecté. Par conséquent, un capteur PIR est le choix parfait.

"Le capteur PIR détecte un être humain se déplaçant à environ 10 m du capteur. Il s'agit d'une valeur moyenne, car la plage de détection réelle est comprise entre 5 m et 12 m. Les PIR sont fondamentalement constitués d'un capteur pyroélectrique, qui peut détecter les niveaux de rayonnement infrarouge . Pour de nombreux projets ou éléments essentiels qui doivent découvrir quand un individu a quitté ou est entré dans la zone. Les capteurs PIR sont incroyables, ils offrent un contrôle plat et un effort minimal, ont une large gamme d'objectifs et sont simples à utiliser. "

Additionnez les éléments comme ci-dessous :

Une fois la connectivité terminée (voir le schéma ci-dessous), préparez la boîte pour les capteurs d'entrée comme suit :

Sortie visuelle et sonore

  • LEED RVB

Nous aimerions obtenir un retour instantané sur la température avec une LED RVB de base qui sera programmée pour afficher certaines couleurs lorsque nous entrons dans la caméra thermique.

  • Sonnerie

Lorsque la température dépasse la normale de 37 °C, nous déclenchons une alarme sonore afin de vous avertir des dangers possibles.

Tests finaux :

Tant que la température est normale et que la présence est détectée, nous affichons un feu vert

// différentes couleurs peuvent être établies
if (tempC<16) {
setColor(0, 0, 255); // bleu
} else if(tempC <15) {
setColor(80, 0, 80); // cyan
} else if(tempC <30) {
setColor(0, 255, 255); // aqua
} else if(tempC <36) {
setColor(0, 255, 0); // vert
} else if(tempC <38) {
setColor(255, 255, 0); // jaune
} else if(tempC <39) {
setColor(255, 20, 20); // magenta
}

Pour déclencher l'alarme sonore et la couleur rouge, testez-le correctement à l'aide d'un fer à repasser à vapeur pour vêtements, comme on l'a découvert par hasard plus tard en faisant des travaux ménagers.

Vivez longtemps et prospérez

Alternativement, vous pouvez afficher la température dans une interface NodeJS et obtenir les données de votre Arduino sur une connexion série avec cette application de terminal.

Il est également prévu d'étendre l'intégration des données avec la plate-forme das et de commencer la modélisation.

Suivez la diffusion en direct sur @dasData

https://dasdata.co/camera/

J'espère que vous serez en sécurité où que vous soyez en cette période de la Galaxie !

Code

  • coronafence
coronafenceC/C++
#include #include GridEYE grideye;String heatData;int ledState;meettime long non signé; uint16_t secondes =3142 ; // max ==65535int bluePin =8;int greenPin =9;int redPin =10;int buzzPin =11; // choisissez la broche pour le LEDint inputPin =12; // choisissez la broche d'entrée (pour le capteur PIR)int pirState =LOW; // nous commençons, en supposant qu'aucun mouvement n'est détectéint val =0; // variable pour lire la broche statusfloat tempC; void setup() { pinMode(redPin, OUTPUT); pinMode(vertPin, SORTIE); pinMode(bluePin, SORTIE); pinMode(buzzPin, SORTIE); // déclare la LED comme sortie pinMode(inputPin, INPUT); // déclarer le capteur comme entrée // Démarrez votre objet I2C préféré Wire.begin(); // La bibliothèque suppose "Wire" pour I2C mais vous pouvez passer autre chose avec begin() si vous aimez grideye.begin(); Serial.begin(115200); } boucle vide() { char receiveVal; if(Serial.available()> 0) { receiveVal =Serial.read(); if(receiveVal =='1') { ledState =1; } else ledState =0; } val =digitalRead(inputPin); // lit la valeur d'entrée if (val ==HIGH) { // vérifie si l'entrée est HIGH // digitalWrite(ledPin, HIGH); // allume la LED if (pirState ==LOW) { meetime =millis(); Serial.println("Mouvement détecté !"); // Nous voulons seulement imprimer sur le changement de sortie, pas state pirState =HIGH; getHeatmap(); if (tempC<16) { setColor(0, 0, 255); // bleu } else if(tempC <16) { setColor(80, 0, 80); // cyan } else if(tempC <20) { setColor(0, 255, 255); // aqua } else if(tempC <24) { setColor(0, 255, 0); // vert } else if(tempC <28) { setColor(255, 255, 0); // jaune } else if(tempC <37) { setColor(255, 20, 20); // magenta } // lit les octets entrants du client :// char thisChar =client.read(); // renvoie les octets au client :// char msg[10] =""; Serial.println(heatData); retard(1500); } } else { // digitalWrite(ledPin, LOW); // éteint la LED if (pirState ==HIGH){ // nous venons d'éteindre noTone(buzzPin); // Arrête le son... Serial.println("Motion terminée!"); setColor(0, 0, 0); // aucun rendez-vous =0; // Nous voulons seulement imprimer sur le changement de sortie, pas state pirState =LOW; } } }void getHeatmap(){ // Affiche la valeur de température de chaque pixel en degrés Celsius à virgule flottante // séparés par des virgules heatData =""; float précédenteVal =0; for (unsigned char i =0; i <64; i++) { if(previousVal>37) { // nous venons d'activer Serial.println("Haute température!"); setColor(255, 0, 0); // ton rouge(buzzPin, 1000); // Envoie un signal sonore 1KHz... } tempC =grideye.getPixelTemperature(i); heatData +=tempC + String(","); précédenteVal =tempC; } // Terminez chaque frame avec un saut de ligne Serial.println(); // Donne au traitement le temps de mâcher}void setColor(int red, int green, int blue){ #ifdef COMMON_ANODE red =255 - red ; vert =255 - vert ; bleu =255 - bleu ; #endif analogWrite(redPin, rouge); analogWrite(greenPin, vert); analogWrite(bluePin, bleu); }
coronafence
Code pour Arduino IDE, Visual Studio 2019, NodeJS https://github.com/dasdata/coronafence

Schémas


Processus de fabrication

  1. Carte de visite du jeu Tic Tac Toe
  2. Capteur de température multiple
  3. Contrôle de fer à souder DIY pour 862D+
  4. MotionSense
  5. Sécurité incendie des imprimantes 3D
  6. Jauge IoT avec Arduino, Yaler et IFTTT
  7. Lévitation électromagnétique répulsive Arduino
  8. bot de préhension de la télécommande
  9. enregistreur de données de ballon météo alimenté par Arduino