[Programmation] Faire un map(), en langage .c (MPLABX)
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Faire un map(), en langage .c (MPLABX)



  1. #1
    invite6374ce44

    Faire un map(), en langage .c (MPLABX)


    ------

    Bonjour à tous!

    Aujourd'hui, j'aurais encore une question de programmation à vous poser ... (je suis toujours aussi peu compétent en .c ..)

    Ce que je voudrais faire, comme dit dans l'intitulé, c'est faire comme la commande map() de Arduino.

    C'est-à-dire, changer l'échelle, par exemple, au lieu d'aller de 0 à 1023, on ira de 0 à 5.. (je ne sais pas du tout si je suis clair)

    Mon cas d'utilisation : En fait, j'utilise un capteur de courant, avec un shunt, et le 0 est centré sur 2,5V, du coup ce que je veux, c'est faire en sorte qu'au lieu d'aller de 0 à 1023, je veux faire -512 jusqu'à 0 puis 0 jusqu'à 512.

    donc en gros transformer : [0---------512--------1023] en [-512----------0--------512]


    Je pense être vraiment très flou dans mes explications mais j'ai du mal à exposer le problème ..

    Si quelqu'un me comprend et/ou a des pistes, je suis preneur.

    Vous en remerciant d'avance, bien à vous, Tom.

    -----

  2. #2
    invitee05a3fcc

    Re : Faire un map(), en langage .c (MPLABX)

    Tu retranches 512 à la valeur lu sur l'ADC ! programme de CM2 .....

  3. #3
    invited14ca340

    Re : Faire un map(), en langage .c (MPLABX)

    Bonjour,
    Il faut aborder le problème du point de vue mathématique avant de vouloir le coder!
    Ce que tu veux faire, est simple, il suffit de prendre ta valeur 0 à 1023 et d'enlever son offset 1/2, soit 512. De plus en signé la plage est de -512 à +511
    Entrée = 0, sortie = 0-512 = -512
    Entrée = 512, sortie = 512-512 = 0
    Entrée = 1023, sortie = 1023-512 = 511

    Pour avoir des échelons, par exemple 5, il faut diviser ton résultat par 1023/5=204, soit sortie = entrée/204
    Entrée = [0 - 203], sortie = 0
    Entrée = [204 - 407], sortie = 1
    etc.

  4. #4
    invite6374ce44

    Re : Faire un map(), en langage .c (MPLABX)

    Oh mon dieu je me sens terriblement bête ...
    Je travaille sur le projet depuis maintenant 1 mois et demi, je me prends tellement la tête pour des petites choses que je ne vois même pas les solutions aussi simple comme celle la ...
    Je devrais retourner en CM2 effectivement ahah

    Mais bon c'est toujours bien d'avoir un oeil nouveau sur le chose, je vous remercie en tout cas !

  5. A voir en vidéo sur Futura

Discussions similaires

  1. que faire après une licence de sciences du langage??
    Par invite36411da6 dans le forum Orientation après le BAC
    Réponses: 2
    Dernier message: 14/03/2013, 16h27
  2. [Langage C ] j'arrive pas à faire un truc....
    Par invite4e469e29 dans le forum Programmation et langages, Algorithmique
    Réponses: 21
    Dernier message: 01/01/2012, 15h40
  3. Peut ton faire un virus avec le langage C?
    Par invite9f95f6e7 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 10
    Dernier message: 29/12/2011, 10h05
  4. comment faire pour MPLAB+LANGAGE C ?
    Par invite403d8201 dans le forum Électronique
    Réponses: 7
    Dernier message: 12/10/2011, 23h46
  5. faire un auto iris en langage c
    Par inviteb1dc4efc dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/02/2008, 17h43
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...