Compteur de Visiteurs Version Ultrason : Différence entre versions
(→Le code) |
(→Mise en Boite) |
||
(16 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. | ||
− | |||
'' | '' | ||
Ligne 41 : | Ligne 40 : | ||
== Réaliser le projet == | == Réaliser le projet == | ||
− | + | ||
=== Installation du programme === | === Installation du programme === | ||
Ligne 57 : | Ligne 56 : | ||
− | + | #include <Ultrasonic.h> | |
− | + | #include <LiquidCrystal.h> | |
− | + | ||
− | #include <Ultrasonic.h> | + | LiquidCrystal lcd(12, 11, 10, 9, 8, 7); |
− | #include <LiquidCrystal.h> | + | 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) | + | |
− | bool trouver; | + | int DistanceHigh = 100; |
− | int DistanceHigh = 100; | + | int distance=DistanceHigh; |
− | int distance=DistanceHigh; | + | long microsec=0; |
− | long microsec=0; | + | |
− | //etape d'initialisation | + | //etape d'initialisation |
− | void setup( | + | void setup() |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{ | { | ||
− | 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 122 : | 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 128 : | 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 === | ||
− | + | ||
[[Fichier:Capture.PNG |700px]] | [[Fichier:Capture.PNG |700px]] | ||
Ligne 160 : | Ligne 185 : | ||
=== Plus d'explications === | === Plus d'explications === | ||
− | |||
− | |||
Pour plus de détails sur le fonctionnement du projet : | Pour plus de détails sur le fonctionnement du projet : | ||
Ligne 175 : | Ligne 198 : | ||
== Et dans la vie de tous les jours ? == | == 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... | * Ce système permettra naturellement de compter les visiteurs dans de nombreuses situations : un magasin, une salle de classe... | ||
Ligne 184 : | Ligne 205 : | ||
== Vous aimerez aussi == | == Vous aimerez aussi == | ||
− | + | ||
http://wiki.lesfabriquesduponant.net/index.php?title=Projet_enib2017_compteur_IR | http://wiki.lesfabriquesduponant.net/index.php?title=Projet_enib2017_compteur_IR | ||
Ligne 191 : | Ligne 212 : | ||
== Sources et ressources utiles == | == Sources et ressources utiles == | ||
− | |||
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 !
Sommaire
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
- Téléchargez les sources ainsi que les librairies nécessaires au fonctionnement de l'Arduino Fichier:CVUSources2017.zip
- Lancez l'IDE Arduino (Téléchargeable ici )
- Connectez l'Arduino à votre ordinateur
- Téléverser les sources et librairies nécessaires sur l'Arduino ( Tutoriel disponible ici )
#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)
Mise en Boite
==== 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
ensuite à l'aide du cutter on découpe les formes dessinées sur la boite
Puis on glue la carte de prototypage à l'intérieur du boitier
On attend que la glue sèche pour bien tenir puis on relie l'arduino
Il ne reste plus qu'à alimenter l'arduino, et le compteur de visiteurs est prêt à l'emploi.
Comment ça marche ?
Observations
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 :
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.
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
Sources et ressources utiles
http://dokmake.tumblr.com/post/114760987374/arduino-compteur-de-visiteurs