ENIB 2020 : porte automatique : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
 
Ligne 22 : Ligne 22 :
  
 
==Code==
 
==Code==
<pre>
+
#include <SoftwareSerial.h>
/*
+
#include <DFPlayer_Mini_Mp3.h>
[HC-SR04 Capteur de distance]
+
#include <Servo.h>
  
Drafted and tested by Benjamin ((Binary01))for TUTOARDUINO
+
#define trigPin 6 // On définis chaque Pin
 +
#define echoPin 7
 +
SoftwareSerial DFPlayerSerial( 8, 9 ),BTSerial(11, 10);
 +
Servo Ser2;
 +
Servo Ser1;
  
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()  
 
void setup()  
 
{
 
{
  Serial.begin (9600); // On établis la liaison a 9600 Bauds 
+
  Serial.begin (9600);
 +
BTSerial.begin(9600);
 
  pinMode(trigPin, OUTPUT);
 
  pinMode(trigPin, OUTPUT);
// On définis les entrées et sorties
 
 
  pinMode(echoPin, INPUT);  
 
  pinMode(echoPin, INPUT);  
  pinMode(led, OUTPUT);
+
  pinMode(3, OUTPUT);
  pinMode(led2, OUTPUT);
+
  pinMode(5, OUTPUT);
 +
pinMode(13, INPUT);
 +
 
 +
  DFPlayerSerial.begin( 9600 );
 +
  mp3_set_serial( DFPlayerSerial );
 +
  mp3_set_device( 2 );  // Carte SD
 +
  mp3_set_volume( 30 ); // 0-30
 +
  mp3_play( 1 );        // 0001×××.mp3
 +
  _delay_ms( 3000 );
 +
  Ser1.attach(2);
 +
  Ser1.write(0);
 +
  Ser2.attach(12);
 +
  Ser2.write(90);
 +
 
 
  }
 
  }
  
Ligne 56 : Ligne 64 :
 
   digitalWrite(trigPin, LOW);
 
   digitalWrite(trigPin, LOW);
 
   duration = pulseIn(echoPin, HIGH);
 
   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
+
  distance = (duration/2) / 29.1;
allumer la led 1 ou la led 2 en fonction de la distance calculée */
 
  
digitalWrite(led2,LOW);}  
+
  if (distance >= 5 || distance <= 0)
 +
        {
 +
        Serial.println("Hors de portee");
 +
        digitalWrite(5,HIGH);
 +
     
 +
          String message;
 +
    while (BTSerial.available()){
 +
      message = BTSerial.readString();
 +
      Serial.println(message);
 +
    }
 +
        }
  
else {  
+
  else  
    digitalWrite(led,LOW);
+
{  
    digitalWrite(led2,HIGH);   
+
Serial.print(distance); 
}
+
Serial.println(" cm");
  if (distance >= 200 || distance <= 0){
+
digitalWrite(3,HIGH);
  /* là on dit que si la distance de l'objet
+
digitalWrite(5,LOW);
  dépasse 200cm on affichera "Hors de portée" sur le port série */
+
  mp3_next();
 +
Ser1.write(90);
 +
delay(3000);
 +
Ser1.write(0);
 +
  digitalWrite(3,LOW);
 +
  }  
 +
  delay(100);
  
Serial.println("Hors de portee");
 
  
  }
 
  
else
+
   
 
Serial.print(distance); 
 
Serial.println(" cm");
 
  }  delay(100);
 
 
}
 
}
</pre>
 
 
 
==Catégories==
 
==Catégories==
  
 
[[Catégorie:Enib2020]]
 
[[Catégorie:Enib2020]]

Version actuelle datée du 20 janvier 2020 à 16:32

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

  1. include <SoftwareSerial.h>
  2. include <DFPlayer_Mini_Mp3.h>
  3. include <Servo.h>
  1. define trigPin 6 // On définis chaque Pin
  2. define echoPin 7

SoftwareSerial DFPlayerSerial( 8, 9 ),BTSerial(11, 10); Servo Ser2; Servo Ser1;


void setup() {

Serial.begin (9600);  
BTSerial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); 
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(13, INPUT); 
 DFPlayerSerial.begin( 9600 );
 mp3_set_serial( DFPlayerSerial );
 mp3_set_device( 2 );  // Carte SD
 mp3_set_volume( 30 ); // 0-30
 mp3_play( 1 );        // 0001×××.mp3
 _delay_ms( 3000 );
 Ser1.attach(2);
 Ser1.write(0);
 Ser2.attach(12);
 Ser2.write(90);
}

void loop() {

 long duration, distance;  
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);


distance = (duration/2) / 29.1; 
 if (distance >= 5 || distance <= 0)
       {
       Serial.println("Hors de portee");
       digitalWrite(5,HIGH);
      
         String message;
   while (BTSerial.available()){
     message = BTSerial.readString();
     Serial.println(message);
   }
       }
 else 

{

Serial.print(distance);  
Serial.println(" cm");
digitalWrite(3,HIGH);
digitalWrite(5,LOW);
mp3_next();
Ser1.write(90);
delay(3000);
Ser1.write(0);
digitalWrite(3,LOW);
 }  
 delay(100);



}

Catégories