Compteur de Visiteurs Version Ultrason : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Le code)
(Mise en Boite)
 
(15 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 6 : Ligne 6 :
 
Ce projet permet, avec l'aide d'un Arduino Uno et d'un capteur à ultrasons de compter le nombre de personnes marchant devant celui-ci.
 
Ce projet permet, avec l'aide d'un Arduino Uno et d'un capteur à ultrasons de compter le nombre de personnes marchant devant celui-ci.
  
(quand on aura fini on trouvera ici une belle image du projet fini)
 
 
''
 
''
  
Ligne 41 : Ligne 40 :
  
 
== Réaliser le projet ==
 
== Réaliser le projet ==
''Comment faire étapes par étapes ?''
+
 
  
 
=== Installation du programme ===
 
=== Installation du programme ===
Ligne 57 : Ligne 56 :
  
  
===== Le code =====
+
    #include <Ultrasonic.h>
 
+
    #include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
+
   
int count;
+
    LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
Ultrasonic ultrasonic(2, 3);; // (Trig PIN,Echo PIN)
+
    int count;
bool trouver;
+
    Ultrasonic ultrasonic(2, 3);; // (Trig PIN,Echo PIN)
int DistanceHigh = 100;
+
    bool trouver;
int distance=DistanceHigh;
+
   
long microsec=0;
+
    int DistanceHigh = 100;
//etape d'initialisation
+
    int distance=DistanceHigh;
void setup()
+
    long microsec=0;
{
+
   
  Serial.begin(9600);
+
    //etape d'initialisation
  lcd.begin(16, 2);
+
    void setup()  
  count = 0;
 
  trouver = false; //on suppose initialement que personne ne se trouve devant le capteur
 
  lcd.setCursor(0, 1);
 
  lcd.print("Visiteurs :");
 
  lcd.print(count);
 
}
 
//le code execute a chaque tour d'horloge de l'arduino
 
void loop()
 
{
 
  //nettoyage et affichage à l'écran
 
  lcd.clear();
 
  Serial.print("nb de personnes = ");Serial.println(count);
 
  Serial.print("distance = ");Serial.println(distance);
 
  lcd.setCursor(0, 0);//1ere colonne 1ere ligne
 
  lcd.print("compteur de visites");
 
  lcd.setCursor(0, 1); //1ere colonne 2eme ligne
 
  lcd.print("Visiteurs :");     
 
  lcd.print(count);
 
  microsec = ultrasonic.timing();
 
  distance = ultrasonic.convert(microsec, Ultrasonic::CM); //recuperation de la distance mesuree
 
  if(distance<DistanceHigh && trouver==false)
 
  {
 
    count += 1; //un nouveau visiteur est detecte si personne ne se trouve déjà devant le capteur (trouver == false)
 
    trouver=true;
 
  }                       
 
  else
 
  {
 
    if(distance>=DistanceHigh)
 
 
     {
 
     {
       trouver=false; //si la distance captee est la distance "sans personne", alors trouver = false
+
       Serial.begin(9600);
 +
      lcd.begin(16, 2);
 +
      count = 0;
 +
      trouver = false; //on suppose initialement que personne ne se trouve devant le capteur
 +
      lcd.setCursor(0, 1);
 +
      lcd.print("Visiteurs :");
 +
      lcd.print(count);
 +
    }
 +
   
 +
    //le code execute a chaque tour d'horloge de l'arduino
 +
    void loop()
 +
    {
 +
      //nettoyage et affichage à l'écran
 +
      lcd.clear();
 +
      Serial.print("nb de personnes = ");Serial.println(count);
 +
      Serial.print("distance = ");Serial.println(distance);
 +
      lcd.setCursor(0, 0);//1ere colonne 1ere ligne
 +
      lcd.print("compteur de visites");
 +
      lcd.setCursor(0, 1); //1ere colonne 2eme ligne
 +
      lcd.print("Visiteurs :");     
 +
      lcd.print(count);
 +
   
 +
     
 +
      microsec = ultrasonic.timing();
 +
      distance = ultrasonic.convert(microsec, Ultrasonic::CM); //recuperation de la distance mesuree
 +
      if(distance<DistanceHigh && trouver==false)
 +
      {
 +
        count += 1; //un nouveau visiteur est detecte si personne ne se trouve déjà devant le capteur (trouver == false)
 +
        trouver=true;
 +
      }                       
 +
      else
 +
      {
 +
        if(distance>=DistanceHigh)
 +
        {
 +
          trouver=false; //si la distance captee est la distance "sans personne", alors trouver = false
 +
        }
 +
      }
 
     }
 
     }
  }
 
}
 
  
 
=== Mise en place des composants ===
 
=== Mise en place des composants ===
Ligne 119 : Ligne 124 :
  
 
* les quatre pins du capteur  
 
* les quatre pins du capteur  
* les pins de l'écran LCD Arduino (A,K,D7,D6,D4,RS,E)
+
* les pins de l'écran LCD Arduino (A,K,D7,D6,D5,D4,RS,E)
  
 
[[Fichier:CVUPhotoMontageFini.jpg|700px|]]
 
[[Fichier:CVUPhotoMontageFini.jpg|700px|]]
Ligne 125 : Ligne 130 :
  
 
=== Mise en Boite ===
 
=== Mise en Boite ===
 +
 +
[[Fichier:boitee.jpg |700px]]
  
 
  ==== Outils  ====
 
  ==== Outils  ====
 +
une boite en carton
 +
 +
un cutter
 +
==== la mise en place  ====
 +
il faut tous d'abord prendre les mesures pour le LCD et le diamètre des transmetteur récepteur ultrason puis on redessine les formes aux bonnes dimensions sur la boite
 +
 +
[[Fichier:trou.jpg |700px]]
 +
 +
ensuite à l'aide du cutter on découpe les formes dessinées sur la boite
 +
 +
[[Fichier:carte glue.jpg |700px]]
 +
 +
Puis on glue la carte de prototypage à l'intérieur du boitier
 +
 +
[[Fichier:entain.jpg |700px]]
 +
 +
On attend que la glue sèche pour bien tenir puis on relie l'arduino
 +
 +
[[Fichier:Fome final.jpg |700px]]
 +
 +
Il ne reste plus qu'à alimenter l'arduino, et le compteur de visiteurs est prêt à l'emploi.
  
 
== Comment ça marche ? ==  
 
== Comment ça marche ? ==  
  
 
=== Observations ===
 
=== Observations ===
''Texte + images/photos''
+
 
  
 
[[Fichier:Capture.PNG |700px]]
 
[[Fichier:Capture.PNG |700px]]
Ligne 157 : Ligne 185 :
  
 
=== Plus d'explications ===
 
=== Plus d'explications ===
''Entrer dans des explications techniques et scientifiques plus complexes, mais toujours de manière ludique.''
 
  
''Texte + images/photos''
 
  
 
Pour plus de détails sur le fonctionnement du  projet :
 
Pour plus de détails sur le fonctionnement du  projet :
Ligne 172 : Ligne 198 :
  
 
== Et dans la vie de tous les jours ? ==
 
== Et dans la vie de tous les jours ? ==
 
''Mettre en avant le lien avec le quotidien.''
 
  
 
* Ce système permettra naturellement de compter les visiteurs dans de nombreuses situations : un magasin, une salle de classe...
 
* Ce système permettra naturellement de compter les visiteurs dans de nombreuses situations : un magasin, une salle de classe...
Ligne 181 : Ligne 205 :
  
 
== Vous aimerez aussi ==
 
== Vous aimerez aussi ==
''Liens vers des projets ou des expériences complémentaires pour mieux comprendre son fonctionnement.''
+
 
  
 
http://wiki.lesfabriquesduponant.net/index.php?title=Projet_enib2017_compteur_IR
 
http://wiki.lesfabriquesduponant.net/index.php?title=Projet_enib2017_compteur_IR
Ligne 188 : Ligne 212 :
  
 
== Sources et ressources utiles ==
 
== Sources et ressources utiles ==
''Liens vers les ressources pédagogiques + quelques mots de description si besoin''
 
  
 
http://ronan-chardonneau.fr/mesurer-les-entrees-et-sorties-dun-magasin-avec-arduinon-avec-des-capteurs-ultrasons/
 
http://ronan-chardonneau.fr/mesurer-les-entrees-et-sorties-dun-magasin-avec-arduinon-avec-des-capteurs-ultrasons/
  
 
http://dokmake.tumblr.com/post/114760987374/arduino-compteur-de-visiteurs
 
http://dokmake.tumblr.com/post/114760987374/arduino-compteur-de-visiteurs

Version actuelle datée du 25 janvier 2017 à 21:24

Cette page est une fiche écrite dans le cadre de l'Inter Semestre ENIB 2017

Le contenu de cette fiche est en cours de rédaction, elle va s'étoffer pendant tout le mois de janvier !

Compteur de Visiteurs version ultrason

Ce projet permet, avec l'aide d'un Arduino Uno et d'un capteur à ultrasons de compter le nombre de personnes marchant devant celui-ci.

Auteurs

Ont participé à la rédaction de cette fiche :

Outils et matériaux

  • 1 fer à souder
  • Du fil à soudure
  • 1 Arduino UNO
  • 1 Émetteur - Récepteur à ultrasons HC-SR04
  • 1 Écran LCD Arduino
  • 1 Potentiomètre pour l'écran LCD
  • 1 Câble USB Arduino
  • Du fil électrique
  • 1 plaque à trous aux dimension d'un Arduino
  • Un peu de bonne volonté

Réaliser le projet

Installation du programme

==== Outils  ====
* 1 Ordinateur
* 1 Arduino UNO
* 1 Câble USB Arduino


CVUBrancherArduino2.png


   #include <Ultrasonic.h>
   #include <LiquidCrystal.h>
   
   LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
   int count;
   Ultrasonic ultrasonic(2, 3);; // (Trig PIN,Echo PIN)
   bool trouver;
   
   int DistanceHigh = 100;
   int distance=DistanceHigh;
   long microsec=0;
   
   //etape d'initialisation
   void setup() 
   {
     Serial.begin(9600);
     lcd.begin(16, 2);
     count = 0;
     trouver = false; //on suppose initialement que personne ne se trouve devant le capteur
     lcd.setCursor(0, 1);
     lcd.print("Visiteurs :"); 
     lcd.print(count);
   }
   
   //le code execute a chaque tour d'horloge de l'arduino
   void loop()
   { 
     //nettoyage et affichage à l'écran
     lcd.clear();
     Serial.print("nb de personnes = ");Serial.println(count);
     Serial.print("distance = ");Serial.println(distance);
     lcd.setCursor(0, 0);//1ere colonne 1ere ligne
     lcd.print("compteur de visites");
     lcd.setCursor(0, 1); //1ere colonne 2eme ligne
     lcd.print("Visiteurs :");       
     lcd.print(count);
   
     
     microsec = ultrasonic.timing();
     distance = ultrasonic.convert(microsec, Ultrasonic::CM); //recuperation de la distance mesuree
     if(distance<DistanceHigh && trouver==false)
     {
       count += 1; //un nouveau visiteur est detecte si personne ne se trouve déjà devant le capteur (trouver == false) 
       trouver=true;
     }                         
     else 
     {
       if(distance>=DistanceHigh)
       {
         trouver=false; //si la distance captee est la distance "sans personne", alors trouver = false
       }
     }
   }

Mise en place des composants

==== Outils  ====
* 1 Arduino UNO
* 1 fer à souder
* Du fil électrique
* 1 Émetteur - Récepteur à ultrasons HC-SR04
* 1 Écran LCD Arduino 
* 1 Potentiomètre pour l'écran LCD
* 1 Plaque à trous époxy

Pour assurer la mise en place des principaux outils sur la plaque à trous époxy on a intérêt à souder les éléments suivants:

  • les quatre pins du capteur
  • les pins de l'écran LCD Arduino (A,K,D7,D6,D5,D4,RS,E)

CVUPhotoMontageFini.jpg CVUPlanMontage.png

Mise en Boite

Boitee.jpg

==== Outils  ====

une boite en carton

un cutter

==== la mise en place  ====

il faut tous d'abord prendre les mesures pour le LCD et le diamètre des transmetteur récepteur ultrason puis on redessine les formes aux bonnes dimensions sur la boite

Trou.jpg

ensuite à l'aide du cutter on découpe les formes dessinées sur la boite

Carte glue.jpg

Puis on glue la carte de prototypage à l'intérieur du boitier

Entain.jpg

On attend que la glue sèche pour bien tenir puis on relie l'arduino

Fome final.jpg

Il ne reste plus qu'à alimenter l'arduino, et le compteur de visiteurs est prêt à l'emploi.

Comment ça marche ?

Observations

Capture.PNG

                                   image prise du simulateur ISIS

ce qui est observé en évidence c'est l'affichage du nombre de visiteurs sur l'écran LCD à part çà c'est le programme implanté dans le micro contrôleur qui commande les autres éléments, à travers des fils d’interactions (impulsions électrique).

réalisation sur le logiciel isis

Explications

Le système fonctionne selon un algorithme très simple :

CVUFoncFaceMur.png

En temps normal (lorsque personne n'est en face du capteur), les ondes ultra sons sont émises, puis rebondissent sur le mur et reviennent au capteur. Le temps que mettent les ondes à revenir permettent de déduire la distance du mur.


CVUFoncFaceVisiteur.png

Lorsque Mr. X traverse le faisceau, les ondes rebondissent sur cette personne, et reviennent donc plus vite au capteur : la distance calculée est réduite, c'est donc qu'un nouveau visiteur a été détecté.

Plus d'explications

Pour plus de détails sur le fonctionnement du projet :

  • la personne qui entre doit être détectée par le capteur (L'Émetteur - Récepteur à ultrasons HC-SR04) .
  • L'Émetteur - Récepteur à ultrasons HC-SR04 permet de mesurer la distance qui les sépares d’un obstacle (une personne), allant jusqu’à une distance de 4 mètres.
  • La commande se fait grâce à la carte Arduino qui permet à travers le programme d’afficher le nombre de visiteurs comptées, dans l'écran LCD Arduino.
  • les deux résistances servent à régler la luminosité de l'écran (ils jouent le rôle d'un potentiomètre) .

Et dans la vie de tous les jours ?

  • Ce système permettra naturellement de compter les visiteurs dans de nombreuses situations : un magasin, une salle de classe...
  • L’objectif est assez simple, l’idée est qu’une personne qui rentre dans un magasin où l’objet se situe à la porte d’entrée de celui-ci va réagir

en fonction du capteur.

Vous aimerez aussi

http://wiki.lesfabriquesduponant.net/index.php?title=Projet_enib2017_compteur_IR

Projet enib2017 compteur IR

Sources et ressources utiles

http://ronan-chardonneau.fr/mesurer-les-entrees-et-sorties-dun-magasin-avec-arduinon-avec-des-capteurs-ultrasons/

http://dokmake.tumblr.com/post/114760987374/arduino-compteur-de-visiteurs