(→Présentation du projet Arduino) |
(→Présentation du projet Arduino) |
||
Ligne 3 : | Ligne 3 : | ||
=='''Présentation du projet Arduino'''== | =='''Présentation du projet Arduino'''== | ||
+ | Ce projet permet de compter le nombre de personnes (ou objets) passant devant le capteur. Ce système peut être utilisé en version grandeur nature dans une file d'attente, une allée ... etc. | ||
+ | |||
=Ce système est conçu afin de compter le nombre de passage de personne (ou objets) passant devant le capteur ce système peut être utilisé en grandeur nature dans une allée, une file d'attente par exemple.= | =Ce système est conçu afin de compter le nombre de passage de personne (ou objets) passant devant le capteur ce système peut être utilisé en grandeur nature dans une allée, une file d'attente par exemple.= | ||
Sommaire |
Ce projet permet de compter le nombre de personnes (ou objets) passant devant le capteur. Ce système peut être utilisé en version grandeur nature dans une file d'attente, une allée ... etc.
Matériel nécessaire pour les capteurs infra-rouge : Kit infra-rouge
int led2 = 2, led3 = 3, led4 = 4, led5 = 5, led6 = 6, led7 = 7, led8 = 8, reset = 10, unit = 0, mes = 0, capt = 9, etat = 0; // Définition des variables que l'on va utiliser // ************ Initialisation des réglages ************ // void setup() { Serial.begin(9600); // Ouverture du port série à 9600bps digitalWrite(reset, HIGH); // Active les résistances de pull-up internes afin de pouvoir détecter une pression sur le bouton reset pinMode(capt, INPUT); // Défini la voie capt (la voie 9 de l'arduino) comme une entrée pinMode(led2, OUTPUT); // Défini la voie led2 (la voie 2 de l'arduino) comme une sortie pinMode(led3, OUTPUT); // Défini la voie led2 (la voie 3 de l'arduino) comme une sortie pinMode(led4, OUTPUT); // Défini la voie led2 (la voie 4 de l'arduino) comme une sortie pinMode(led5, OUTPUT); // Défini la voie led2 (la voie 5 de l'arduino) comme une sortie pinMode(led6, OUTPUT); // Défini la voie led2 (la voie 6 de l'arduino) comme une sortie pinMode(led7, OUTPUT); // Défini la voie led2 (la voie 7 de l'arduino) comme une sortie pinMode(led8, OUTPUT); // Défini la voie led2 (la voie 8 de l'arduino) comme une sortie } // ************ Fonction de remise à zéro ************ // int raz() {if(digitalRead(reset) == LOW) // Si le bouton reset est appuyé alors on remet à zéro {unit = 0; return 1;} } // ************ Gestion de l'afficheur ************ // void aff() { switch (unit) { case 0 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, LOW); // Fixe la led6 comme allumée digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, HIGH); // Fixe la led8 comme éteinte } break; case 1 : { digitalWrite(led2, HIGH); // Fixe la led2 comme éteinte digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, HIGH); // Fixe la led5 comme éteinte digitalWrite(led6, HIGH); // Fixe la led6 comme éteinte digitalWrite(led7, HIGH); // Fixe la led7 comme éteinte digitalWrite(led8, HIGH); // Fixe la led8 comme éteinte } break; case 2 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, HIGH); // Fixe la led4 comme éteinte digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, LOW); // Fixe la led6 comme allumée digitalWrite(led7, HIGH); // Fixe la led7 comme éteinte digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 3 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, HIGH); // Fixe la led6 comme éteinte digitalWrite(led7, HIGH); // Fixe la led7 comme éteinte digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 4 : { digitalWrite(led2, HIGH); // Fixe la led2 comme éteinte digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, HIGH); // Fixe la led5 comme éteinte digitalWrite(led6, HIGH); // Fixe la led6 comme éteinte digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 5 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, HIGH); // Fixe la led3 comme éteinte digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, HIGH); // Fixe la led6 comme éteinte digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 6 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, HIGH); // Fixe la led3 comme éteinte digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, LOW); // Fixe la led6 comme allumée digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 7 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, HIGH); // Fixe la led5 comme etéinte digitalWrite(led6, HIGH); // Fixe la led6 comme eteinte digitalWrite(led7, HIGH); // Fixe la led7 comme éteinte digitalWrite(led8, HIGH); // Fixe la led8 comme éteinte } break; case 8 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, LOW); // Fixe la led6 comme allumée digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; case 9 : { digitalWrite(led2, LOW); // Fixe la led2 comme allumée digitalWrite(led3, LOW); // Fixe la led3 comme allumée digitalWrite(led4, LOW); // Fixe la led4 comme allumée digitalWrite(led5, LOW); // Fixe la led5 comme allumée digitalWrite(led6, HIGH); // Fixe la led6 comme éteinte digitalWrite(led7, LOW); // Fixe la led7 comme allumée digitalWrite(led8, LOW); // Fixe la led8 comme allumée } break; default: raz(); // En cas de problème on force tout à 0 } } // ************ Fonction permettant de compter le nombre de passages ************ // int compt(){ if(unit < 10) { boolean mes = digitalRead(capt); // mesure du capteur delay(5); // Temps d'attente de 5ms boolean etat = mes; // Retranscription de la mesure pas HIGH (état haut (1) ) ou LOW (état bas(0) ) if (etat == LOW) // Si l'état est bas (bouton reset appuyé) {unit ++; // On rajoute +1 au nombre de passage unit++ == unit=unit+1 delay(400);} // temps d'attente de 400ms pour ne pas créer de fausse mesures } else {unit = 0;} // Si il n'y a pas d'état bas alros on ne fait rien } // ************ Fonction principale ************ // void loop() { do{ aff(); compt(); } while (raz()!=1); // Temps que la remise à zéro n'est pas activée alors le programme de comptage et d'affichage sont lancés }
chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino
Quelles peuvent être les applications technologique de ce montage, ou est-ce qu'on retrouve des programme qui y ressemble ?
On peut utiliser se principe en comptant le nombre de colis que la poste envoie. Sur un tapis qui distribue les colis aux différent camion de livraison par exemple.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique