ENIB 2020 : porte automatique

De Les Fabriques du Ponant
Aller à : navigation, rechercher

photo de l'équipe

Photoenib2018.jpg

Que fait ce projet ?

L'objectif a été de concevoir une maquette modélisant le fonctionnement d'une porte connecté. A partir de différents capteurs (capteurs ultrasons, haut parleur) une carte arduino permet l'activation de différents messages délivré par des LED, un écran LCD et un haut parleur. Elle met également en mouvement un servomoteur qui permet d'ouvrir la porte. L'ordre d'ouverture de la porte est donné via une application.

Liste des composants

  • Capteur ultrason
  • Ecran LCD
  • Carte arduino
  • Câbles de connexion
  • Plaque d'essaie
  • Module bluetooth HC05
  • Lecteur MP3
  • Haut parleur
  • 3 LED (rouge, jaune, vert)
  • 1 Servomoteur
  • Plaque en bois de 16 mm d'épaisseur
  • Carton
  • Pistolet a colle
  • 4 vis auto foreuse M2

Code

/* 
[HC-SR04 Capteur de distance]

Drafted and tested by Benjamin ((Binary01))for TUTOARDUINO

More info at: /

*/

#define trigPin 4 // On définis chaque Pin
#define echoPin 3
 // Arduino va communiquer via echo et trig 
 #define led 11
 #define led2 10

void setup() 
{
 Serial.begin (9600); // On établis la liaison a 9600 Bauds  
 pinMode(trigPin, OUTPUT);
 // On définis les entrées et sorties
 pinMode(echoPin, INPUT); 
 pinMode(led, OUTPUT);
 pinMode(led2, OUTPUT);
 }

void loop() {  
  long duration, distance;  
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
 /* On envoi une "salve" pendant une durée déterminé qui sera par la suite calculée */

 distance = (duration/2) / 29.1; // On calcule
 if (distance < 15) {
 /* ici « 15 » définis le fait qu'on ne signalera
 pas l'objet avant qu'il soit à 15cm du capteur */

 digitalWrite(led,HIGH);  /* On fixe alors des conditions pour
 allumer la led 1 ou la led 2 en fonction de la distance calculée */

digitalWrite(led2,LOW);} 

else {    
    digitalWrite(led,LOW);
    digitalWrite(led2,HIGH);  
}
  if (distance >= 200 || distance <= 0){
 /* là on dit que si la distance de l'objet
 dépasse 200cm on affichera "Hors de portée" sur le port série */

Serial.println("Hors de portee");

  }

else 
{   
 Serial.print(distance);  
 Serial.println(" cm");
  }  delay(100);
}

Catégories