Construisez un ouvreur de porte automatique sans contact avec détection de température
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Écran LCD 2004 I2C | 1 |
| Module thermométrie infrarouge GY-906-BCC | 1 |
| Deux servomoteurs Tower Pro MG90S | 1 |
| Buzzer | 1 |
| Capteur infrarouge humain HC-SR501 | 1 |
À propos de ce projet
Le but de ce projet est d'ouvrir automatiquement la porte en détectant la température corporelle. En fait, ce projet vise à empêcher les patients atteints de la nouvelle pneumonie coronarienne d'entrer dans leur domicile. Dans une certaine mesure, cela garantit la sécurité de l'environnement de vie.
Les pièces suivantes ont été utilisées dans ce projet :
- Arduino UNO
- Écran LCD 2004 I2C
- Module thermométrie infrarouge GY-906-BCC
- Deux servomoteurs Tower Pro MG90S
- Buzzer
- Capteur infrarouge humain HC-SR501
Code : https://github.com/DKARDU/AutomaticDoor
Merci d'avoir regardé, restez chez vous et soyez prudents... Passez une excellente journée ! #Arduino #ProjetArduino #Covid-19
Code
autodoor.ino (Arduino)
#include
#include
#include
#include
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
LiquidCrystal_I2C lcd(0x27,20,4);
Servo myservo1;
Servo myservo2;
#define red 13
#define haha 4
int pos1,pos2;
void setup() {
Serial.begin(9600);
pinMode(red,OUTPUT);
pinMode(haha,INPUT);
myservo1.attach(7);
myservo2.attach(8);
myservo1.write(90);
myservo2.write(90);
mlx.begin();
lcd.init();
lcd.backlight();
}
void loop() {
int montion = digitalRead(haha);
if(montion == 1){
Serial.print("made");
Serial.print("\n");
lcd.setCursor(0,0);
lcd.print("ObjectTemp:");
lcd.setCursor(13,3);
lcd.print("-DKARDU");
kaiguan();
}
}
void kaiguan(){
int temp_obj = mlx.readObjectTempC();
Serial.print(temp_obj);
Serial.print("\n");
if(temp_obj < 31){
lcd.setCursor(0,1);
lcd.print(temp_obj);
lcd.setCursor(0,2);
lcd.print("Not detected,retest!");
}
if(temp_obj > 30 && temp_obj < 38){
lcd.setCursor(0,1);
lcd.print(temp_obj);
lcd.setCursor(0,2);
lcd.print("body temperature ok ");
for(pos1 = 90; pos1 <= 180; pos1 += 1) {
myservo1.write(pos1);
myservo2.write(180-pos1);
delay(15);
}
delay(5000);
for(pos1 = 180; pos1 >= 90; pos1 -=1) {
myservo1.write(pos1);
myservo2.write(180-pos1);
delay(15);
}
}
if(temp_obj > 37){
digitalWrite(red,HIGH);
lcd.setCursor(0,1);
lcd.print(temp_obj);
lcd.setCursor(0,2);
lcd.print(" Keep out! ");
delay(500);
}
digitalWrite(red,LOW);
}
Schémas

Processus de fabrication
- Construire un robot Arduino piloté par Raspberry Pi – Guide pas à pas
- Le Guide Complet de la Production de Fibre de Verre
- Créer une animation de coupe progressive dans SolidWorks – Tutoriel Étape par Étape
- Construire un Prototype Gagnant : Guide Étape par Étape pour le Développement Rapide de Produits
- Assurer la sécurité : Comment inspecter efficacement les freins d'engins lourds
- Inspection freins engins lourds : Arrêts sûrs et conformité OSHA
- Comment les transmissions manuelles et automatiques transmettent la puissance : aperçu clair
- Guide complet des systèmes de transmission automatique
- Systèmes de lubrification centralisée automatique : types, composants et bénéfices