Ah, c'est une fonction maison.
Ok, déjà premier problème: la fonction prend que des float et tu passes des entiers pour les trois premiers paramètres; essaie ça mapf((float) Capteur_BP, 102.0, 1023.0, 0.0, 9.8)
Ensuite je te conseille de remplacer ça return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; par ça return (((x - in_min) * ((out_max - out_min) / (in_max - in_min))) + out_min); juste histoire d'être sûr que le compilo fasse pas des optis à la con qui changent la précédence (surtout que les float ne sont pas natifs sur l'arduino donc leur comportement est à prendre avec des pincettes).
Dis moi si ces deux modifs résolvent le pb. Sinon donne-moi des exemples de valeur d'entrée et ce que tu obtiens en retour histoire que je comprenne ce qui ne va pas si y'a toujours le pb.
Ah ok, mais pourquoi tu veux extrapoler la pression à partir de la temp si t'as déjà des capteurs de pression ?
Et théoriquement PV = nRT donc la relation est linéaire, pourquoi est-ce que ce n'est pas le cas ici ?
Ok, déjà premier problème: la fonction prend que des float et tu passes des entiers pour les trois premiers paramètres; essaie ça mapf((float) Capteur_BP, 102.0, 1023.0, 0.0, 9.8)
Ensuite je te conseille de remplacer ça return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; par ça return (((x - in_min) * ((out_max - out_min) / (in_max - in_min))) + out_min); juste histoire d'être sûr que le compilo fasse pas des optis à la con qui changent la précédence (surtout que les float ne sont pas natifs sur l'arduino donc leur comportement est à prendre avec des pincettes).
Dis moi si ces deux modifs résolvent le pb. Sinon donne-moi des exemples de valeur d'entrée et ce que tu obtiens en retour histoire que je comprenne ce qui ne va pas si y'a toujours le pb.
Ah ok, mais pourquoi tu veux extrapoler la pression à partir de la temp si t'as déjà des capteurs de pression ?
Et théoriquement PV = nRT donc la relation est linéaire, pourquoi est-ce que ce n'est pas le cas ici ?