Bonjour, j'ai pour projet de faire un compteurs de passage Arduino depuis un moment mais je n'y arrive pas et je suis bloqué au niveau du code.
Voici ce que je possède pour ce projet :
Cette afficheur :*********
Et ces capteurs : *******
Mon idée serait que lorsqu'un objet passe devant le ou les capteurs, cela rajouterai +1 sur l'afficheur. Le problème c'est que je n'y arrive pas au niveau du code donc si quelqu'un pouvait m'aider ce serait parfait. J'ai vraiment besoin d'aide.
Il faut que tu comptes le nombre de passages de l'état "non présent" à l'état "présent". Pour cela il faut que tu mémorises l'état du capteur et que tu compares à l'état mémorisé au cycle précédent.
void setup()
{
Serial.begin(115200);
}
void loop()
{
static unsigned compteur=0;
static bool presencePrecedente=false;
bool presence=!digitalRead(A0);
if (presence!=presencePrecedente)
{
presencePrecedente=presence;
if (presence)
{
compteur++;
Serial.println(compteur);
}
delay(100); // pour éviter les multi détections
}
}
Après tu n'as plus qu'a l'afficher sur ton afficheur.
Remarque: le capteur que tu utilises est très sensible à la lumière ambiante et à la réflexivité de la cible.
Dans les programmes en exemple avec la librairie, il y a toutes les infos nécessaires pour faire fonctionner l'affichage.
As-tu déjà réussi à faire afficher quelque chose?
Je te l'ai expliqué sommairement au post #4. Le programme compte le nombre de passages de l'état "non présent" à l'état "présent".
Le plus simple pour gérer plusieurs capteur est de dupliquer le code et de changer le nom de la variable presencePrecedente et bien sur de l'entrée et au lieu de faire compteur++ tu fais compteur+=2 par exemple.
Le plus élégant serait d'utiliser une boucle et des tableaux.