Crunchez vos adresses URL
|
Calculez la conso électrique de votre PC
|
Hébergez vos photos
Page 3 sur 9 PremièrePremière 123456789 DernièreDernière
Affichage des résultats 61 à 90 sur 266
  1. #61
    Tu peux avoir un gain nécessaire si tu dois faire plein d'autres trucs à côté en temps limité (des algorithmes consommateurs en MIPS). Pas encore d'exemple comme je débute sur Arduino
    Autre exemple donné par l'article: si tu fais un DigitalWrite() pour chaque GPIO qui devraient s'activer strictement simultanément, alors il y aura un décalage entre l'activation de chacun (à cause du temps d'exécution de chaque DigitalWrite()). Alors que si tu programmes directement le registre avec un beau "|", tu es garanti de conserver cet aspect "simultané"

    Mais bon, dans plein de cas, ça ne posera pas de problème alors ne t'embête pas avec ça si pas besoin pour l'instant. Il sera toujours temps de modifier ton code après.
    Mes challenges 10x10 2019 (jeux de société)

  2. #62
    Citation Envoyé par deathdigger Voir le message
    Vous pouvez donner un exemple où le gain est absolument nécessaire ?
    Tous les sujets pour lesquels le temps d'execution compte autant que l'ordre. Exemple : une transmission IR pilotée directement.
    Suite à une suggestion, je vais utiliser cette signature pour des canards en manque de ranking pro. Ou des quotes idiots.

  3. #63
    Dites les canartroniciens, est-ce qu'il existe une methode qui permette de savoir si un composant est bon a jeter ? je pense a ca : https://www.sparkfun.com/products/10663

    J'ai brique un raspberry pi en jouant avec un codeur rotatif, et le si4703 etait aussi branche, du coup je crains de l'avoir fume aussi dans la foulee, vu que je n'arrive pas du tout a communiquer avec
    - Steve, do you copy ? - Like a floppy !

  4. #64
    J'envisage sérieusement de m'acheter un arduino, vous me conseillez quel modèle? une boutique en particulier?

  5. #65
    Le Uno et si tu veux plus d'IO, y'a une version pour
    Perso, je l'ai acheté sur le site officiel, mais tu peux trouver des copies chinoises pas chères un peu partout.

  6. #66
    Citation Envoyé par JudaGrumme Voir le message
    Dites les canartroniciens, est-ce qu'il existe une methode qui permette de savoir si un composant est bon a jeter ? je pense a ca : https://www.sparkfun.com/products/10663

    J'ai brique un raspberry pi en jouant avec un codeur rotatif, et le si4703 etait aussi branche, du coup je crains de l'avoir fume aussi dans la foulee, vu que je n'arrive pas du tout a communiquer avec
    Pour les composants numériques, une sonde JTAG. C'est un protocole standard pour communiquer avec les composants, lancer des auto-tests (BIST), lire/écrire les mémoires flash, etc.
    Sur ta carte tu as les pins SDIO et SDCLK bien en évidence, c'est à ça qu'ils servent.

    Bien entendu, c'est faisable soi-même avec un Arduino ou assimilé , par exemple : http://www.khjk.org/log/2013/aug/jtagbang.html

    Ça vaut aussi pour le Rpi, s'il est juste "briqué" et pas physiquement grillé il devrait être sauvable ?

  7. #67
    Toujours personne qui n'a joué avec des capteurs barométriques ? Le BMP085 étant le plus connu.

    Je n'arrive pas à trouver un modèle sur le web, qui aurait un code robuste et bien testé fourni avec.

    Jusqu'ici j'ai acheté 2 modèles différents, un des deux ne répond pas, et l'autre me fournit des mesures bien fausses (>300m d'altitude, alors que je suis environ à 50m lors des tests).
    Après investigations, des mecs bine plus calés que moi ont remarqué que les lookup tables fournies ne sont plus précises sous 20°C, et ceux qui ont réussi à customiser le code ne le partagent pas...

  8. #68
    Citation Envoyé par Møgluglu Voir le message
    Pour les composants numériques, une sonde JTAG. C'est un protocole standard pour communiquer avec les composants, lancer des auto-tests (BIST), lire/écrire les mémoires flash, etc.
    Sur ta carte tu as les pins SDIO et SDCLK bien en évidence, c'est à ça qu'ils servent.

    Bien entendu, c'est faisable soi-même avec un Arduino ou assimilé , par exemple : http://www.khjk.org/log/2013/aug/jtagbang.html

    Ça vaut aussi pour le Rpi, s'il est juste "briqué" et pas physiquement grillé il devrait être sauvable ?
    Le Rpi j'en ai rachete un au final, puisque celui que j'avais ne faisait pour ainsi dire plus rien : seule la LED power s'allumait pendant une petite minute, le processeur se mettait a chauffer (fort) et... rien. Le tout finissait par s'arreter au bout d'un moment, sans doute un dispositif de securite. Je sais pas bien ce qui s'est passe et mes competences en electronique sont largement depassees.

    Je vais regarder ton lien en tout cas, merci !
    - Steve, do you copy ? - Like a floppy !

  9. #69
    Vous avez remarqué un comportement bizarre avec le Arduino et les écrans à cristaux liquides ?
    De temps en temps, sans que je sache pourquoi, mon écran s'efface ou m'affiche des trucs bizarres.
    Et obligé de mettre un delay + clear à la fin de la boucle sinon, ça bug (et à chaque upload, obligé de redémarrer).
    Dernière modification par deathdigger ; 28/11/2014 à 20h42.

  10. #70
    Et en éteignant et rallumant seulement l'écran ? Ca permettrait de savoir si c'est un problème d'Arduino ou d'écran ?

    Je passais surtout pour ca en fait : Game Boy Camera + Arduino + TI92 + Selfie. Le. Buzzomètre. Il a..... dépassé les neufs miiiillllllesss !!!!! (Et est resté coincé dans les 90's...)

  11. #71
    Ça existe des potentiomètres rectilignes "agréables" ?
    Je souhaite me faire un mini cockpit pour Elite Dangerous, en couplant des composants avec mon Arduino.
    Pour simuler la manette de gaz, j'hésite entre un potentiomètre classique, un à rotation infini, ou encore un rectiligne (à glissière).
    Le problème que je vois dans les rectilignes, c'est qu'ils n'ont pas l'air terrible au niveau de la prise en main, donc si c'est pour me bousiller les doigts à chaque fois que je touche aux gaz, c'est pas la peine...

  12. #72
    Tu veux une grosse manette de gaz ? Sinon, les potentiomètres rectilignes ont en général un arbre plat, sur lequel tu enfiches un bouton. L'exemple classique étant celle de la table de mixage, avec des boutons de ce genre :
    https://www.sparkfun.com/products/9120
    http://fr.farnell.com/multicomp/cp-l...2mm/dp/1440017

    Mais si tu veux mettre une grosse poignée, ca va être difficile.

  13. #73
    Non pas une grosse poignée
    Merci pour les liens.

  14. #74
    Salut à tous, j'ai acheter un pack arduino, j'ai un peu d’expérience mais j'aurai besoin de quelques tutos, ne sauriez vous pas ou je peut en trouver ? J'ai déjà trouvé le site mon club elec qui est pas mal.

  15. #75

  16. #76
    Oui, et ils sont fournis dans l'ide d'arduino

  17. #77
    ok, merci , apparemment c'est ce que je pensais, le meilleur moyen étant le site officiel.

  18. #78
    Bonjour à tous,

    J'ai depuis un petit bout de temps le projet de faire un clavier "analogique" pour les jeux.
    Je m'explique : chaque touche peut être pressée plus ou moins profondément, cette "pression" est une valeur analogique. "Pourquoi faire ?" me direz-vous. Pour avoir autant de contrôle qu'avec un joystick, ex. avancer à 60degré par rapport au regard : impossible à faire au clavier où il est possible d'avancer dans seulement 8 directions).

    En cherchant sur les Internets j'ai trouvé un type qui a eu la même idée (super !) : https://www.youtube.com/watch?v=gEwDImE0DU4

    Sauf que moi je veux utiliser mon Arduino Pro Mini ou mon Arduino Nano V3 (sachant que celui-là je n'arrive plus à téléverser dessus, mais ça doit être une histoire de driver à mon avis).

    Électriquement c'est ok, je ferais comme sur la vidéo en utilisant des hall effect sensors (je les ai pas encore commandé et je test avec un joystick de PSP pour l'instant).

    Au niveau de la Prog c'est là où je bloque. J'ai trouvé un super kit qui devrait faire exactement ce que je veux mais je n'arrive pas à le faire fonctionner sur mon Pro Mini (il est fait pour fonctionner sur un UNO) : https://code.google.com/p/unojoy/downloads/list

    Mais ! J'arrive quand même, avec leurs codes, à récupéré la valeur de mon joystick et à le faire bouger sur une manette virtuelle (en Processing) !

    L'objectif maintenant est de faire le driver HID.
    Alors là aussi j'ai trouvé un super truc qui devrait me simplifier la tache : v-usb (qui devrait me permettre de faire "facilement" un driver HID pour microcontroller). https://www.obdev.at/products/vusb/index.html
    Et ya meme un type qui a fait une version spéciale pour arduino ! https://www.obdev.at/products/vusb/index.html
    Mais pareil, impossible de le faire fonctionner sur un Pro Mini.

    Je crois qu'il faut que j'upload un bootloader spécial, là j'ai décroché. J'ai quand même trouvé un tuto : https://www.arduino.cc/en/Hacking/MiniBootloader.
    Et j'ai cru comprendre qu'il fallait mettre celui-là.
    https://nicohood.wordpress.com/2014/...duino-unomega/
    Mais c'est pas clair pour moi.

    J'ai trouvé d'autres tutos de projets similaires :
    http://www.instructables.com/id/Conv...uino/?ALLSTEPS
    http://www.instructables.com/id/Turn...vice/?ALLSTEPS
    http://www.imaginaryindustries.com/blog/?p=80
    http://www.instructables.com/id/Add-...rdui/?ALLSTEPS
    https://forums.obdev.at/viewtopic.php?t=6763

    J'ai un peu tout essayé mais je bloque.

    Donc si quelqu'un voit comment il faut procéder, je vous en prie aidez moi !!!

    Merci

  19. #79
    Hop, je poste ici au cas où...

    Dans le cadre de mes recherches archéologiques en paléoinformatique, je voudrais dumper le contenu d'une poignée de ROM Intel 4001. Bon, le protocole est simple, on envoie l'adresse et le chip select en 3 cycles successifs sur le bus 4 bits, et on reçoit la valeur les 2 cycles suivants, ça ça va.

    Seul petit détail, au niveau électrique c'est de la logique PMOS tout ce qu'il y a de plus banal... pour 1971. Extrait de la datasheet :


    Donc une tension d'entrée VDD à -15V, pour VSS à 0V. Le niveau logique 1 (bas) est entre -15V et -9,5V, le niveau 0 (haut) est autour de 0V.
    De ce que j'ai compris l'astuce pour interfacer ces bêtes-là avec du TTL 5V "moderne", c'est de décaler VSS à +5V et VDD à -10V, ce qui permet de manipuler des signaux entre 0V et +5V, à une inversion logique près. Je m'en fous de cramer un arduino ou deux pour la Science et pour l'Histoire, par contre ça m'emmerderait de briquer une pièce de musée.
    En plus même pas sûr que ça marche dans ce cas, parce qu'autant les ports d'I/O tolèrent jusqu'à VSS-4,2V (0,8V) comme niveau bas, autant pour le bus c'est pas censé dépasser VSS-5,5V (-0,5V), et pour sortir des tensions négatives des pins d'un microcontrôleur ça va être chaud.
    En plus il faut que je génère l'horloge aussi, et elle elle est full swing...

    tl;dr: vous avez des liens sur l'interfaçage PMOS/TTL ?

    Edit: ici ils ont utilisé un LTC1045 pour changer les tensions. Par contre dans mon cas je dois me connecter sur un bus bidirectionnel, faut voir comment ça peut se brancher pour permettre de communiquer dans les deux sens.
    Dernière modification par Møgluglu ; 28/07/2015 à 22h19.

  20. #80
    J'imagine que t'es déjà tombé là dessus aussi, ca peut aider. A vu de nez, vu que t'es parti pour être paranoïaque avec le sample à tester, j'imagine qu'il va falloir te trouver/concevoir un level shifter digne de ce nom. Mais peut être que le bricolage de décalage des ports I/O fonctionnera, c'est dur à dire. En tout cas t'as des problèmes pas commun, sur "PMOS/TTL arduino" google sort ton post . Sinon, le mec qui utilise le LTC1045 a cassé ses liens, mais des photos de son montage existent encore.

    Si tu veux faire un truc un peu propre, les pcb chez OSHpark c'est pas cher et faisable à l'unité . Désolé de pas pouvoir t'aider beaucoup plus, je suis un peu rouillé et les bus j'ai jamais aimé.

  21. #81
    Citation Envoyé par weedkiller Voir le message
    Oui mais 1) je veux pas construire un clone de 4004, j'en ai déjà un , et 2) je veux pas scalper mes ROM pour compter les 1 et les 0 à la loupe binoculaire.
    Mais oui, en gros c'est ça que je cherche à obtenir :
    http://www.4004.com/2009/Busicom-141..._rel-1-0-1.txt
    Je pourrais contacter les gars qui l'ont fait pour voir s'ils sont encore vivants et peuvent me filer leurs schémas. Mais c'est tellement plus drôle de refaire tout dans son coin.

    A vu de nez, vu que t'es parti pour être paranoïaque avec le sample à tester, j'imagine qu'il va falloir te trouver/concevoir un level shifter digne de ce nom. Mais peut être que le bricolage de décalage des ports I/O fonctionnera, c'est dur à dire. En tout cas t'as des problèmes pas commun, sur "PMOS/TTL arduino" google sort ton post . Sinon, le mec qui utilise le LTC1045 a cassé ses liens, mais des photos de son montage existent encore.
    Excellent, merci !
    En plus ça a l'air au niveau de mes compétences en montage électronique :


    Si tu veux faire un truc un peu propre, les pcb chez OSHpark c'est pas cher et faisable à l'unité . Désolé de pas pouvoir t'aider beaucoup plus, je suis un peu rouillé et les bus j'ai jamais aimé.
    Merci du tuyau. Mais pour de la logique en 15V à 750 kHz, je peux pas me démerder avec des breadboards et des fils qui dépassent dans tous les sens ?

    Par contre, j'ai l'impression qu'il va me falloir au moins 3 chips type LTC1045: un pour écrire sur le bus, un pour lire sur le bus, et un pour générer les horloges. Vu que je peux tri-stater les sorties pour alterner lecture/écriture sur le bus, mais ça s'applique à tous les canaux en même temps, donc plus d'horloge...

  22. #82
    Le lien vers 4004.com, c'était pour vérifier que ton objectif était bien d'obtenir quelque chose qui doit déjà se trouver sur internet. Visiblement c'est le chemin qui t'intéresse plus que l'arrivée.

    Pour du 15V à 750kHz, fait gaffe quand même à pas mettre de vias sur tes paires diff . En fait c'est un reflexe pavlovien depuis le tp de microprocesseur sur breadboard qui comptais pas droit selon la position de la main dans l'amas de fils.

    Tu peux aussi regarder ailleurs que chez linear. Pour des fonctions dans le genre, tu dois avoir ce qu'il faut chez analog (AGD3123 ?), ti, maxim ou onsemi.

  23. #83
    Citation Envoyé par weedkiller Voir le message
    Le lien vers 4004.com, c'était pour vérifier que ton objectif était bien d'obtenir quelque chose qui doit déjà se trouver sur internet. Visiblement c'est le chemin qui t'intéresse plus que l'arrivée.
    L'arrivée aussi, ma caltoche à moi elle est bien plus mieux que la 141-PF, elle a deux mémoires et elle affiche le résultat en temps réel sur des tubes VFD 7-segments dont l'encre ne sèche pas. Et elle a une version plus évoluée du firmware avec des bugs en moins. C'est d'autant plus intéressant qu'on peut comparer avec le code original.

    Pour du 15V à 750kHz, fait gaffe quand même à pas mettre de vias sur tes paires diff . En fait c'est un reflexe pavlovien depuis le tp de microprocesseur sur breadboard qui comptais pas droit selon la position de la main dans l'amas de fils.
    Oui, c'est vrai que j'ai intérêt à faire un truc propre tant qu'à faire. Par contre j'ai aussi une arme secrète qui est un FPGA. Mais je n'en suis pas encore à la réalisation.

    Tu peux aussi regarder ailleurs que chez linear. Pour des fonctions dans le genre, tu dois avoir ce qu'il faut chez analog (AGD3123 ?), ti, maxim ou onsemi.
    Merci. J'ai vu que des level shifter y'en a pleins ok, mais est-ce les meilleurs ?

    Entre temps j'ai vu qu'il y avait les classiques 4104, 40109, 4049/4050. Mais si j'ai bien compris ils permettent seulement de changer la tension du niveau logique haut, pas la tension de threshold. Et non, ils n'acceptent pas de tensions négatives en entrée. Si mon 3,3V est interprété comme un niveau bas, ça me fait une belle jambe que le niveau haut monte à 15V. Ou alors il faut les monter en cascade pour faire 3,3V->5V->10V->15V (ce qui a du sens pour de la logique CMOS vu le fan-out monstrueux du buffer sur lequel on tire du 15V, mais je veux pas me faire chier avec autant de composants discrets et de tensions d'alim différentes).
    À moins de mettre des résistances de pull-up un peu partout. Mais pas sûr que le bus apprécie.

    Le LTC1045 a l'avantage d'avoir un comparateur intégré que tu peux calibrer à ta propre tension de threshold. Mais oui, on doit trouver l'équivalent ailleurs.

    The ADG3231 series allows wide range 1.65 V to 3.6 V translation and the ADG3308 series allows the industry's widest 1.2 V to 5.5 V up or down translation while permitting bidirectional data transfer.
    Ouais, c'est pas gagné.
    Dernière modification par Møgluglu ; 29/07/2015 à 21h21.

  24. #84
    Je t'ai trouvé de la lecture, comme suggéré ailleurs, peut être que faire le changement de tension avec des transistors discrets ne serait pas une mauvaise idée.

    http://www.eetimes.com/document.asp?doc_id=1231111
    http://www.vintage-computer.com/vcfo...p/t-38331.html
    http://uvicrec.blogspot.fr/2011/09/u...ntel-4004.html
    http://www.cpu-world.com/forum/viewtopic.php?t=5615
    www.eobtronix.com/nibbler/nibbler1_manual.pdf

    pour le dernier, il arrive a faire ce que tu cherches avec pas grand chose on dirait. (Fun fact : mes pdf, s'ouvrent avec adobe reader, donc je perds le lien que google ne veut pas afficher. En copiant collant l'url verte, ca passe l'éditeur de post en italique et la balise italique est inefficace ).

  25. #85
    Citation Envoyé par weedkiller Voir le message
    Je t'ai trouvé de la lecture, comme suggéré ailleurs, peut être que faire le changement de tension avec des transistors discrets ne serait pas une mauvaise idée.

    http://www.eetimes.com/document.asp?doc_id=1231111
    http://www.vintage-computer.com/vcfo...p/t-38331.html
    http://uvicrec.blogspot.fr/2011/09/u...ntel-4004.html
    http://www.cpu-world.com/forum/viewtopic.php?t=5615
    www.eobtronix.com/nibbler/nibbler1_manual.pdf

    pour le dernier, il arrive a faire ce que tu cherches avec pas grand chose on dirait. (Fun fact : mes pdf, s'ouvrent avec adobe reader, donc je perds le lien que google ne veut pas afficher. En copiant collant l'url verte, ca passe l'éditeur de post en italique et la balise italique est inefficace ).
    Le "pas grand-chose" est quand-même un Intel 4289. Ça regroupe un 4008 et un 4009 dans la même puce, qu'on peut voir comme un northbridge et un southbridge pour 4004. Inutile de dire que c'est encore plus difficile à trouver qu'un 4004, ils en parlent dans ton deuxième lien. Bon et accessoirement ça fait pas du tout ce que je veux faire.

    Il y a quelqu'un dans le même topic qui explique bien le problème : la logique PMOS a un niveau haut propre, un niveau bas sale et une tension de seuil haute. Tout le contraire des standards TTL actuels.
    En fait, il y a deux problèmes distincts :
    1. l'interfaçage entre standard PMOS <-> TTL,
    2. le changement de tension 15V <-> 5V/3,3V.

    Pour le point 1, il suffit d'intercaler de la logique CMOS entre les deux, qui va nettoyer le signal. Pour le point 2, une fois qu'on est en CMOS, on peut utiliser les composants standards comme le 4050B et le 40109B qui sont faits pour ça.
    À l'aller, on fait LVTTL -> inverseur 4049 ou 4011 en 5V -> 40109B en 15V -> PMOS (je peux zapper l'inverseur 5V en poussant le 40109B un peu en dehors de ses specs.
    Au retour, PMOS -> inverseur en 15V -> 4050B en 3,3V -> LVTTL.

    Donc j'en suis pas au point de mettre des transistors discrets, mais ça reste des circuits que je peux comprendre (le 4050B, c'est 2 inverseurs CMOS avec des diodes de protection). Faut juste que je me fasse aux délais des portes logiques en ns plutôt qu'en ps. Et effectivement, il va falloir souder proprement, parce que j'ai pas beaucoup de marge dans les timings.

    (Les liens des PDF n'apparaissent pas dans ta liste de downloads?)

  26. #86
    Dans la continuité du topic des matheux, et en particulier de ce post : http://forum.canardpc.com/threads/37...=1#post9149589


    J'ai mis en place la somme glissante, pour me rendre compte que j'avais besoin de l'initialiser précisément pour que le résultat soit pas pourri par la valeur initiale trop loin des valeurs "normales".
    Pour l'instant, j'ai fait une boucle qui prend 10 mesures dans le setup() pour avoir une moyenne initiale, sur laquelle je vais appliquer la somme glissante.
    J'ai fait quelques tests, et en gros en utilisant la somme glissante je suis à ~230ms pour ma boucle principale, ~250ms avec ma méthode de décalage de cases de tableaux. Donc le gain est assez sensible avec l'algo de Mogluglu.

    Par contre ça me fait prendre conscience du fait que je n'ai que 4 mesures par secondes, je croyais que ça tournait plus vite (j'ai choppé un code, apparemment optimisé en qualité plus qu'en vitesse, sur le net, pour mon capteur ; les specs techniques du capteur annoncent 5ms par lecture de pression [qu'il faut ensuite convertir en altitude, ce qui se fait en une ligne avec une formule tordue qui ne vient pas de moi, et semble correcte]).

  27. #87
    Ah ouais, plus de 200ms pour lire un capteur, ça rame bien ton truc. C'est quoi les specs du capteur, il est connecté comment et il a quelle gueule le code ?

  28. #88
    Et puis moi je dis, confier sa vie à un arduino et une ligne de code copié sur le web pour faire du parachutisme, je le sens pas.

    Spoiler Alert!
    Ah, c'est déjà le cas pour chaque trajet avec une voiture moderne ?

  29. #89
    Citation Envoyé par Møgluglu Voir le message
    Ah ouais, plus de 200ms pour lire un capteur, ça rame bien ton truc. C'est quoi les specs du capteur, il est connecté comment et il a quelle gueule le code ?
    C'est un BMP180 (capteur de température et pression), très exactement ce modèle :

    J'ai pas accès aux specs techniques officielles depuis le taf (github)


    Il est branché tout connement, sur un Arduino Uno :



    Et le code provient d'un mec qui bosse sur des capteurs barométriques depuis des années pour faire un altimètre pour fusée. J'avais en fait déjà testé un autre modèle de capteur, en m'aidant déjà de code arduino de ce gars, mais le matos avait des contraintes de merde (le code officiel ne fonctionnait pas, personne n'avait trouvé de vraie solution sur le web, et les mesures devenaient imprécises à moins de 20°C, yeahh)
    Le code que j'utilise comme base est dans le post #56 ici : http://forum.arduino.cc/index.php?topic=255843.45

    Avec son code, j'obtiens un résultat qui me paraît très correct (température OK, 36m d'altitude calculés dans mon appart, sachant qu'internet me dit que ma rue est à 33m d'altitude et que j'habite au 4e, et que pour l'instant je n'étalonne pas avec la pression de référence indiquée par la météo).
    De toute façon l'idée est de

    Par contre, la formule pour passer de la pression en mbar à l'altitude en mètres est hardcore :
    Code:
    float alt = (pow(1013.25 / P, 0.190223f) - 1.0f) * 44330.08f;
    Ah et dernière info, contrairement à ce que je disais dans les posts précédents, ce n'est pas sur plusieurs altitudes que je fais la moyenne, mais sur plusieurs pressions lues (variable float P). J'ai gardé l'altitude dans la discussion parce que l'idée de moyenne restait la même.

    Je n'ai pas vu de différence significative de deltaT entre 2 boucles, en modifiant la valeur d'oss au début du code. Ni de précision meilleure ou pire dans le résultat final d'ailleurs.

    - - - Mise à jour - - -

    Citation Envoyé par weedkiller Voir le message
    Et puis moi je dis, confier sa vie à un arduino et une ligne de code copié sur le web pour faire du parachutisme, je le sens pas.
    Si un jour je saute avec, j'aurais au moins un altimètre visuel, un autre sonore, plus le système d'ouverture automatique du parachute de secours en backup.

  30. #90
    Citation Envoyé par LaVaBo Voir le message
    Par contre, la formule pour passer de la pression en mbar à l'altitude en mètres est hardcore :
    Code:
    float alt = (pow(1013.25 / P, 0.190223f) - 1.0f) * 44330.08f;
    C'est écrit de façon dégueulasse et ça mélange du float et du double, mais perso je trouve ça plutôt plus lisible que la conversion de la valeur brute du capteur en millibar, après chacun ses goûts :
    Code:
     b6 = b5 - 4000;
     x1 = (b2 * (b6 * b6 >> 12)) >> 11;
     x2 = ac2 * b6 >> 11;
     x3 = x1 + x2;
     b3 = (((ac1 * 4 + x3) << oss) + 2) >> 2;
     x1 = ac3 * b6 >> 13;
     x2 = (b1 * (b6 * b6 >> 12)) >> 16;
     x3 = ((x1 + x2) + 2) >> 2;
     b4 = (ac4 * (uint32_t)(x3 + 32768)) >> 15;
     b7 = ((uint32_t)UP - b3) * (50000 >> oss);
     if(b7 < 0x80000000) { p = (b7 << 1) / b4; } else { p = (b7 / b4) << 1; } // or p = b7 < 0x80000000 ? (b7 * 2) / b4 : (b7 / b4) * 2;
     x1 = (p >> 8) * (p >> 8);
     x1 = (x1 * 3038) >> 16;
     x2 = (-7357 * p) >> 16;
     return (p + ((x1 + x2 + 3791) >> 4)) / 100.0f; // Return pressure in mbar
    Mais oui, utiliser de la virgule flottante sur un microcontrôleur, c'est une mauvaise idée. Si je trouve le temps je vais voir si je peux réécrire la formule du haut vers un truc qui ressemble à la formule du bas.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •