(→Présentation du projet Arduino) |
(→Ce système est conçu afin de compter le nombre de passage de personne (ou d'objets) devant le capteur dans une allée, une file par exemple.) |
||
Ligne 3 : | Ligne 3 : | ||
=='''Présentation du projet Arduino'''== | =='''Présentation du projet Arduino'''== | ||
- | ====Ce système est conçu afin de compter le nombre de passage de personne (ou | + | ====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.==== |
==Liste du matériel== | ==Liste du matériel== |
Sommaire |
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