Bonjour, je suis actuellement en BTS Système Numérique Option Informatique et Réseaux, je travaille sur un projet sur Arduino avec différents capteurs tels que un lecteur RFID ppur des casiers (pêche aux crabes par exemple).
Voici mon code source.cpp,
J'ai appelé la méthode EnvoiEtatCasier() que j'ai crée afin de changer l'état du casier de false à true et ainsi rentrer dans la boucle while et envoyer des données en continu, cependant, je souhaite arreter d'envoyer des données des que je rescanne la carte RFID quand je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Info.etatCasier = LecteurRFID.EnvoiEtat(Info.etatCasier); //Changement d'état du casier while (Info.etatCasier == true) { Info.Pression = CapteurPression.EnvoiNiveauPression(); //Récuperation des valeurs Info.nbrCrustace = CapteurUltrason.EnvoieContenuCasier(); Info.longitude = ModuleGPS.EnvoiCoordonee(); Info.latitude = ModuleGPS.EnvoiCoordonnees(); if(Info.Pression > 20) //Alerte en cas de vol { ModuleSigfox.EnvoiTrameUne(8, 0, 0, Info.Pression); ModuleSigfox.EnvoiTrameDeux(Info.longitude, Info.latitude); delay(120000); } if(TempsEnvoiMessage == 0) //Envoi des données { ModuleSigfox.EnvoiTrameUne(8, Info.etatCasier, Info.nbrCrustace, Info.Pression); delay(60000); ModuleSigfox.EnvoiTrameDeux(Info.latitude, Info.longitude); //Envoi de la trame Sigfox delay(60000); } }
J'ai essayé de créer unPour pouvoir sortir de la boucle while, mais le programme ne me laisse pas le temps pour scanner la carte et envoie de nouveau une nouvelle trame de la méthode : EnvoiTrameUne().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(Info.etatCasier = LecteurRFID.EnvoiEtat(Info.etatCasier) == false) { break; }
J'aimerais savoir si il y a une possibilité afin de résoudre ce problème.
Merci de votre réponse, n'hésitez pas à me demander si vous ne comprenez pas quelque chose que j'ai dit.
Partager