Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Jeu 9 Mai 2019 - 14:11
Re,
Une solution encore plus simple (plus d'expo et tmp_num), qui semble fonctionner ici :
Code:
//---------------------------------------------------------------------------------------------------------------------------------- String cnv_flt2str(float num, int car, int digit) { // Convert a float variable into a string with a specific number of digits //---------------------------------------------------------------------------------------------------------------------------------- String str = ""; if (digit > 0) { str = String(num,digit); } else { str = String(int(num)); } while (str.length() < car) { str = " " + str; } return str; }
Laurent
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Jeu 9 Mai 2019 - 14:17
Exact! C'est ce qu'il faut faire en effet. Je mets ça en ligne, merci ...en fait il n'y en a qu'un qui suit J'm
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Jeu 9 Mai 2019 - 15:14
Merci Je crois que le fichier BBR_Angle_meter_mma8452.ino a perdu le "beerware" dans l'entête.
J'ai également modifié la fonction read_angle() plutôt que de faire 150 fois le calcul avec atan2(), ça me semblait plus clair d'accumuler les G, diviser par le nombre de mesures et faire le calcul d'angle une seule fois.
Code:
#define NUM_SAMPLES 150
//---------------------------------------------------------------------------------------------------------------------------------- double read_angle() { // Function returning the current rotation value along X axis - in degrees //---------------------------------------------------------------------------------------------------------------------------------- float x, y, z; float y_accum = 0, z_accum = 0; for (int nn = 0; nn < NUM_SAMPLES; nn++) { mma.getAcceleration(&x, &y, &z); y_accum += y; z_accum += z; }
y = y_accum / NUM_SAMPLES; z = z_accum / NUM_SAMPLES;
return atan2(y, z) / M_PI * 180; }
Laurent
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Ven 10 Mai 2019 - 18:00
LalanneL a écrit:
Merci Je crois que le fichier BBR_Angle_meter_mma8452.ino a perdu le "beerware" dans l'entête.
Je corrige ça vite fait!
LalanneL a écrit:
J'ai également modifié la fonction read_angle() plutôt que de faire 150 fois le calcul avec atan2(), ça me semblait plus clair d'accumuler les G, diviser par le nombre de mesures et faire le calcul d'angle une seule fois.
Code:
#define NUM_SAMPLES 150
//---------------------------------------------------------------------------------------------------------------------------------- double read_angle() { // Function returning the current rotation value along X axis - in degrees //---------------------------------------------------------------------------------------------------------------------------------- float x, y, z; float y_accum = 0, z_accum = 0; for (int nn = 0; nn < NUM_SAMPLES; nn++) { mma.getAcceleration(&x, &y, &z); y_accum += y; z_accum += z; }
y = y_accum / NUM_SAMPLES; z = z_accum / NUM_SAMPLES;
return atan2(y, z) / M_PI * 180; }
Laurent
On gagne en effet quelques pouièmes mais le debug est moins simple, donc je garde comme c'est. J'm
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Ven 10 Mai 2019 - 19:22
D'autre part si j'ai bien compris il n'y a pas de gain entre float et double, et de toute manière avec la fonction initiale la valeur renvoyée (double) est à 0.1 près avec le x10 > round() > /10, un renvoi en float est largement suffisant.
Je filtre aussi l'angle avant l'affichage de la valeur:
Il suffit de se connecter dessus avec une tablette ou un portable en Wifi et d'afficher la page ci-dessous dans le navigateur :
Boutons verts : changer la valeur de la corde, Load/Save : enregistrer la valeur de la corde dans la mémoire et de la récupérer plus tard, Min/Max : mise à zéro des valeurs min/max, Init Angle : mise à zéro de l'angle.
Laurent
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Jeu 16 Mai 2019 - 9:44
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Jeu 16 Mai 2019 - 18:15
Oui, avec quelques nuances : Pas besoin d'installer d'appli et pas de problème avec Iphone, Ipad et compatibilité Android. Seule contrainte, avoir un appareil avec du Wifi et un navigateur, quelque soit le système.
Laurent
marc S rooky
Nombre de messages : 2 Localisation : Yvelines Date d'inscription : 20/05/2019
Sujet: Re: [arduino] mesure de débattement Lun 20 Mai 2019 - 17:06
bonjour,
Utiliser un ESP01 est pour contrôler la mesure une solution élégante. La version Wifi du mesureur de débattement avec un ESP01 permettrait t elle de contrôler 2 capteurs de mesure MMA845x pour régler les 2 ailerons en même temps ? Le MMA8451 est équipé d’une broche qui modifie le LSB de son adresse sur le bus I2C (SA0), ce qui permet de connecter 2 senseurs sur le bus. L’ESP01 pourrait il gérer cela ?
marc S
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Lun 20 Mai 2019 - 19:25
Bonjour Marc,
L'ESP01 doit pouvoir effectivement supporter un deuxième capteur par contre avec la longueur nécessaire pour aller d'un aileron à un autre sur un grand planeur le bus I2C risque de moins bien marcher. Mis à part la limitation de pinnouilles (2gpio), l'esp01 a de l'espace libre et il tourne à 80Mhz.
Une autre solution serait d'avoir un deuxième ESP-01 esclave qui se connecte en Wifi sur le maitre pour lui envoyer les données.
Laurent
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Sam 29 Juin 2019 - 19:30
Bonjour, Version double affichage, le premier appareil alimenté fait office de point d'accès et ensuite le deuxième vient se connecter dessus. Encore quelques problèmes de communication en utilisation double lors de la mise à zéro des angles et des valeurs min/max mais c'est tout à fait utilisable. Boitier usiné dans du forex de 10mm pour 30g fini, avec un petit Lipo de 200mAh et un régulateur 3.3v qui amène pas mal de chute de tension... mais ça marche au moins une heure malgré ça
La languette coulisse en force dans le boitier et permet de venir clipser l'appareil sur l'aileron.
Laurent
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Dim 30 Juin 2019 - 14:00
Bravo Laurent! C'est une belle évolution du projet initial, cependant dans le cas de l'utilisation d'un affichage externe, il me semble que l'utilisation de circuits MicroBit serait plus appropriés, ils disposent en natif, outre le cpu de base, d'un accéléromètre et de Bluetooth ce qui rend leur intégration plus facile: juste un accu à brancher et c'est fait. https://microbit.org/fr/ J'm
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Dim 30 Juin 2019 - 23:44
Bonsoir, Avec le prix d'une carte microbit (20€) il est possible de faire 2 à 3 modules à base d'ESP, de plus je ne suis pas certain qu'il soit possible d'accéder à un module microbit sans appli ou une vielle tablette... donc une fois de plus une dépendance avec le système d'exploitation. Ici n'importe quel appareil avec du Wifi et un navigateur fonctionne, comme les tablettes de la déchetterie
vincent 31 rooky
Nombre de messages : 3 Age : 49 Localisation : Revel 31 Date d'inscription : 17/10/2016
Sujet: Re: [arduino] mesure de débattement Dim 14 Juil 2019 - 9:50
Bonjour
Merci LalanneL pour ce montage bien pratique.
J'ai apporté quelque amélioration sur le mien entre autre "l'autonomie" en y incluant une lipo de 500ma (lipo de PDA)dans le boitier comme tu la fait d’ailleurs, rechargeable par USB.
j'ai mis la page HTML dans la mémoire SPIFFS , en donnant le choix de la précision des mesures soit dixième (mm, degré) ou pas.
Enfin vu l'utilisation enfantine, j'ai ajouter la possibilité de fait une mesure d’incidence du vé moyennant un support.
Merci encore
LalanneL rooky
Nombre de messages : 30 Age : 55 Localisation : 64 Date d'inscription : 08/01/2012
Sujet: Re: [arduino] mesure de débattement Dim 14 Juil 2019 - 10:14
Bonjour Vincent,
Intéressant le montage Pour ce qui est de la page sur le SPIFFS ou flash il me semble que ça revient au même au niveau performances mis à part que le SPIFFS demande d'uploader le fichier à part. (faut que je pousse une petite modif pour que ça fonctionne avec la version 2.5.2 de l'arduino/esp)
J'ai également apporté quelques modifications récentes sur l'interface avec des tabulations et une calibration de l'offset pour plus de précision.
Dernière édition par LalanneL le Dim 14 Juil 2019 - 10:31, édité 1 fois (Raison : maj modifs)
vincent 31 rooky
Nombre de messages : 3 Age : 49 Localisation : Revel 31 Date d'inscription : 17/10/2016
Sujet: Re: [arduino] mesure de débattement Dim 14 Juil 2019 - 19:21
Bonsoir LalanneL
En un mot chapeau
Le fait de mettre la page HTML dans le SPIFFS permet de ne pas utiliser la mémoire "programme", pour le uploader dans cette "partie de mémoire" avec l' IDE arduino ce n'est pas plus complique que charger le programme sauf que tu le fais en 2 fois.
Mais effectivement cela ne change rien au fonctionnement.
Juan Jose Boullosa rooky
Nombre de messages : 3 Localisation : Barcelona Date d'inscription : 17/11/2018
Sujet: Error MMa Jeu 6 Aoû 2020 - 20:31
bonjour à tous et merci beaucoup pour l'excellent travail, quand je lance le programme il me donne cette erreur à l'écran, saurez-vous pourquoi cela se produit? (Excusez le texte, je le traduis de l'espagnol avec Google Translate.) " Erreur MMA" salut à tous
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Jeu 6 Aoû 2020 - 21:02
Bonjour, Le message Erreur MMA indique le l'accéléromètre ne d'initialiser pas correctement, cela peut provenir d'un MMA défaillant ou de l'utilisation d'un accéléromètre incompatible ou d'un défaut de câblage. J'm
Juan Jose Boullosa rooky
Nombre de messages : 3 Localisation : Barcelona Date d'inscription : 17/11/2018
Sujet: Re: [arduino] mesure de débattement Jeu 6 Aoû 2020 - 21:09
merci, je vais vérifier tout cela.
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Lun 16 Nov 2020 - 11:45
Les MMA8451 étant compliqués à trouver... en fait beaucoup reçoivent des MMA8452 qui ne sont pas aussi biens. Aussi j'ai fait une nouvelle version avec un MPU6050, plus simple à trouver, plus précis et moins cher. J'en ai profité ou ajouter un peu de filtrage pour avoir un affichage moins réactif. Toutes les infos sont là: https://github.com/f5mmx/aeromodeling-throw-meter/tree/MPU6050 J'm
Dernière édition par J'm BBR le Jeu 10 Déc 2020 - 14:03, édité 1 fois
LE MESLE Pierre Louis pilote d'or
Nombre de messages : 3058 Age : 71 Localisation : LUCE 28 Date d'inscription : 22/01/2009
Les MMA8451 étant compliqués à trouver... en fait beaucoup reçoivent des MMA8452 qui ne sont pas aussi bien. Aussi j'ai fait une nouvelle version avec un MPU6050, plus simple à trouver, plus précis et moins cher. J'en ai profité ou ajouter un peu de filtrage pour avoir un affichage moins réactif. Toutes les infos sont là: https://github.com/f5mmx/aeromodeling-throw-meter/tree/MPU6050 J'm
J'm BBR pilote d'or
Nombre de messages : 1981 Age : 58 Localisation : Saint Yon [91] Date d'inscription : 09/12/2007
Sujet: Re: [arduino] mesure de débattement Mer 23 Déc 2020 - 9:43
Dernière mise à jour avec un MPU6050. Les valeurs d'angle les informations du Gyro et de l'Accéléromètre pour être plus précis. Calibration du capteur intégrée au soft avec sauvegarde en EEPROM Ecran couleur 240x240 avec plus de données affichées et un réglage de la corde plus intuitif en utilisant un seul BP. Difficile d'en mettre plus dans un Arduino Nano car on arrive à 99% de la capacité programme, ensuite il faut passer sur des ESP32 ou STM32 pour avoir plus de puissance dans un facteur de forme similaire. Le cout final est encore moins cher que la version précédente du fait des volumes d'écrans et de capteurs produits en chine!!
csimonneaud pilote d'or
Nombre de messages : 469 Age : 72 Localisation : 83 Saint Raphael Date d'inscription : 31/08/2009
Sujet: Re: [arduino] mesure de débattement Mer 23 Déc 2020 - 10:40