Bonjour, je réalise une station météo à base de wemos d1 mini et j'ai un problème avec le capteur UV de Sparkfun , voici la partie du sketch concernée :
Lorsque j'appelle la fonction init_veml() dans le setup, il me trouve bien le capteur VEML6075 mais lorsque j'appelle la fonction getDataVEML6075() depuis la loop, il ne me le trouve plus et redémarre !
Code complet ci-dessous sans l'onglet connect.cpp pour masquer les identifiants.
merci @al1fch pour votre réponse, et oui j'ai testé les exemples fournis dans la bibliothèque et de tte façon le capteur fonctionne bien car j'obtiens bien des valeurs dans la fonction init() .
par contre je viens de remarquer que si je fais fonctionner le bme280 en même temps, dans ce cas je n'ai plus de message d'erreur et le veml6075 envoie bien les données dans la fonction getDataveml(), bizarre non ?
@terwal le code entier est donné en zip plus bas car j'ai beaucoup d'onglets et je ne peux pas mettre tout le code en une fois, merci pour votre réponse.
p.s: indenter veut dire quoi ?
Oui, mais cela demande de télécharger un fichier non connu potentielle malveillant et cela n'est pas lisible par les personnes visionnant le site sur leur smartphone.
Pas la peine de mettre tout tes fichiers, mets au moins le ino, qui appelle tes fonctions.
Indenter veut dire mettre un texte en retrait ou faire un alinéa.
Pour le code, cela correspond que les lignes de code d'un même groupe(function, if, ...) commence toutes au même niveau.
Je ne sais même pas si dans ton code, tu as mis l'accolade fermante de la fonction getDataVEML6075?
Merci pour votre réponse et précisions, je comprends pour le problème de téléchargement de virus, en effet je suis vigilant aussi avec çà.
Pour l'accolade fermante, c'est bon elle est bien présente, c'est mon copié-collé qui était un peu juste
Pour en revenir à mon problème qui n'en était pas un apparemment, car je pense avoir compris ce qui se passe, attention je ne suis pas expert en la matière.
Le fait d'initialiser 2 capteurs sur le même bus I2C provoque ce problème si un des 2 capteurs n'est pas connecté physiquement lors des essais, c'est ce que je faisais, je voulais juste tester mon capteur uv seul mais il n'était trouvé qu'à l'initialisation et plus ensuite lors des appels de la 2ème fonction installée dans la loop.
A partir du moment où je connecte le capteur UV VEML6075 et le capteur temp, hum, pression BME 280, le code fonctionne bien.
Si quelqu'un a un éclairage la dessus pour me confirmer mon impression je suis preneur.
En attendant merci d'avoir pris le temps de me lire et répondre.
Cordialement
Philippe
Bonjour je relance le sujet, car même si le code fonctionne à présent avec tous les capteurs branchés ainsi que le module DS1307 RTC et carte SD, un problème survient au bout de quelques temps à savoir l'envoi de données des capteurs erronées, comme si le bus I2C ne fonctionnait plus, je voudrais savoir s'il existe un moyen de réinitialiser le bus I2C via lignes de code avant d'exécuter les fonctions de lecture de ces capteurs sur un wemos d1 mini pro ?
Merci de me lire et de m'apporter votre éclairage sur ce problème et solutions .
cdlt
Philippe